diff options
Diffstat (limited to 'tests/objects/signals-fundamental-return.vala')
-rw-r--r-- | tests/objects/signals-fundamental-return.vala | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/objects/signals-fundamental-return.vala b/tests/objects/signals-fundamental-return.vala new file mode 100644 index 000000000..d73ed03fb --- /dev/null +++ b/tests/objects/signals-fundamental-return.vala @@ -0,0 +1,28 @@ +class Maman { +} + +interface IBar : Maman { +} + +class Bar : Maman, IBar { +} + +class Foo { + public signal Foo on_foo (); + public signal IBar on_bar (); +} + +void main () { + var foo = new Foo (); + foo.on_foo.connect (() => { + return new Foo (); + }); + foo.on_bar.connect (() => { + return new Bar (); + }); + + var bar = foo.on_foo (); + assert (bar is Foo); + var bar2 = foo.on_bar (); + assert (bar2 is IBar); +} |