New testcases
authorNicola Pero <nicola@gcc.gnu.org>
Fri, 4 Jun 2004 01:23:12 +0000 (01:23 +0000)
committerNicola Pero <nicola@gcc.gnu.org>
Fri, 4 Jun 2004 01:23:12 +0000 (01:23 +0000)
From-SVN: r82620

gcc/testsuite/objc/execute/protocol-isEqual-1.m [new file with mode: 0644]
gcc/testsuite/objc/execute/protocol-isEqual-2.m [new file with mode: 0644]
gcc/testsuite/objc/execute/protocol-isEqual-3.m [new file with mode: 0644]
gcc/testsuite/objc/execute/protocol-isEqual-4.m [new file with mode: 0644]

diff --git a/gcc/testsuite/objc/execute/protocol-isEqual-1.m b/gcc/testsuite/objc/execute/protocol-isEqual-1.m
new file mode 100644 (file)
index 0000000..df1382d
--- /dev/null
@@ -0,0 +1,20 @@
+/* Contributed by Nicola Pero - Fri Jun  4 03:16:17 BST 2004 */
+/* Test that a protocol is equal to itself.  */
+#include <objc/Protocol.h>
+
+@protocol Foo
+- (void)foo;
+@end
+
+int main (void)
+{
+  Protocol *protocol = @protocol(Foo);
+
+  if (! [protocol isEqual: protocol])
+    {
+      abort ();
+    }
+  
+  return 0;
+}
+
diff --git a/gcc/testsuite/objc/execute/protocol-isEqual-2.m b/gcc/testsuite/objc/execute/protocol-isEqual-2.m
new file mode 100644 (file)
index 0000000..035ab3b
--- /dev/null
@@ -0,0 +1,22 @@
+/* Contributed by Nicola Pero - Fri Jun  4 03:16:17 BST 2004 */
+/* Test that protocols with different names are different.  */
+#include <objc/Protocol.h>
+
+@protocol Foo1
+- (void)foo1;
+@end
+
+@protocol Foo2
+- (void)foo2;
+@end
+
+int main (void)
+{
+  if ([@protocol(Foo1) isEqual: @protocol(Foo2)])
+    {
+      abort ();
+    }
+  
+  return 0;
+}
+
diff --git a/gcc/testsuite/objc/execute/protocol-isEqual-3.m b/gcc/testsuite/objc/execute/protocol-isEqual-3.m
new file mode 100644 (file)
index 0000000..2827448
--- /dev/null
@@ -0,0 +1,18 @@
+/* Contributed by Nicola Pero - Fri Jun  4 03:16:17 BST 2004 */
+/* Test that a protocol is not equal to nil.  */
+#include <objc/Protocol.h>
+
+@protocol Foo
+- (void)foo;
+@end
+
+int main (void)
+{
+  if ([@protocol(Foo) isEqual: nil])
+    {
+      abort ();
+    }
+  
+  return 0;
+}
+
diff --git a/gcc/testsuite/objc/execute/protocol-isEqual-4.m b/gcc/testsuite/objc/execute/protocol-isEqual-4.m
new file mode 100644 (file)
index 0000000..58ec108
--- /dev/null
@@ -0,0 +1,19 @@
+/* Contributed by David Ayers - Fri Jun  4 03:16:17 BST 2004 */
+/* Test that a protocol is not equal to something which is not a protocol.  */
+#include <objc/Protocol.h>
+
+@protocol Foo
+- (void)foo;
+@end
+
+int main (void)
+{
+  /* A Protocol object should not be equal to a Class object.  */
+  if ([@protocol(Foo) isEqual: [Protocol class]])
+    {
+      abort ();
+    }
+  
+  return 0;
+}
+