]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
tests: Add more "array field initializer" tests to increase coverage
authorRico Tzschichholz <ricotz@ubuntu.com>
Fri, 1 Jan 2021 16:56:16 +0000 (17:56 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sun, 3 Jan 2021 12:34:52 +0000 (13:34 +0100)
tests/Makefile.am
tests/arrays/class-field-initializer.vala [new file with mode: 0644]

index d6b1bfea5182c22cd0667947dadc960b7057056d..3cdf9d2567970699a79ca2615fc1bf20787b4309 100644 (file)
@@ -74,6 +74,7 @@ TESTS = \
        constants/strings.vala \
        namespace/unique.vala \
        arrays/cast-silent-invalid.test \
+       arrays/class-field-initializer.vala \
        arrays/class-field-length-cname.vala \
        arrays/constant-element-access.vala \
        arrays/empty-length-0.vala \
diff --git a/tests/arrays/class-field-initializer.vala b/tests/arrays/class-field-initializer.vala
new file mode 100644 (file)
index 0000000..30595f4
--- /dev/null
@@ -0,0 +1,36 @@
+[CCode (array_length = false, array_null_terminated = true)]
+string[] manam;
+
+class Foo {
+       public string[] f = manam;
+       public string[] i = { "baz", "foo", "bar" };
+       public static string[] sf = manam;
+       public static string[] si = { "baz", "foo", "bar" };
+}
+
+[CCode (array_length = false)]
+string[] minim;
+
+class Bar {
+       public string[] f = minim;
+       public static string[] sf = minim;
+}
+
+void main () {
+       {
+               manam = { "manam", "foo", "bar" };
+               assert (manam.length == 3);
+               var foo = new Foo ();
+               assert (foo.f.length == 3);
+               assert (Foo.sf.length == 3);
+               assert (foo.i.length == 3);
+               assert (Foo.si.length == 3);
+       }
+       {
+               minim = { "minim", "foo", "bar" };
+               assert (minim.length == -1);
+               var bar = new Bar ();
+               assert (bar.f.length == -1);
+               assert (Bar.sf.length == -1);
+       }
+}