]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
tests: Add enum/errordomain tests for GIR parser to increase coverage
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 15 Nov 2018 09:23:55 +0000 (10:23 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 15 Nov 2018 09:25:03 +0000 (10:25 +0100)
tests/Makefile.am
tests/gir/enum.test [new file with mode: 0644]
tests/gir/errordomain.test [new file with mode: 0644]

index 2ceb6cb1fee7bca33ed74a657f4b38f9510c8b7c..2044a7a0a8305f56bf626954c48d890e34e90a47 100644 (file)
@@ -421,6 +421,8 @@ TESTS = \
        gir/class.test \
        gir/delegate-alias-without-target.test \
        gir/delegate-closure-destroy-index-conflict.test \
+       gir/enum.test \
+       gir/errordomain.test \
        gir/parameter-nullable-out-simple-type.test \
        gir/property-non-readable.test \
        annotations/deprecated.vala \
diff --git a/tests/gir/enum.test b/tests/gir/enum.test
new file mode 100644 (file)
index 0000000..251981a
--- /dev/null
@@ -0,0 +1,81 @@
+GIR
+
+Input:
+
+<enumeration name="Test"
+             c:type="Test">
+  <member name="bar"
+          value="0"
+          c:identifier="TEST_BAR">
+  </member>
+  <member name="foo"
+          value="1"
+          c:identifier="TEST_FOO">
+  </member>
+</enumeration>
+<enumeration name="TestWithType"
+             glib:type-name="TestWithType"
+             glib:get-type="test_with_type_get_type"
+             c:type="TestWithType">
+  <member name="bar"
+          value="0"
+          c:identifier="TEST_WITH_TYPE_BAR"
+          glib:nick="bar">
+  </member>
+  <member name="foo"
+          value="1"
+          c:identifier="TEST_WITH_TYPE_FOO"
+          glib:nick="foo">
+  </member>
+</enumeration>
+<bitfield name="TestFlag"
+             c:type="TestFlag">
+  <member name="bar"
+          value="0"
+          c:identifier="TEST_FLAG_BAR">
+  </member>
+  <member name="foo"
+          value="1"
+          c:identifier="TEST_FLAG_FOO">
+  </member>
+</bitfield>
+<bitfield name="TestFlagWithType"
+             glib:type-name="TestFlagWithType"
+             glib:get-type="test_flag_with_type_get_type"
+             c:type="TestFlagWithType">
+  <member name="bar"
+          value="0"
+          c:identifier="TEST_FLAG_WITH_TYPE_BAR"
+          glib:nick="bar">
+  </member>
+  <member name="foo"
+          value="1"
+          c:identifier="TEST_FLAG_WITH_TYPE_FOO"
+          glib:nick="foo">
+  </member>
+</bitfield>
+
+Output:
+
+[CCode (cheader_filename = "test.h", cname = "Test", cprefix = "TEST_", has_type_id = false)]
+public enum Test {
+       BAR,
+       FOO
+}
+[CCode (cheader_filename = "test.h", cname = "TestFlag", cprefix = "TEST_FLAG_", has_type_id = false)]
+[Flags]
+public enum TestFlag {
+       BAR,
+       FOO
+}
+[CCode (cheader_filename = "test.h", cname = "TestFlagWithType", cprefix = "TEST_FLAG_WITH_TYPE_", type_id = "test_flag_with_type_get_type ()")]
+[Flags]
+public enum TestFlagWithType {
+       BAR,
+       FOO
+}
+[CCode (cheader_filename = "test.h", cname = "TestWithType", cprefix = "TEST_WITH_TYPE_", type_id = "test_with_type_get_type ()")]
+public enum TestWithType {
+       BAR,
+       FOO
+}
diff --git a/tests/gir/errordomain.test b/tests/gir/errordomain.test
new file mode 100644 (file)
index 0000000..4ff318c
--- /dev/null
@@ -0,0 +1,45 @@
+GIR
+
+Input:
+
+<enumeration name="TestError"
+             c:type="TestError"
+             glib:error-domain="test-error-quark">
+  <member name="bar"
+          value="0"
+          c:identifier="TEST_ERROR_BAR">
+  </member>
+  <member name="foo"
+          value="1"
+          c:identifier="TEST_ERROR_FOO">
+  </member>
+</enumeration>
+<enumeration name="TestErrorWithType"
+             glib:type-name="TestErrorWithType"
+             glib:get-type="test_error_with_type_get_type"
+             c:type="TestErrorWithType"
+             glib:error-domain="test-error-with-type-quark">
+  <member name="bar"
+          value="0"
+          c:identifier="TEST_ERROR_WITH_TYPE_BAR"
+          glib:nick="bar">
+  </member>
+  <member name="foo"
+          value="1"
+          c:identifier="TEST_ERROR_WITH_TYPE_FOO"
+          glib:nick="foo">
+  </member>
+</enumeration>
+
+Output:
+
+[CCode (cheader_filename = "test.h", cname = "TestError", cprefix = "TEST_ERROR_")]
+public errordomain TestError {
+       BAR,
+       FOO
+}
+[CCode (cheader_filename = "test.h", cname = "TestErrorWithType", cprefix = "TEST_ERROR_WITH_TYPE_")]
+public errordomain TestErrorWithType {
+       BAR,
+       FOO
+}