summaryrefslogtreecommitdiff
path: root/tests/objects/property-notify.vala
blob: d2e02b27d05bebaaf2dd7e0266f38cfcbf4eb81e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class Foo : Object {
	[CCode (notify = false)]
	public string foo { get; set; }

	public string bar { get; set; }

	public string manam { get; set; }
}

void fail () {
	assert_not_reached ();
}

int counter;
void count () {
	counter++;
}

void main () {
	var foo = new Foo ();

	foo.notify["foo"].connect (fail);
	//FIXME Requires --target-glib=2.42 for G_PARAM_EXPLICIT_NOTIFY to be actually added
	//foo.set_property ("foo", "foo");
	foo.foo = "foo";

	counter = 0;
	foo.notify["bar"].connect (count);
	foo.bar = "bar";
	assert (counter == 1);

	counter = 0;
	foo.notify["manam"].connect (count);
	foo.set_property ("manam", "manam");
	assert (counter == 1);
}