diff options
Diffstat (limited to 'tests/objects/bug626038-2.vala')
-rw-r--r-- | tests/objects/bug626038-2.vala | 32 |
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); +} |