]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
tests: Add "enum typed property" tests to increase coverage
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 6 Aug 2020 20:29:35 +0000 (22:29 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 6 Aug 2020 20:37:59 +0000 (22:37 +0200)
tests/Makefile.am
tests/objects/property-enum.vala [new file with mode: 0644]

index 8c857cb817934cb9eaf5deccb69c755b6392aa58..b28a2a45f5fec45bf66082927f50bf33650b29e7 100644 (file)
@@ -417,6 +417,7 @@ TESTS = \
        objects/property-array.vala \
        objects/property-array-length.vala \
        objects/property-base-access.vala \
+       objects/property-enum.vala \
        objects/property-notify.vala \
        objects/property-ownership.vala \
        objects/property-read-only-auto.vala \
diff --git a/tests/objects/property-enum.vala b/tests/objects/property-enum.vala
new file mode 100644 (file)
index 0000000..df7aeab
--- /dev/null
@@ -0,0 +1,62 @@
+public enum FooEnum {
+       VALUE1,
+       VALUE2;
+}
+
+[Flags]
+public enum FooFlag {
+       VALUE1,
+       VALUE2;
+}
+
+[CCode (has_type_id = false)]
+public enum BarEnum {
+       VALUE1,
+       VALUE2;
+}
+
+[Flags]
+[CCode (has_type_id = false)]
+public enum BarFlag {
+       VALUE1,
+       VALUE2;
+}
+
+public class Manam {
+       public FooEnum prop1 { get; set; }
+       public FooFlag prop2 { get; set; }
+       public BarEnum prop3 { get; set; }
+       public BarFlag prop4 { get; set; }
+}
+
+public class Minim : Object {
+       public FooEnum prop1 { get; set; }
+       public FooFlag prop2 { get; set; }
+       public BarEnum prop3 { get; set; }
+       public BarFlag prop4 { get; set; }
+}
+
+void main () {
+       {
+               var manam = new Manam ();
+               manam.prop1 = FooEnum.VALUE2;
+               assert (manam.prop1 == FooEnum.VALUE2);
+               manam.prop2 = FooFlag.VALUE2;
+               assert (manam.prop2 == FooFlag.VALUE2);
+               manam.prop3 = BarEnum.VALUE2;
+               assert (manam.prop3 == BarEnum.VALUE2);
+               manam.prop4 = BarFlag.VALUE2;
+               assert (manam.prop4 == BarFlag.VALUE2);
+       }
+       {
+               var minim = new Minim ();
+               minim.prop1 = FooEnum.VALUE2;
+               assert (minim.prop1 == FooEnum.VALUE2);
+               minim.prop2 = FooFlag.VALUE2;
+               assert (minim.prop2 == FooFlag.VALUE2);
+               minim.prop3 = BarEnum.VALUE2;
+               assert (minim.prop3 == BarEnum.VALUE2);
+               minim.prop4 = BarFlag.VALUE2;
+               assert (minim.prop4 == BarFlag.VALUE2);
+       }
+}