summaryrefslogtreecommitdiff
path: root/tests/objects/bug751338.vala
blob: a766cca957f3a26ac637dfa2f0f61f34112b3434 (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
37
public class Foo : Object {
	public string[]? strings {
		get { return this._strings; }
		set { this._strings = value; }
	}

	private string[]? _strings;
}

void main() {
	string[]? strings;
	var f = new Foo();

	f.set("strings", new string[]{ "foo", "bar" });
	f.get("strings", out strings);
	assert (strings[0] == "foo");
	assert (strings[1] == "bar");

	// LeakSanitizer -fsanitize=address
	if (strings.length == -1) {
		strings.length = (int) strv_length (strings);
	}

	f.set("strings", null);
	f.get("strings", out strings);
	assert(strings == null);

	f.set("strings", new string[]{ "foo", "bar" });
	f.get("strings", out strings);
	assert (strings[0] == "foo");
	assert (strings[1] == "bar");

	// LeakSanitizer -fsanitize=address
	if (strings.length == -1) {
		strings.length = (int) strv_length (strings);
	}
}