summaryrefslogtreecommitdiff
path: root/tests/objects/signals-dynamic-emit.vala
blob: 8605bc5d33338c91733973c595a95adf411ebabb (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
class Foo : Object {
	public signal void sig (string s, int i);

	public signal bool sig2 (string s, int i);
}

void sig_cb (Object o, string s, int i) {
	success = true;
	assert (s == "foo");
	assert (i == 42);
}

bool sig2_cb (Object o, string s, int i) {
	success = true;
	assert (s == "foo");
	assert (i == 42);
	return true;
}

bool success = false;

void main () {
	dynamic Object dfoo = new Foo ();
	dfoo.sig.connect (sig_cb);

	success = false;
	dfoo.sig.emit ("foo", 42);
	assert (success);

	dfoo.sig2.connect (sig2_cb);

	success = false;
	assert (dfoo.sig2.emit ("foo", 42));
	assert (success);
}