Release 0.41.92
[vala-gnome.git] / tests / objects / bug758816.vala
blob733d004e1e6f9c0928854cb7d830f83dd83b3d64
1 enum Bar {
2 FAIL,
3 FOO,
4 BAR,
5 BAZ
8 public struct Manam {
9 public int i;
10 public int j;
13 class Foo : Object {
14 public signal Bar? bar ();
15 public signal Bar? bar2 (Bar? bar);
17 public signal Manam? manam ();
18 public signal Manam? manam2 (Manam? manam);
20 public void emit_bar () {
21 assert (bar () == Bar.FOO);
24 public void emit_bar2 () {
25 assert (bar2 (Bar.BAZ) == Bar.BAZ);
28 public void emit_manam () {
29 Manam? m = {23, 42};
30 assert (manam () == m);
33 public void emit_manam2 () {
34 Manam? m = {23, 42};
35 assert (manam2 ({23, 42}) == m);
39 Bar? callback_bar () {
40 return Bar.FOO;
43 Bar? callback_bar2 (Bar? bar) {
44 assert (bar == Bar.BAZ);
45 return bar;
48 Manam? callback_manam () {
49 return {23, 42};
52 Manam? callback_manam2 (Manam? manam) {
53 Manam? m = {23, 42};
54 assert (manam == m);
55 return manam;
58 void main () {
59 var foo = new Foo ();
61 foo.bar.connect (callback_bar);
62 foo.emit_bar ();
63 foo.bar2.connect (callback_bar2);
64 foo.emit_bar2 ();
66 foo.manam.connect (callback_manam);
67 foo.emit_manam ();
68 foo.manam2.connect (callback_manam2);
69 foo.emit_manam2 ();