Add new test
authorMiguel de Icaza <miguel@gnome.org>
Mon, 11 Mar 2002 17:28:36 +0000 (17:28 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Mon, 11 Mar 2002 17:28:36 +0000 (17:28 -0000)
svn path=/trunk/mcs/; revision=3056

mcs/tests/makefile
mcs/tests/test-83.cs [new file with mode: 0755]

index 4a15170d0e251b778179834b28b2057b75f8a6d3..1a45997a108abea47a2ef8e25f950b7d81e5fdec 100755 (executable)
@@ -12,7 +12,7 @@ TEST_SOURCES = \
        test-51 test-52 test-53 test-54 test-55 test-56 test-57         test-59         \
        test-61 test-62 test-63 test-64 test-65 test-66 test-67 test-68 test-69 test-70 \
        test-71 test-72 test-73 test-74 test-75         test-77 test-78 test-79 test-80 \
-       test-81 test-82
+       test-81 test-82 test-83
 
 UNSAFE_SOURCES = \
        unsafe-1 unsafe-2
diff --git a/mcs/tests/test-83.cs b/mcs/tests/test-83.cs
new file mode 100755 (executable)
index 0000000..cf9629a
--- /dev/null
@@ -0,0 +1,44 @@
+//
+// This test probes that we treat events differently than fields
+// This used to cause a compiler crash.
+//
+using System;
+
+delegate void PersonArrivedHandler (object source, PersonArrivedArgs args);
+
+class PersonArrivedArgs /*: EventArgs*/ {
+    public string name;
+    public PersonArrivedArgs (string name) {
+       this.name = name;
+    }
+}
+
+class Greeter {
+    string greeting;
+
+    public Greeter (string greeting) {
+       this.greeting = greeting;
+    }
+
+    public void HandlePersonArrived (object source, PersonArrivedArgs args) {
+       Console.WriteLine(greeting, args.name);
+    }
+}
+
+class Room {
+    public event PersonArrivedHandler PersonArrived;
+
+    public Room () {}
+
+    public void AddPerson (string name) {
+       PersonArrived(this, null); //(this, PersonArrivedArgs(name));
+    }
+}
+
+class DelegateTest {
+    static int Main () {
+       return 0;
+    }
+}
+
+