From 17fb2dc9a9ab8fc294bb6bbe102dec98b0af451b Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Thu, 6 Aug 2020 22:29:35 +0200 Subject: [PATCH] tests: Add "enum typed property" tests to increase coverage --- tests/Makefile.am | 1 + tests/objects/property-enum.vala | 62 ++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 tests/objects/property-enum.vala diff --git a/tests/Makefile.am b/tests/Makefile.am index 970bbe133..fac3963cd 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -357,6 +357,7 @@ TESTS = \ objects/properties.vala \ objects/property-array-length.vala \ objects/property-base-access.vala \ + objects/property-enum.vala \ objects/property-ownership.vala \ objects/property-read-only-auto.vala \ objects/property-read-only-write.test \ diff --git a/tests/objects/property-enum.vala b/tests/objects/property-enum.vala new file mode 100644 index 000000000..df7aeabe6 --- /dev/null +++ b/tests/objects/property-enum.vala @@ -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); + } +} -- 2.47.2