summaryrefslogtreecommitdiff
path: root/tests/objects/bug626038-2.vala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/objects/bug626038-2.vala')
-rw-r--r--tests/objects/bug626038-2.vala32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/objects/bug626038-2.vala b/tests/objects/bug626038-2.vala
new file mode 100644
index 000000000..2a2422846
--- /dev/null
+++ b/tests/objects/bug626038-2.vala
@@ -0,0 +1,32 @@
+class Bar<K,V> {
+ public K k;
+ public V v;
+ public Bar (K k, V v) {
+ this.k = k;
+ this.v = v;
+ }
+}
+
+class Foo<G> {
+ public signal void bar (Bar<int,G> item);
+
+ public void fire (Bar<int,G> item) {
+ bar (item);
+ }
+}
+
+bool fired;
+
+void on_bar (Bar<int,string> item) {
+ assert (item.k == 42);
+ assert (item.v == "bar");
+ fired = true;
+}
+
+void main () {
+ Foo<string> foo = new Foo<string> ();
+ foo.bar.connect (on_bar);
+ var bar = new Bar<int,string> (42, "bar");
+ foo.fire (bar);
+ assert (fired);
+}