17 // default ParamSpec implementations
18 public bool bool_prop
{ get; set; }
19 public bool bool_prop2
{ get; set; default = true; }
20 public char char_prop
{ get; set; }
21 public char char_prop2
{ get; set; default = 'c'; }
22 public double double_prop
{ get; set; }
23 public double double_prop2
{ get; set; default = 3.1415; }
24 public FooEnum enum_prop
{ get; set; }
25 public FooEnum enum_prop2
{ get; set; default = FooEnum
.BAR
; }
26 public FooFlag flag_prop
{ get; set; }
27 public FooFlag flag_prop2
{ get; set; default = FooFlag
.BAR
; }
28 public float float_prop
{ get; set; }
29 public float float_prop2
{ get; set; default = 47.11f
; }
30 public int int_prop
{ get; set; }
31 public int int_prop2
{ get; set; default = int.MIN
; }
32 public int64 int64_prop
{ get; set; }
33 public int64 int64_prop2
{ get; set; default = int64.MIN
; }
34 public long long_prop
{ get; set; }
35 public long long_prop2
{ get; set; default = long.MAX
; }
36 public Object object_prop
{ get; set; }
37 public ParamSpec param_prop
{ get; set; }
38 public void* pointer_prop
{ get; set; }
39 public string string_prop
{ get; set; }
40 public string string_prop2
{ get; set; default = "foo"; }
41 public uchar uchar_prop
{ get; set; }
42 public uchar uchar_prop2
{ get; set; default = 'u'; }
43 public uint uint_prop
{ get; set; }
44 public uint uint_prop2
{ get; set; default = uint.MAX
; }
45 public uint64 uint64_prop
{ get; set; }
46 public uint64 uint64_prop2
{ get; set; default = uint64.MAX
; }
47 public ulong ulong_prop
{ get; set; }
48 public ulong ulong_prop2
{ get; set; default = ulong.MAX
; }
49 public unichar unichar_prop
{ get; set; }
50 public Type gtype_prop
{ get; set; }
51 public Type gtype_prop2
{ get; set; default = typeof (string); }
52 //Deprecated public ValueArray value_array_prop { get; set; }
53 public Variant variant_prop
{ get; set; }
54 public Variant variant_prop2
{ get; set; default = new
Variant ("as"); }
56 public FooStruct struct_prop
{ get; set; }
57 public FooStruct struct_prop2
{ get; set; default = FooStruct () { i
= 4711 }; }
58 public string[] strv_prop
{ get; set; }
59 public string[] strv_prop2
{ get; set; default = { "foo", "bar" }; }
64 unowned ObjectClass foo_class
= foo
.get_class ();
66 assert (foo_class
.find_property ("bool-prop") is ParamSpecBoolean
);
67 assert (foo
.bool_prop2
== true);
68 assert (foo_class
.find_property ("char-prop") is ParamSpecChar
);
69 assert (foo
.char_prop2
== 'c');
70 assert (foo_class
.find_property ("double-prop") is ParamSpecDouble
);
71 assert (foo
.double_prop2
== 3.1415);
72 assert (foo_class
.find_property ("enum-prop") is ParamSpecEnum
);
73 assert (foo
.enum_prop2
== FooEnum
.BAR
);
74 assert (foo_class
.find_property ("flag-prop") is ParamSpecFlags
);
75 assert (foo
.flag_prop2
== FooFlag
.BAR
);
76 assert (foo_class
.find_property ("float-prop") is ParamSpecFloat
);
77 assert (foo
.float_prop2
== 47.11f
);
78 assert (foo_class
.find_property ("int-prop") is ParamSpecInt
);
79 assert (foo
.int_prop2
== int.MIN
);
80 assert (foo_class
.find_property ("int64-prop") is ParamSpecInt64
);
81 assert (foo
.int64_prop2
== int64.MIN
);
82 assert (foo_class
.find_property ("long-prop") is ParamSpecLong
);
83 assert (foo
.long_prop2
== long.MAX
);
84 assert (foo_class
.find_property ("object-prop") is ParamSpecObject
);
85 assert (foo_class
.find_property ("param-prop") is ParamSpecParam
);
86 assert (foo_class
.find_property ("pointer-prop") is ParamSpecPointer
);
87 assert (foo_class
.find_property ("string-prop") is ParamSpecString
);
88 assert (foo
.string_prop2
== "foo");
89 assert (foo_class
.find_property ("uchar-prop") is ParamSpecUChar
);
90 assert (foo
.uchar_prop2
== 'u');
91 assert (foo_class
.find_property ("uint-prop") is ParamSpecUInt
);
92 assert (foo
.uint_prop2
== uint.MAX
);
93 assert (foo_class
.find_property ("uint64-prop") is ParamSpecUInt64
);
94 assert (foo
.uint64_prop2
== uint64.MAX
);
95 assert (foo_class
.find_property ("ulong-prop") is ParamSpecULong
);
96 assert (foo
.ulong_prop2
== ulong.MAX
);
97 //FIXME? assert (foo_class.find_property ("unichar-prop") is ParamSpecUnichar);
98 assert (foo_class
.find_property ("unichar-prop") is ParamSpecUInt
);
99 assert (foo_class
.find_property ("gtype-prop") is ParamSpecGType
);
100 assert (foo
.gtype_prop2
== typeof (string));
101 //Deprecated assert (foo_class.find_property ("value-array-prop") is ParamSpecValueArray);
102 assert (foo_class
.find_property ("variant-prop") is ParamSpecVariant
);
103 assert (foo
.variant_prop2
.is_of_type (VariantType
.STRING_ARRAY
));
105 assert (foo_class
.find_property ("struct-prop") is ParamSpecBoxed
);
106 assert (foo
.struct_prop2
.i
== 4711);
107 assert (foo_class
.find_property ("strv-prop") is ParamSpecBoxed
);
108 assert (foo
.strv_prop2
[1] == "bar");