Release 0.41.92
[vala-gnome.git] / tests / objects / bug766739.vala
blob55e97465613df3d4e6a40ecea623fd633ff58da7
1 struct FooStruct {
2 public int bar;
5 class FooClass {
6 public int bar = 42;
10 class Bar {
11 public int f_simple;
12 public string f_string;
13 public string[] f_array;
14 public FooStruct f_struct;
15 public FooClass f_class;
17 public unowned string fu_string;
18 public unowned string[] fu_array;
19 public unowned FooStruct? fu_struct;
20 public unowned FooClass fu_class;
22 public int p_simple { get; set; }
23 public string p_string { get; set; }
24 public string[] p_array { get; set; }
25 public FooStruct p_struct { get; set; }
26 public FooClass p_class { get; set; }
30 void main () {
31 FooStruct fs = { 42 };
32 var fc = new FooClass ();
33 string s = "foo";
34 string[] a = { "foo", "bar" };
36 var bar = new Bar () {
37 f_simple = 42,
38 f_string = s,
39 f_array = a,
40 f_struct = fs,
41 f_class = fc,
43 fu_string = s,
44 fu_array = a,
45 fu_struct = fs,
46 fu_class = fc,
48 p_simple = 42,
49 p_string = s,
50 p_array = a,
51 p_struct = fs,
52 p_class = fc
55 assert (bar.f_simple == 42);
56 assert (bar.f_string == "foo");
57 assert (bar.f_array[1] == "bar");
58 assert (bar.f_struct.bar == 42);
59 assert (bar.f_class == fc);
61 assert (bar.fu_string == "foo");
62 assert (bar.fu_array[1] == "bar");
63 assert (bar.fu_struct == fs);
64 assert (bar.fu_class == fc);
66 assert (bar.p_simple == 42);
67 assert (bar.p_string == "foo");
68 assert (bar.p_array[1] == "bar");
69 assert (bar.p_struct.bar == 42);
70 assert (bar.p_class == fc);
72 bar = null;
74 assert (fs.bar == 42);
75 assert (fc.bar == 42);
76 assert (s == "foo");
77 assert (a[1] == "bar");