summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2022-05-25 16:48:51 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2022-09-12 08:29:48 +0200
commit841ac8c8c963e6fe0e74f82b7880a7049704bf14 (patch)
treea075bc51b70bb0a5ebdfbb3bf53392f58403bc65 /tests
parent975abd54d649f6061e5b1e6eb8022c2e43b23a9f (diff)
downloadvala-841ac8c8c963e6fe0e74f82b7880a7049704bf14.tar.gz
tests: Split up gir parser tests into dedicated files
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am72
-rw-r--r--tests/gir/alias.gir13
-rw-r--r--tests/gir/alias.test14
-rw-r--r--tests/gir/alias.vapi-expected7
-rw-r--r--tests/gir/array-fixed-length.gir (renamed from tests/gir/array-fixed-length.test)25
-rw-r--r--tests/gir/array-fixed-length.vapi-expected11
-rw-r--r--tests/gir/async-creation-method.gir (renamed from tests/gir/async-creation-method.test)22
-rw-r--r--tests/gir/async-creation-method.vapi-expected8
-rw-r--r--tests/gir/async-result-pos.gir (renamed from tests/gir/async-result-pos.test)24
-rw-r--r--tests/gir/async-result-pos.vapi-expected10
-rw-r--r--tests/gir/async-sync-out.gir (renamed from tests/gir/async-sync-out.test)23
-rw-r--r--tests/gir/async-sync-out.vapi-expected9
-rw-r--r--tests/gir/bug651773.gir25
-rw-r--r--tests/gir/bug651773.test24
-rw-r--r--tests/gir/bug651773.vapi-expected5
-rw-r--r--tests/gir/bug667751.gir (renamed from tests/gir/bug667751.test)21
-rw-r--r--tests/gir/bug667751.vapi-expected7
-rw-r--r--tests/gir/bug742012.gir (renamed from tests/gir/bug742012.test)31
-rw-r--r--tests/gir/bug742012.vapi-expected17
-rw-r--r--tests/gir/bug788775.gir (renamed from tests/gir/bug788775.test)19
-rw-r--r--tests/gir/bug788775.vapi-expected5
-rw-r--r--tests/gir/bug792998.gir (renamed from tests/gir/bug792998.test)30
-rw-r--r--tests/gir/bug792998.vapi-expected16
-rw-r--r--tests/gir/class-final.gir (renamed from tests/gir/class-final.test)27
-rw-r--r--tests/gir/class-final.vapi-expected13
-rw-r--r--tests/gir/class.gir (renamed from tests/gir/class.test)42
-rw-r--r--tests/gir/class.vapi-expected28
-rw-r--r--tests/gir/constant.gir21
-rw-r--r--tests/gir/constant.test22
-rw-r--r--tests/gir/constant.vapi-expected7
-rw-r--r--tests/gir/delegate-alias-without-target.gir19
-rw-r--r--tests/gir/delegate-alias-without-target.test20
-rw-r--r--tests/gir/delegate-alias-without-target.vapi-expected7
-rw-r--r--tests/gir/delegate-anonymous.gir (renamed from tests/gir/delegate-anonymous.test)23
-rw-r--r--tests/gir/delegate-anonymous.vapi-expected9
-rw-r--r--tests/gir/delegate-array-length-type.gir (renamed from tests/gir/delegate-array-length-type.test)19
-rw-r--r--tests/gir/delegate-array-length-type.vapi-expected5
-rw-r--r--tests/gir/delegate-closure-destroy-index-conflict.gir (renamed from tests/gir/delegate-closure-destroy-index-conflict.test)26
-rw-r--r--tests/gir/delegate-closure-destroy-index-conflict.vapi-expected12
-rw-r--r--tests/gir/delegate-error-pos.gir (renamed from tests/gir/delegate-error-pos.test)19
-rw-r--r--tests/gir/delegate-error-pos.vapi-expected5
-rw-r--r--tests/gir/enum.gir (renamed from tests/gir/enum.test)39
-rw-r--r--tests/gir/enum.vapi-expected25
-rw-r--r--tests/gir/errordomain.gir (renamed from tests/gir/errordomain.test)27
-rw-r--r--tests/gir/errordomain.vapi-expected13
-rw-r--r--tests/gir/gtype-struct-name.gir (renamed from tests/gir/gtype-struct-name.test)25
-rw-r--r--tests/gir/gtype-struct-name.vapi-expected11
-rw-r--r--tests/gir/instance-parameter-owned.gir (renamed from tests/gir/instance-parameter-owned.test)27
-rw-r--r--tests/gir/instance-parameter-owned.vapi-expected13
-rw-r--r--tests/gir/method-array-length-type.gir22
-rw-r--r--tests/gir/method-array-length-type.test21
-rw-r--r--tests/gir/method-array-length-type.vapi-expected5
-rw-r--r--tests/gir/method-class.gir (renamed from tests/gir/method-class.test)24
-rw-r--r--tests/gir/method-class.vapi-expected10
-rw-r--r--tests/gir/method-nowrapper.gir (renamed from tests/gir/method-nowrapper.test)24
-rw-r--r--tests/gir/method-nowrapper.vapi-expected10
-rw-r--r--tests/gir/parameter-array-length-type.gir25
-rw-r--r--tests/gir/parameter-array-length-type.test24
-rw-r--r--tests/gir/parameter-array-length-type.vapi-expected5
-rw-r--r--tests/gir/parameter-nullable-out-simple-type.gir20
-rw-r--r--tests/gir/parameter-nullable-out-simple-type.test19
-rw-r--r--tests/gir/parameter-nullable-out-simple-type.vapi-expected5
-rw-r--r--tests/gir/property-non-readable.gir16
-rw-r--r--tests/gir/property-non-readable.test20
-rw-r--r--tests/gir/property-non-readable.vapi-expected10
-rw-r--r--tests/gir/signal-virtual.gir (renamed from tests/gir/signal-virtual.test)23
-rw-r--r--tests/gir/signal-virtual.vapi-expected9
-rw-r--r--tests/gir/symbol-redefined.gir25
-rw-r--r--tests/gir/symbol-redefined.test27
-rw-r--r--tests/gir/symbol-redefined.vapi-expected8
-rw-r--r--tests/gir/symbol-type-csuffix.gir (renamed from tests/gir/symbol-type-csuffix.test)24
-rw-r--r--tests/gir/symbol-type-csuffix.vapi-expected10
-rw-r--r--tests/gir/symbol-without-name.gir20
-rw-r--r--tests/gir/symbol-without-name.test19
-rw-r--r--tests/gir/symbol-without-name.vapi-expected5
-rw-r--r--tests/gir/union-transparent.gir27
-rw-r--r--tests/gir/union-transparent.test30
-rw-r--r--tests/gir/union-transparent.vapi-expected9
-rw-r--r--tests/gir/union.gir18
-rw-r--r--tests/gir/union.test20
-rw-r--r--tests/gir/union.vapi-expected8
81 files changed, 845 insertions, 639 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 147c66676..f549040d8 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -18,11 +18,12 @@ BUILT_SOURCES = \
noinst_PROGRAMS = \
$(NULL)
-TEST_EXTENSIONS = .vala .gs .test
+TEST_EXTENSIONS = .vala .gs .gir .test
TEST_RUNNER = $(abs_top_srcdir)/build-aux/testrunner.sh
VALA_LOG_COMPILER = $(TEST_RUNNER)
GS_LOG_COMPILER = $(TEST_RUNNER)
+GIR_LOG_COMPILER = $(TEST_RUNNER)
TEST_LOG_COMPILER = $(TEST_RUNNER)
AM_TESTS_ENVIRONMENT = \
@@ -829,40 +830,40 @@ TESTS = \
dbus/bug792277.vala \
dbus/rawvariants.test \
dbus/interface-info.test \
- gir/bug651773.test \
- gir/bug667751.test \
- gir/bug742012.test \
- gir/bug788775.test \
- gir/bug792998.test \
- gir/alias.test \
- gir/array-fixed-length.test \
- gir/async-creation-method.test \
- gir/async-result-pos.test \
- gir/async-sync-out.test \
- gir/class.test \
- gir/class-final.test \
- gir/constant.test \
- gir/delegate-alias-without-target.test \
- gir/delegate-anonymous.test \
- gir/delegate-array-length-type.test \
- gir/delegate-closure-destroy-index-conflict.test \
- gir/delegate-error-pos.test \
- gir/enum.test \
- gir/errordomain.test \
- gir/gtype-struct-name.test \
- gir/instance-parameter-owned.test \
- gir/method-array-length-type.test \
- gir/method-class.test \
- gir/method-nowrapper.test \
- gir/parameter-array-length-type.test \
- gir/parameter-nullable-out-simple-type.test \
- gir/property-non-readable.test \
- gir/signal-virtual.test \
- gir/symbol-redefined.test \
- gir/symbol-type-csuffix.test \
- gir/symbol-without-name.test \
- gir/union.test \
- gir/union-transparent.test \
+ gir/bug651773.gir \
+ gir/bug667751.gir \
+ gir/bug742012.gir \
+ gir/bug788775.gir \
+ gir/bug792998.gir \
+ gir/alias.gir \
+ gir/array-fixed-length.gir \
+ gir/async-creation-method.gir \
+ gir/async-result-pos.gir \
+ gir/async-sync-out.gir \
+ gir/class.gir \
+ gir/class-final.gir \
+ gir/constant.gir \
+ gir/delegate-alias-without-target.gir \
+ gir/delegate-anonymous.gir \
+ gir/delegate-array-length-type.gir \
+ gir/delegate-closure-destroy-index-conflict.gir \
+ gir/delegate-error-pos.gir \
+ gir/enum.gir \
+ gir/errordomain.gir \
+ gir/gtype-struct-name.gir \
+ gir/instance-parameter-owned.gir \
+ gir/method-array-length-type.gir \
+ gir/method-class.gir \
+ gir/method-nowrapper.gir \
+ gir/parameter-array-length-type.gir \
+ gir/parameter-nullable-out-simple-type.gir \
+ gir/property-non-readable.gir \
+ gir/signal-virtual.gir \
+ gir/symbol-redefined.gir \
+ gir/symbol-type-csuffix.gir \
+ gir/symbol-without-name.gir \
+ gir/union.gir \
+ gir/union-transparent.gir \
girwriter/class-final.test \
girwriter/combined.test \
gtktemplate/gtkcallback-incompatible.test \
@@ -1448,4 +1449,5 @@ EXTRA_DIST = \
$(TESTS) \
$(LINUX_TESTS) \
$(wildcard $(srcdir)/*/*.c-expected) \
+ $(wildcard $(srcdir)/*/*.vapi-expected) \
$(NULL)
diff --git a/tests/gir/alias.gir b/tests/gir/alias.gir
new file mode 100644
index 000000000..619fa3aec
--- /dev/null
+++ b/tests/gir/alias.gir
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<alias name="Foo" c:type="TestFoo">
+ <type name="gint" c:type="int"/>
+</alias>
+</namespace>
+</repository>
diff --git a/tests/gir/alias.test b/tests/gir/alias.test
deleted file mode 100644
index 132d32af2..000000000
--- a/tests/gir/alias.test
+++ /dev/null
@@ -1,14 +0,0 @@
-GIR
-
-Input:
-
-<alias name="Foo" c:type="TestFoo">
- <type name="gint" c:type="int"/>
-</alias>
-
-Output:
-
-[CCode (cheader_filename = "test.h")]
-[SimpleType]
-public struct Foo : int {
-}
diff --git a/tests/gir/alias.vapi-expected b/tests/gir/alias.vapi-expected
new file mode 100644
index 000000000..40cb13988
--- /dev/null
+++ b/tests/gir/alias.vapi-expected
@@ -0,0 +1,7 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h")]
+ [SimpleType]
+ public struct Foo : int {
+ }
+}
diff --git a/tests/gir/array-fixed-length.test b/tests/gir/array-fixed-length.gir
index d4ea0175d..157f46cdb 100644
--- a/tests/gir/array-fixed-length.test
+++ b/tests/gir/array-fixed-length.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<function name="get_array_return" c:identifier="test_get_array_return">
<return-value transfer-ownership="none">
<array zero-terminated="0" c:type="gpointer*" fixed-size="16">
@@ -55,14 +59,5 @@ Input:
</parameter>
</parameters>
</function>
-
-Output:
-
-[CCode (cheader_filename = "test.h")]
-public static void change_array ([CCode (array_length = false)] ref uint8 array[2]);
-[CCode (cheader_filename = "test.h")]
-public static void get_array_out ([CCode (array_length = false)] out uint8 array[8]);
-[CCode (array_length = false, array_length_cexpr = "16", cheader_filename = "test.h")]
-public static unowned uint8[] get_array_return ();
-[CCode (cheader_filename = "test.h")]
-public static void set_array ([CCode (array_length = false)] uint8 array[4]);
+</namespace>
+</repository>
diff --git a/tests/gir/array-fixed-length.vapi-expected b/tests/gir/array-fixed-length.vapi-expected
new file mode 100644
index 000000000..19f0b5723
--- /dev/null
+++ b/tests/gir/array-fixed-length.vapi-expected
@@ -0,0 +1,11 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h")]
+ public static void change_array ([CCode (array_length = false)] ref uint8 array[2]);
+ [CCode (cheader_filename = "test.h")]
+ public static void get_array_out ([CCode (array_length = false)] out uint8 array[8]);
+ [CCode (array_length = false, array_length_cexpr = "16", cheader_filename = "test.h")]
+ public static unowned uint8[] get_array_return ();
+ [CCode (cheader_filename = "test.h")]
+ public static void set_array ([CCode (array_length = false)] uint8 array[4]);
+}
diff --git a/tests/gir/async-creation-method.test b/tests/gir/async-creation-method.gir
index fccafb0b8..86096bdc2 100644
--- a/tests/gir/async-creation-method.test
+++ b/tests/gir/async-creation-method.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo"
c:symbol-prefix="foo"
c:type="TestFoo"
@@ -60,11 +64,5 @@ Input:
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object {
- [CCode (cname = "test_foo_new_async", has_construct_function = false)]
- public async Foo (GLib.Cancellable? cancellable) throws GLib.Error;
-}
+</namespace>
+</repository>
diff --git a/tests/gir/async-creation-method.vapi-expected b/tests/gir/async-creation-method.vapi-expected
new file mode 100644
index 000000000..32edcb498
--- /dev/null
+++ b/tests/gir/async-creation-method.vapi-expected
@@ -0,0 +1,8 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object {
+ [CCode (cname = "test_foo_new_async", has_construct_function = false)]
+ public async Foo (GLib.Cancellable? cancellable) throws GLib.Error;
+ }
+}
diff --git a/tests/gir/async-result-pos.test b/tests/gir/async-result-pos.gir
index 2a17f53dc..9e0a8d903 100644
--- a/tests/gir/async-result-pos.test
+++ b/tests/gir/async-result-pos.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo" c:type="TestFoo" glib:type-name="TestFoo" glib:get-type="test_foo_get_type" glib:type-struct="FooClass" parent="GObject.Object">
<method name="method_async" c:identifier="test_foo_method_async">
<return-value transfer-ownership="none">
@@ -44,13 +48,5 @@ Input:
</return-value>
</constructor>
</class>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- public Foo ();
- [CCode (async_result_pos = 2.1)]
- public async void method_async (string input, out string output) throws GLib.Error;
-}
+</namespace>
+</repository>
diff --git a/tests/gir/async-result-pos.vapi-expected b/tests/gir/async-result-pos.vapi-expected
new file mode 100644
index 000000000..f0757a9c8
--- /dev/null
+++ b/tests/gir/async-result-pos.vapi-expected
@@ -0,0 +1,10 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Foo ();
+ [CCode (async_result_pos = 2.1)]
+ public async void method_async (string input, out string output) throws GLib.Error;
+ }
+}
diff --git a/tests/gir/async-sync-out.test b/tests/gir/async-sync-out.gir
index 48956f61d..886081e67 100644
--- a/tests/gir/async-sync-out.test
+++ b/tests/gir/async-sync-out.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo" c:type="TestFoo" glib:type-name="TestFoo" glib:get-type="test_foo_get_type" glib:type-struct="FooClass" parent="GObject.Object">
<method name="method_async" c:identifier="test_foo_method_async">
<return-value transfer-ownership="none">
@@ -47,12 +51,5 @@ Input:
</return-value>
</constructor>
</class>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- public Foo ();
- public async void method_async (string input, string* sync_output, out string output) throws GLib.Error;
-}
+</namespace>
+</repository>
diff --git a/tests/gir/async-sync-out.vapi-expected b/tests/gir/async-sync-out.vapi-expected
new file mode 100644
index 000000000..086271360
--- /dev/null
+++ b/tests/gir/async-sync-out.vapi-expected
@@ -0,0 +1,9 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Foo ();
+ public async void method_async (string input, string* sync_output, out string output) throws GLib.Error;
+ }
+}
diff --git a/tests/gir/bug651773.gir b/tests/gir/bug651773.gir
new file mode 100644
index 000000000..42760371e
--- /dev/null
+++ b/tests/gir/bug651773.gir
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<function name="get_array" c:identifier="test_get_array">
+ <return-value transfer-ownership="none">
+ <array length="0" c:type="guchar*">
+ <type name="guint8" c:type="guchar"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="full">
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+</function>
+</namespace>
+</repository>
diff --git a/tests/gir/bug651773.test b/tests/gir/bug651773.test
deleted file mode 100644
index 7f499de5b..000000000
--- a/tests/gir/bug651773.test
+++ /dev/null
@@ -1,24 +0,0 @@
-GIR
-
-Input:
-
-<function name="get_array" c:identifier="test_get_array">
- <return-value transfer-ownership="none">
- <array length="0" c:type="guchar*">
- <type name="guint8" c:type="guchar"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="len"
- direction="out"
- caller-allocates="1"
- transfer-ownership="full">
- <type name="gsize" c:type="gsize*"/>
- </parameter>
- </parameters>
-</function>
-
-Output:
-
-[CCode (array_length_pos = 0.1, array_length_type = "gsize", cheader_filename = "test.h")]
-public static unowned uint8[] get_array ();
diff --git a/tests/gir/bug651773.vapi-expected b/tests/gir/bug651773.vapi-expected
new file mode 100644
index 000000000..fe3848052
--- /dev/null
+++ b/tests/gir/bug651773.vapi-expected
@@ -0,0 +1,5 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (array_length_pos = 0.1, array_length_type = "gsize", cheader_filename = "test.h")]
+ public static unowned uint8[] get_array ();
+}
diff --git a/tests/gir/bug667751.test b/tests/gir/bug667751.gir
index dfba91609..e610ec1e9 100644
--- a/tests/gir/bug667751.test
+++ b/tests/gir/bug667751.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<alias name="RemoteConnectionCommitFunc"
c:type="NMRemoteConnectionCommitFunc">
<type name="RemoteConnectionResultFunc"
@@ -24,10 +28,5 @@ Input:
</parameter>
</parameters>
</callback>
-
-Output:
-
-[CCode (cheader_filename = "test.h", cname = "NMRemoteConnectionResultFunc", instance_pos = 1.9)]
-public delegate void RemoteConnectionCommitFunc (GLib.Error error);
-[CCode (cheader_filename = "test.h", cname = "NMRemoteConnectionResultFunc", instance_pos = 1.9)]
-public delegate void RemoteConnectionResultFunc (GLib.Error error);
+</namespace>
+</repository>
diff --git a/tests/gir/bug667751.vapi-expected b/tests/gir/bug667751.vapi-expected
new file mode 100644
index 000000000..f9dcdaaa3
--- /dev/null
+++ b/tests/gir/bug667751.vapi-expected
@@ -0,0 +1,7 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", cname = "NMRemoteConnectionResultFunc", instance_pos = 1.9)]
+ public delegate void RemoteConnectionCommitFunc (GLib.Error error);
+ [CCode (cheader_filename = "test.h", cname = "NMRemoteConnectionResultFunc", instance_pos = 1.9)]
+ public delegate void RemoteConnectionResultFunc (GLib.Error error);
+}
diff --git a/tests/gir/bug742012.test b/tests/gir/bug742012.gir
index 5ce77a6b3..221bcbfcf 100644
--- a/tests/gir/bug742012.test
+++ b/tests/gir/bug742012.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="CertificateRenderer"
c:symbol-prefix="certificate_renderer"
c:type="GcrCertificateRenderer"
@@ -76,20 +80,5 @@ Input:
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", cname = "GcrCertificateRenderer", type_id = "gcr_certificate_renderer_get_type ()")]
-public class CertificateRenderer : GLib.Object, Test.Renderer {
- [CCode (has_construct_function = false)]
- protected CertificateRenderer ();
-}
-[CCode (cheader_filename = "test.h", cname = "GcrRenderer", type_id = "gcr_renderer_get_type ()")]
-public interface Renderer : GLib.Object {
- [CCode (cname = "gcr_renderer_get_attributes")]
- public unowned GLib.List get_attributes ();
- [CCode (cname = "gcr_renderer_set_attributes")]
- public void set_attributes (GLib.List? attrs);
- [NoAccessorMethod]
- public abstract GLib.List attributes { owned get; set; }
-}
+</namespace>
+</repository>
diff --git a/tests/gir/bug742012.vapi-expected b/tests/gir/bug742012.vapi-expected
new file mode 100644
index 000000000..a5a61d2af
--- /dev/null
+++ b/tests/gir/bug742012.vapi-expected
@@ -0,0 +1,17 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", cname = "GcrCertificateRenderer", type_id = "gcr_certificate_renderer_get_type ()")]
+ public class CertificateRenderer : GLib.Object, Test.Renderer {
+ [CCode (has_construct_function = false)]
+ protected CertificateRenderer ();
+ }
+ [CCode (cheader_filename = "test.h", cname = "GcrRenderer", type_id = "gcr_renderer_get_type ()")]
+ public interface Renderer : GLib.Object {
+ [CCode (cname = "gcr_renderer_get_attributes")]
+ public unowned GLib.List get_attributes ();
+ [CCode (cname = "gcr_renderer_set_attributes")]
+ public void set_attributes (GLib.List? attrs);
+ [NoAccessorMethod]
+ public abstract GLib.List attributes { owned get; set; }
+ }
+}
diff --git a/tests/gir/bug788775.test b/tests/gir/bug788775.gir
index 80ae7cd21..0665e47e8 100644
--- a/tests/gir/bug788775.test
+++ b/tests/gir/bug788775.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<function name="get_string_list" c:identifier="test_get_string_list">
<return-value transfer-ownership="full">
<array length="1" zero-terminated="1" c:type="gchar**">
@@ -22,8 +26,5 @@ Input:
</parameter>
</parameters>
</function>
-
-Output:
-
-[CCode (array_length = true, array_length_pos = 1.1, array_length_type = "gsize", array_null_terminated = true, cheader_filename = "test.h")]
-public static string[] get_string_list (string key);
+</namespace>
+</repository>
diff --git a/tests/gir/bug788775.vapi-expected b/tests/gir/bug788775.vapi-expected
new file mode 100644
index 000000000..aaeaa90df
--- /dev/null
+++ b/tests/gir/bug788775.vapi-expected
@@ -0,0 +1,5 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (array_length = true, array_length_pos = 1.1, array_length_type = "gsize", array_null_terminated = true, cheader_filename = "test.h")]
+ public static string[] get_string_list (string key);
+}
diff --git a/tests/gir/bug792998.test b/tests/gir/bug792998.gir
index ca4b18ac1..7babd77d2 100644
--- a/tests/gir/bug792998.test
+++ b/tests/gir/bug792998.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo" c:type="TestFoo" glib:type-name="TestFoo" glib:get-type="test_foo_get_type" glib:type-struct="FooClass" parent="GObject.Object">
<method name="get_prop1" c:identifier="test_foo_get_prop1" throws="1">
<return-value transfer-ownership="full">
@@ -41,19 +45,5 @@ Input:
</method>
</class>
<record name="FooClass" c:type="TestFooClass" glib:is-gtype-struct-for="Foo"/>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- protected Foo ();
- public int get_prop1 () throws GLib.Error;
- public int get_prop2 ();
- public void set_prop1 (int value);
- public bool set_prop2 (int i) throws GLib.Error;
- [NoAccessorMethod]
- public int prop1 { get; set; }
- [NoAccessorMethod]
- public int prop2 { get; set; }
-}
+</namespace>
+</repository>
diff --git a/tests/gir/bug792998.vapi-expected b/tests/gir/bug792998.vapi-expected
new file mode 100644
index 000000000..cbad85122
--- /dev/null
+++ b/tests/gir/bug792998.vapi-expected
@@ -0,0 +1,16 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Foo ();
+ public int get_prop1 () throws GLib.Error;
+ public int get_prop2 ();
+ public void set_prop1 (int value);
+ public bool set_prop2 (int i) throws GLib.Error;
+ [NoAccessorMethod]
+ public int prop1 { get; set; }
+ [NoAccessorMethod]
+ public int prop2 { get; set; }
+ }
+}
diff --git a/tests/gir/class-final.test b/tests/gir/class-final.gir
index 51449f3f0..fab7490d3 100644
--- a/tests/gir/class-final.test
+++ b/tests/gir/class-final.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo" c:type="TestFoo" glib:type-name="TestFoo" glib:get-type="test_foo_get_type" glib:type-struct="FooClass" parent="GObject.Object">
</class>
<record name="FooClass" c:type="TestFooClass" glib:is-gtype-struct-for="Foo">
@@ -12,16 +16,5 @@ Input:
<record name="BarClass" c:type="TestBarClass" glib:is-gtype-struct-for="Bar">
</record>
<record name="BarPrivate" c:type="TestBarPrivate" disguised="1"/>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_bar_get_type ()")]
-public sealed class Bar : Test.Foo {
- [CCode (has_construct_function = false)]
- protected Bar ();
-}
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- protected Foo ();
-}
+</namespace>
+</repository>
diff --git a/tests/gir/class-final.vapi-expected b/tests/gir/class-final.vapi-expected
new file mode 100644
index 000000000..4279e1fba
--- /dev/null
+++ b/tests/gir/class-final.vapi-expected
@@ -0,0 +1,13 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_bar_get_type ()")]
+ public sealed class Bar : Test.Foo {
+ [CCode (has_construct_function = false)]
+ protected Bar ();
+ }
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Foo ();
+ }
+}
diff --git a/tests/gir/class.test b/tests/gir/class.gir
index cf265569d..8ee9fc010 100644
--- a/tests/gir/class.test
+++ b/tests/gir/class.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<alias name="Bar" c:type="TestBar">
<type name="Foo" c:type="TestFoo"/>
</alias>
@@ -130,31 +134,5 @@ Input:
</callback>
</field>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Bar : Test.Foo {
- [CCode (has_construct_function = false)]
- protected Bar ();
-}
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object, Test.IFoo {
- [CCode (has_construct_function = false)]
- public Foo ();
- [CCode (cname = "test_foo_new_bar", has_construct_function = false)]
- public Foo.bar ();
- public string get_prop ();
- public async void method_async (string input, out string output) throws GLib.Error;
- public virtual void method_virtual () throws GLib.Error;
- public void set_prop (string value);
- public string prop { owned get; set construct; }
- public signal void sig (string arg);
-}
-[CCode (cheader_filename = "test.h")]
-public interface IBar : Test.IFoo, GLib.Object {
-}
-[CCode (cheader_filename = "test.h", type_id = "test_ifoo_get_type ()")]
-public interface IFoo : GLib.Object {
- public abstract void method () throws GLib.Error;
-}
+</namespace>
+</repository>
diff --git a/tests/gir/class.vapi-expected b/tests/gir/class.vapi-expected
new file mode 100644
index 000000000..fcf6f18dc
--- /dev/null
+++ b/tests/gir/class.vapi-expected
@@ -0,0 +1,28 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Bar : Test.Foo {
+ [CCode (has_construct_function = false)]
+ protected Bar ();
+ }
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object, Test.IFoo {
+ [CCode (has_construct_function = false)]
+ public Foo ();
+ [CCode (cname = "test_foo_new_bar", has_construct_function = false)]
+ public Foo.bar ();
+ public string get_prop ();
+ public async void method_async (string input, out string output) throws GLib.Error;
+ public virtual void method_virtual () throws GLib.Error;
+ public void set_prop (string value);
+ public string prop { owned get; set construct; }
+ public signal void sig (string arg);
+ }
+ [CCode (cheader_filename = "test.h")]
+ public interface IBar : Test.IFoo, GLib.Object {
+ }
+ [CCode (cheader_filename = "test.h", type_id = "test_ifoo_get_type ()")]
+ public interface IFoo : GLib.Object {
+ public abstract void method () throws GLib.Error;
+ }
+}
diff --git a/tests/gir/constant.gir b/tests/gir/constant.gir
new file mode 100644
index 000000000..5e5755a03
--- /dev/null
+++ b/tests/gir/constant.gir
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<constant name="FOO_CONSTANT"
+ value="foo-constant-string-value"
+ c:type="TEST_FOO_CONSTANT">
+ <type name="utf8" c:type="gchar*"/>
+</constant>
+<constant name="FOO_CONSTANT_ARRAY"
+ c:type="TEST_FOO_CONSTANT_ARRAY">
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="const gchar*"/>
+ </array>
+</constant>
+</namespace>
+</repository>
diff --git a/tests/gir/constant.test b/tests/gir/constant.test
deleted file mode 100644
index 196ae7577..000000000
--- a/tests/gir/constant.test
+++ /dev/null
@@ -1,22 +0,0 @@
-GIR
-
-Input:
-
-<constant name="FOO_CONSTANT"
- value="foo-constant-string-value"
- c:type="TEST_FOO_CONSTANT">
- <type name="utf8" c:type="gchar*"/>
-</constant>
-<constant name="FOO_CONSTANT_ARRAY"
- c:type="TEST_FOO_CONSTANT_ARRAY">
- <array c:type="const gchar**">
- <type name="utf8" c:type="const gchar*"/>
- </array>
-</constant>
-
-Output:
-
-[CCode (cheader_filename = "test.h", cname = "TEST_FOO_CONSTANT")]
-public const string FOO_CONSTANT;
-[CCode (array_length = false, array_null_terminated = true, cheader_filename = "test.h", cname = "TEST_FOO_CONSTANT_ARRAY")]
-public const string[] FOO_CONSTANT_ARRAY;
diff --git a/tests/gir/constant.vapi-expected b/tests/gir/constant.vapi-expected
new file mode 100644
index 000000000..d514868b3
--- /dev/null
+++ b/tests/gir/constant.vapi-expected
@@ -0,0 +1,7 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", cname = "TEST_FOO_CONSTANT")]
+ public const string FOO_CONSTANT;
+ [CCode (array_length = false, array_null_terminated = true, cheader_filename = "test.h", cname = "TEST_FOO_CONSTANT_ARRAY")]
+ public const string[] FOO_CONSTANT_ARRAY;
+}
diff --git a/tests/gir/delegate-alias-without-target.gir b/tests/gir/delegate-alias-without-target.gir
new file mode 100644
index 000000000..dbed38be7
--- /dev/null
+++ b/tests/gir/delegate-alias-without-target.gir
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<alias name="Foo" c:type="TestFoo">
+ <type name="Bar" c:type="TestBar"/>
+</alias>
+
+<callback name="Bar" c:type="TestBar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+</callback>
+</namespace>
+</repository>
diff --git a/tests/gir/delegate-alias-without-target.test b/tests/gir/delegate-alias-without-target.test
deleted file mode 100644
index 1e2fd36a1..000000000
--- a/tests/gir/delegate-alias-without-target.test
+++ /dev/null
@@ -1,20 +0,0 @@
-GIR
-
-Input:
-
-<alias name="Foo" c:type="TestFoo">
- <type name="Bar" c:type="TestBar"/>
-</alias>
-
-<callback name="Bar" c:type="TestBar">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
-</callback>
-
-Output:
-
-[CCode (cheader_filename = "test.h", has_target = false)]
-public delegate void Bar ();
-[CCode (cheader_filename = "test.h", has_target = false)]
-public delegate void Foo ();
diff --git a/tests/gir/delegate-alias-without-target.vapi-expected b/tests/gir/delegate-alias-without-target.vapi-expected
new file mode 100644
index 000000000..cce45da14
--- /dev/null
+++ b/tests/gir/delegate-alias-without-target.vapi-expected
@@ -0,0 +1,7 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", has_target = false)]
+ public delegate void Bar ();
+ [CCode (cheader_filename = "test.h", has_target = false)]
+ public delegate void Foo ();
+}
diff --git a/tests/gir/delegate-anonymous.test b/tests/gir/delegate-anonymous.gir
index 0c4fd1626..381f9cff4 100644
--- a/tests/gir/delegate-anonymous.test
+++ b/tests/gir/delegate-anonymous.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<record name="Foo" c:type="TestFoo">
<field name="bar_callback">
<callback name="bar_callback" throws="1">
@@ -24,12 +28,5 @@ Input:
</callback>
</field>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", has_type_id = false)]
-public struct Foo {
- public weak Test.FooBarCallbackFunc bar_callback;
-}
-[CCode (cheader_filename = "test.h", has_target = false, has_typedef = false)]
-public delegate void* FooBarCallbackFunc (GLib.SourceFunc func) throws GLib.Error;
+</namespace>
+</repository>
diff --git a/tests/gir/delegate-anonymous.vapi-expected b/tests/gir/delegate-anonymous.vapi-expected
new file mode 100644
index 000000000..45a4f9b90
--- /dev/null
+++ b/tests/gir/delegate-anonymous.vapi-expected
@@ -0,0 +1,9 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", has_type_id = false)]
+ public struct Foo {
+ public weak Test.FooBarCallbackFunc bar_callback;
+ }
+ [CCode (cheader_filename = "test.h", has_target = false, has_typedef = false)]
+ public delegate void* FooBarCallbackFunc (GLib.SourceFunc func) throws GLib.Error;
+}
diff --git a/tests/gir/delegate-array-length-type.test b/tests/gir/delegate-array-length-type.gir
index 127ac8a76..4a31d211e 100644
--- a/tests/gir/delegate-array-length-type.test
+++ b/tests/gir/delegate-array-length-type.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<callback name="Foo" c:type="TestFoo">
<return-value transfer-ownership="full">
<array length="0" c:type="gchar**">
@@ -21,8 +25,5 @@ Input:
</parameter>
</parameters>
</callback>
-
-Output:
-
-[CCode (array_length_pos = 0.1, array_length_type = "gsize", cheader_filename = "test.h", instance_pos = 0.9)]
-public delegate string[] Foo ();
+</namespace>
+</repository>
diff --git a/tests/gir/delegate-array-length-type.vapi-expected b/tests/gir/delegate-array-length-type.vapi-expected
new file mode 100644
index 000000000..ac05cdd9c
--- /dev/null
+++ b/tests/gir/delegate-array-length-type.vapi-expected
@@ -0,0 +1,5 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (array_length_pos = 0.1, array_length_type = "gsize", cheader_filename = "test.h", instance_pos = 0.9)]
+ public delegate string[] Foo ();
+}
diff --git a/tests/gir/delegate-closure-destroy-index-conflict.test b/tests/gir/delegate-closure-destroy-index-conflict.gir
index 449136c90..e8c0bb8bb 100644
--- a/tests/gir/delegate-closure-destroy-index-conflict.test
+++ b/tests/gir/delegate-closure-destroy-index-conflict.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo"
c:symbol-prefix="foo"
c:type="TestFoo"
@@ -52,15 +56,5 @@ Input:
</parameter>
</parameters>
</function>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- protected Foo ();
- [CCode (cname = "test_function")]
- public void function (owned GLib.Func? callback);
-}
-[CCode (cheader_filename = "test.h")]
-public static void function (owned GLib.Func? callback);
+</namespace>
+</repository>
diff --git a/tests/gir/delegate-closure-destroy-index-conflict.vapi-expected b/tests/gir/delegate-closure-destroy-index-conflict.vapi-expected
new file mode 100644
index 000000000..f4f5e4269
--- /dev/null
+++ b/tests/gir/delegate-closure-destroy-index-conflict.vapi-expected
@@ -0,0 +1,12 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Foo ();
+ [CCode (cname = "test_function")]
+ public void function (owned GLib.Func? callback);
+ }
+ [CCode (cheader_filename = "test.h")]
+ public static void function (owned GLib.Func? callback);
+}
diff --git a/tests/gir/delegate-error-pos.test b/tests/gir/delegate-error-pos.gir
index 37f943d50..85789919c 100644
--- a/tests/gir/delegate-error-pos.test
+++ b/tests/gir/delegate-error-pos.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<callback name="Foo" c:type="TestFoo">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
@@ -22,8 +26,5 @@ Input:
</parameter>
</parameters>
</callback>
-
-Output:
-
-[CCode (cheader_filename = "test.h", error_pos = 1.8, instance_pos = 1.9)]
-public delegate void Foo (string s) throws GLib.Error;
+</namespace>
+</repository>
diff --git a/tests/gir/delegate-error-pos.vapi-expected b/tests/gir/delegate-error-pos.vapi-expected
new file mode 100644
index 000000000..dceda39dc
--- /dev/null
+++ b/tests/gir/delegate-error-pos.vapi-expected
@@ -0,0 +1,5 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", error_pos = 1.8, instance_pos = 1.9)]
+ public delegate void Foo (string s) throws GLib.Error;
+}
diff --git a/tests/gir/enum.test b/tests/gir/enum.gir
index 251981a8b..1be32cd3c 100644
--- a/tests/gir/enum.test
+++ b/tests/gir/enum.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<enumeration name="Test"
c:type="Test">
<member name="bar"
@@ -54,28 +58,5 @@ Input:
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
-}
+</namespace>
+</repository>
diff --git a/tests/gir/enum.vapi-expected b/tests/gir/enum.vapi-expected
new file mode 100644
index 000000000..3a8847368
--- /dev/null
+++ b/tests/gir/enum.vapi-expected
@@ -0,0 +1,25 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [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.gir
index bf37f46ef..221cf584d 100644
--- a/tests/gir/errordomain.test
+++ b/tests/gir/errordomain.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<enumeration name="TestError"
c:type="TestError"
glib:error-domain="test-error-quark">
@@ -30,16 +34,5 @@ Input:
glib:nick="foo">
</member>
</enumeration>
-
-Output:
-
-[CCode (cheader_filename = "test.h", cname = "TestError", cprefix = "TEST_ERROR_", has_type_id = false)]
-public errordomain TestError {
- BAR,
- FOO
-}
-[CCode (cheader_filename = "test.h", cname = "TestErrorWithType", cprefix = "TEST_ERROR_WITH_TYPE_", type_id = "test_error_with_type_get_type ()")]
-public errordomain TestErrorWithType {
- BAR,
- FOO
-}
+</namespace>
+</repository>
diff --git a/tests/gir/errordomain.vapi-expected b/tests/gir/errordomain.vapi-expected
new file mode 100644
index 000000000..1a735dcb0
--- /dev/null
+++ b/tests/gir/errordomain.vapi-expected
@@ -0,0 +1,13 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", cname = "TestError", cprefix = "TEST_ERROR_", has_type_id = false)]
+ public errordomain TestError {
+ BAR,
+ FOO
+ }
+ [CCode (cheader_filename = "test.h", cname = "TestErrorWithType", cprefix = "TEST_ERROR_WITH_TYPE_", type_id = "test_error_with_type_get_type ()")]
+ public errordomain TestErrorWithType {
+ BAR,
+ FOO
+ }
+}
diff --git a/tests/gir/gtype-struct-name.test b/tests/gir/gtype-struct-name.gir
index 3ad28cac5..7f839e6a8 100644
--- a/tests/gir/gtype-struct-name.test
+++ b/tests/gir/gtype-struct-name.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<interface name="Foo"
c:symbol-prefix="foo"
c:type="TestFoo"
@@ -34,14 +38,5 @@ Input:
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
</field>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_cname = "TestBarKlass", type_id = "test_bar_get_type ()")]
-public class Bar : GLib.Object {
- [CCode (has_construct_function = false)]
- protected Bar ();
-}
-[CCode (cheader_filename = "test.h", type_cname = "TestFooInterface", type_id = "test_foo_get_type ()")]
-public interface Foo : GLib.Object {
-}
+</namespace>
+</repository>
diff --git a/tests/gir/gtype-struct-name.vapi-expected b/tests/gir/gtype-struct-name.vapi-expected
new file mode 100644
index 000000000..96a1ebdf8
--- /dev/null
+++ b/tests/gir/gtype-struct-name.vapi-expected
@@ -0,0 +1,11 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_cname = "TestBarKlass", type_id = "test_bar_get_type ()")]
+ public class Bar : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Bar ();
+ }
+ [CCode (cheader_filename = "test.h", type_cname = "TestFooInterface", type_id = "test_foo_get_type ()")]
+ public interface Foo : GLib.Object {
+ }
+}
diff --git a/tests/gir/instance-parameter-owned.test b/tests/gir/instance-parameter-owned.gir
index 27cf75dcb..9048bcd08 100644
--- a/tests/gir/instance-parameter-owned.test
+++ b/tests/gir/instance-parameter-owned.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<record name="Foo"
c:type="TestFoo"
glib:type-name="TestFoo"
@@ -35,16 +39,5 @@ Input:
</parameters>
</method>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "test_foo_get_type ()")]
-[Compact]
-public class Foo {
- [CCode (has_construct_function = false)]
- public Foo ();
- [DestroysInstance]
- public Test.Foo bar ();
- [DestroysInstance]
- public void baz ();
-}
+</namespace>
+</repository>
diff --git a/tests/gir/instance-parameter-owned.vapi-expected b/tests/gir/instance-parameter-owned.vapi-expected
new file mode 100644
index 000000000..df9693cf2
--- /dev/null
+++ b/tests/gir/instance-parameter-owned.vapi-expected
@@ -0,0 +1,13 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "test_foo_get_type ()")]
+ [Compact]
+ public class Foo {
+ [CCode (has_construct_function = false)]
+ public Foo ();
+ [DestroysInstance]
+ public Test.Foo bar ();
+ [DestroysInstance]
+ public void baz ();
+ }
+}
diff --git a/tests/gir/method-array-length-type.gir b/tests/gir/method-array-length-type.gir
new file mode 100644
index 000000000..f8447e10f
--- /dev/null
+++ b/tests/gir/method-array-length-type.gir
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<function name="function" c:identifier="test_function">
+ <return-value transfer-ownership="full">
+ <array length="0" c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="result_length" direction="out" transfer-ownership="none">
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+</function>
+</namespace>
+</repository>
diff --git a/tests/gir/method-array-length-type.test b/tests/gir/method-array-length-type.test
deleted file mode 100644
index b7ebccfc5..000000000
--- a/tests/gir/method-array-length-type.test
+++ /dev/null
@@ -1,21 +0,0 @@
-GIR
-
-Input:
-
-<function name="function" c:identifier="test_function">
- <return-value transfer-ownership="full">
- <array length="0" c:type="gchar**">
- <type name="utf8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="result_length" direction="out" transfer-ownership="none">
- <type name="gsize" c:type="gsize*"/>
- </parameter>
- </parameters>
-</function>
-
-Output:
-
-[CCode (array_length_pos = 0.1, array_length_type = "gsize", cheader_filename = "test.h")]
-public static string[] function ();
diff --git a/tests/gir/method-array-length-type.vapi-expected b/tests/gir/method-array-length-type.vapi-expected
new file mode 100644
index 000000000..1f4cbc4d9
--- /dev/null
+++ b/tests/gir/method-array-length-type.vapi-expected
@@ -0,0 +1,5 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (array_length_pos = 0.1, array_length_type = "gsize", cheader_filename = "test.h")]
+ public static string[] function ();
+}
diff --git a/tests/gir/method-class.test b/tests/gir/method-class.gir
index adb7ec105..54451b207 100644
--- a/tests/gir/method-class.test
+++ b/tests/gir/method-class.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo"
c:symbol-prefix="foo"
c:type="TestFoo"
@@ -29,13 +33,5 @@ Input:
</parameters>
</method>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public abstract class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- protected Foo ();
- [CCode (cname = "test_foo_class_bar")]
- public class void bar ();
-}
+</namespace>
+</repository>
diff --git a/tests/gir/method-class.vapi-expected b/tests/gir/method-class.vapi-expected
new file mode 100644
index 000000000..cf8e79c1c
--- /dev/null
+++ b/tests/gir/method-class.vapi-expected
@@ -0,0 +1,10 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public abstract class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Foo ();
+ [CCode (cname = "test_foo_class_bar")]
+ public class void bar ();
+ }
+}
diff --git a/tests/gir/method-nowrapper.test b/tests/gir/method-nowrapper.gir
index ed2c1deca..707204702 100644
--- a/tests/gir/method-nowrapper.test
+++ b/tests/gir/method-nowrapper.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo"
c:symbol-prefix="foo"
c:type="TestFoo"
@@ -39,13 +43,5 @@ Input:
</callback>
</field>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public abstract class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- protected Foo ();
- [NoWrapper]
- public virtual bool bar ();
-}
+</namespace>
+</repository>
diff --git a/tests/gir/method-nowrapper.vapi-expected b/tests/gir/method-nowrapper.vapi-expected
new file mode 100644
index 000000000..a40f6a30c
--- /dev/null
+++ b/tests/gir/method-nowrapper.vapi-expected
@@ -0,0 +1,10 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public abstract class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Foo ();
+ [NoWrapper]
+ public virtual bool bar ();
+ }
+}
diff --git a/tests/gir/parameter-array-length-type.gir b/tests/gir/parameter-array-length-type.gir
new file mode 100644
index 000000000..74b6232c6
--- /dev/null
+++ b/tests/gir/parameter-array-length-type.gir
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<function name="function" c:identifier="test_function">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="foo" transfer-ownership="none">
+ <array length="1" c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ <parameter name="foo_length" transfer-ownership="none">
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+</function>
+</namespace>
+</repository>
diff --git a/tests/gir/parameter-array-length-type.test b/tests/gir/parameter-array-length-type.test
deleted file mode 100644
index 3bbbe9ec6..000000000
--- a/tests/gir/parameter-array-length-type.test
+++ /dev/null
@@ -1,24 +0,0 @@
-GIR
-
-Input:
-
-<function name="function" c:identifier="test_function">
- <return-value transfer-ownership="none">
- <type name="none"/>
- </return-value>
- <parameters>
- <parameter name="foo" transfer-ownership="none">
- <array length="1" c:type="gchar**">
- <type name="utf8"/>
- </array>
- </parameter>
- <parameter name="foo_length" transfer-ownership="none">
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
-</function>
-
-Output:
-
-[CCode (cheader_filename = "test.h")]
-public static void function ([CCode (array_length_cname = "foo_length", array_length_pos = 1.1, array_length_type = "gsize")] string[] foo);
diff --git a/tests/gir/parameter-array-length-type.vapi-expected b/tests/gir/parameter-array-length-type.vapi-expected
new file mode 100644
index 000000000..928802875
--- /dev/null
+++ b/tests/gir/parameter-array-length-type.vapi-expected
@@ -0,0 +1,5 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h")]
+ public static void function ([CCode (array_length_cname = "foo_length", array_length_pos = 1.1, array_length_type = "gsize")] string[] foo);
+}
diff --git a/tests/gir/parameter-nullable-out-simple-type.gir b/tests/gir/parameter-nullable-out-simple-type.gir
new file mode 100644
index 000000000..1ff4a28e5
--- /dev/null
+++ b/tests/gir/parameter-nullable-out-simple-type.gir
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<function name="function" c:identifier="test_function">
+ <return-value transfer-ownership="none">
+ <type name="none"/>
+ </return-value>
+ <parameters>
+ <parameter name="i" direction="out" transfer-ownership="full" nullable="1">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+</function>
+</namespace>
+</repository>
diff --git a/tests/gir/parameter-nullable-out-simple-type.test b/tests/gir/parameter-nullable-out-simple-type.test
deleted file mode 100644
index b444368f2..000000000
--- a/tests/gir/parameter-nullable-out-simple-type.test
+++ /dev/null
@@ -1,19 +0,0 @@
-GIR
-
-Input:
-
-<function name="function" c:identifier="test_function">
- <return-value transfer-ownership="none">
- <type name="none"/>
- </return-value>
- <parameters>
- <parameter name="i" direction="out" transfer-ownership="full" nullable="1">
- <type name="gint" c:type="gint*"/>
- </parameter>
- </parameters>
-</function>
-
-Output:
-
-[CCode (cheader_filename = "test.h")]
-public static void function (out int i);
diff --git a/tests/gir/parameter-nullable-out-simple-type.vapi-expected b/tests/gir/parameter-nullable-out-simple-type.vapi-expected
new file mode 100644
index 000000000..6703258c5
--- /dev/null
+++ b/tests/gir/parameter-nullable-out-simple-type.vapi-expected
@@ -0,0 +1,5 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h")]
+ public static void function (out int i);
+}
diff --git a/tests/gir/property-non-readable.gir b/tests/gir/property-non-readable.gir
new file mode 100644
index 000000000..d2de2d156
--- /dev/null
+++ b/tests/gir/property-non-readable.gir
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<class name="Foo" c:type="TestFoo" glib:type-name="TestFoo" glib:get-type="test_foo_get_type" glib:type-struct="FooClass" parent="GObject.Object">
+ <property name="prop" readable="0" writable="1" construct-only="1">
+ <type name="gint" c:type="gint"/>
+ </property>
+</class>
+<record name="FooClass" c:type="TestFooClass" glib:is-gtype-struct-for="Foo"/>
+</namespace>
+</repository>
diff --git a/tests/gir/property-non-readable.test b/tests/gir/property-non-readable.test
deleted file mode 100644
index 0816a4d75..000000000
--- a/tests/gir/property-non-readable.test
+++ /dev/null
@@ -1,20 +0,0 @@
-GIR
-
-Input:
-
-<class name="Foo" c:type="TestFoo" glib:type-name="TestFoo" glib:get-type="test_foo_get_type" glib:type-struct="FooClass" parent="GObject.Object">
- <property name="prop" readable="0" writable="1" construct-only="1">
- <type name="gint" c:type="gint"/>
- </property>
-</class>
-<record name="FooClass" c:type="TestFooClass" glib:is-gtype-struct-for="Foo"/>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- protected Foo ();
- [NoAccessorMethod]
- public int prop { construct; }
-}
diff --git a/tests/gir/property-non-readable.vapi-expected b/tests/gir/property-non-readable.vapi-expected
new file mode 100644
index 000000000..d4af9e7da
--- /dev/null
+++ b/tests/gir/property-non-readable.vapi-expected
@@ -0,0 +1,10 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ protected Foo ();
+ [NoAccessorMethod]
+ public int prop { construct; }
+ }
+}
diff --git a/tests/gir/signal-virtual.test b/tests/gir/signal-virtual.gir
index b0073eddd..0bb332b24 100644
--- a/tests/gir/signal-virtual.test
+++ b/tests/gir/signal-virtual.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="Foo" c:type="TestFoo" glib:type-name="TestFoo" glib:get-type="test_foo_get_type" glib:type-struct="FooClass" parent="GObject.Object">
<virtual-method name="signal_virtual">
<return-value transfer-ownership="full">
@@ -38,12 +42,5 @@ Input:
</callback>
</field>
</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class Foo : GLib.Object {
- [CCode (has_construct_function = false)]
- public Foo ();
- public virtual signal void signal_virtual ();
-}
+</namespace>
+</repository>
diff --git a/tests/gir/signal-virtual.vapi-expected b/tests/gir/signal-virtual.vapi-expected
new file mode 100644
index 000000000..b9e1327f3
--- /dev/null
+++ b/tests/gir/signal-virtual.vapi-expected
@@ -0,0 +1,9 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class Foo : GLib.Object {
+ [CCode (has_construct_function = false)]
+ public Foo ();
+ public virtual signal void signal_virtual ();
+ }
+}
diff --git a/tests/gir/symbol-redefined.gir b/tests/gir/symbol-redefined.gir
new file mode 100644
index 000000000..db46556f3
--- /dev/null
+++ b/tests/gir/symbol-redefined.gir
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<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>
+ <member name="bar"
+ value="0"
+ c:identifier="TEST_BAR">
+ </member>
+</enumeration>
+</namespace>
+</repository>
diff --git a/tests/gir/symbol-redefined.test b/tests/gir/symbol-redefined.test
deleted file mode 100644
index 1ae3b3b5a..000000000
--- a/tests/gir/symbol-redefined.test
+++ /dev/null
@@ -1,27 +0,0 @@
-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>
- <member name="bar"
- value="0"
- c:identifier="TEST_BAR">
- </member>
-</enumeration>
-
-Output:
-
-[CCode (cheader_filename = "test.h", cname = "Test", cprefix = "TEST_", has_type_id = false)]
-public enum Test {
- BAR,
- FOO
-}
diff --git a/tests/gir/symbol-redefined.vapi-expected b/tests/gir/symbol-redefined.vapi-expected
new file mode 100644
index 000000000..389f30889
--- /dev/null
+++ b/tests/gir/symbol-redefined.vapi-expected
@@ -0,0 +1,8 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", cname = "Test", cprefix = "TEST_", has_type_id = false)]
+ public enum Test {
+ BAR,
+ FOO
+ }
+}
diff --git a/tests/gir/symbol-type-csuffix.test b/tests/gir/symbol-type-csuffix.gir
index 8039d4a8c..896569e6b 100644
--- a/tests/gir/symbol-type-csuffix.test
+++ b/tests/gir/symbol-type-csuffix.gir
@@ -1,7 +1,11 @@
-GIR
-
-Input:
-
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
<class name="TypeFoo" c:type="TestTypeFoo" glib:type-name="TestTypeFoo" glib:get-type="test_foo_get_type" glib:type-struct="TypeFooClass" parent="GObject.Object">
<constructor name="new" c:identifier="test_type_foo_new">
<return-value transfer-ownership="full">
@@ -14,13 +18,5 @@ Input:
</return-value>
</method>
</class>
-
-Output:
-
-[CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
-public class TypeFoo : GLib.Object {
- [CCode (cname = "test_type_foo_new", has_construct_function = false)]
- public TypeFoo ();
- [CCode (cname = "test_type_foo_bar")]
- public void bar ();
-}
+</namespace>
+</repository>
diff --git a/tests/gir/symbol-type-csuffix.vapi-expected b/tests/gir/symbol-type-csuffix.vapi-expected
new file mode 100644
index 000000000..439ce1595
--- /dev/null
+++ b/tests/gir/symbol-type-csuffix.vapi-expected
@@ -0,0 +1,10 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", type_id = "test_foo_get_type ()")]
+ public class TypeFoo : GLib.Object {
+ [CCode (cname = "test_type_foo_new", has_construct_function = false)]
+ public TypeFoo ();
+ [CCode (cname = "test_type_foo_bar")]
+ public void bar ();
+ }
+}
diff --git a/tests/gir/symbol-without-name.gir b/tests/gir/symbol-without-name.gir
new file mode 100644
index 000000000..440e6e0f6
--- /dev/null
+++ b/tests/gir/symbol-without-name.gir
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<function name="" c:identifier="test_foo">
+ <return-value transfer-ownership="none">
+ <type name="void"/>
+ </return-value>
+</function>
+<function name="bar" c:identifier="test_bar">
+ <return-value transfer-ownership="none">
+ <type name="void"/>
+ </return-value>
+</function>
+</namespace>
+</repository>
diff --git a/tests/gir/symbol-without-name.test b/tests/gir/symbol-without-name.test
deleted file mode 100644
index 4b56f6bdf..000000000
--- a/tests/gir/symbol-without-name.test
+++ /dev/null
@@ -1,19 +0,0 @@
-GIR
-
-Input:
-
-<function name="" c:identifier="test_foo">
- <return-value transfer-ownership="none">
- <type name="void"/>
- </return-value>
-</function>
-<function name="bar" c:identifier="test_bar">
- <return-value transfer-ownership="none">
- <type name="void"/>
- </return-value>
-</function>
-
-Output:
-
-[CCode (cheader_filename = "test.h")]
-public static void bar ();
diff --git a/tests/gir/symbol-without-name.vapi-expected b/tests/gir/symbol-without-name.vapi-expected
new file mode 100644
index 000000000..de12f3576
--- /dev/null
+++ b/tests/gir/symbol-without-name.vapi-expected
@@ -0,0 +1,5 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h")]
+ public static void bar ();
+}
diff --git a/tests/gir/union-transparent.gir b/tests/gir/union-transparent.gir
new file mode 100644
index 000000000..80915ba5a
--- /dev/null
+++ b/tests/gir/union-transparent.gir
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<record name="Foo" c:type="TestFoo">
+ <field name="u" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <union>
+ <field name="a" writable="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="int" c:type="int*"/>
+ </array>
+ </field>
+ <field name="pad" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ </union>
+</record>
+</namespace>
+</repository>
diff --git a/tests/gir/union-transparent.test b/tests/gir/union-transparent.test
deleted file mode 100644
index d2e8e160a..000000000
--- a/tests/gir/union-transparent.test
+++ /dev/null
@@ -1,30 +0,0 @@
-GIR
-
-Input:
-
-<record name="Foo" c:type="TestFoo">
- <field name="u" writable="1">
- <type name="guint" c:type="guint"/>
- </field>
- <union>
- <field name="a" writable="1">
- <array zero-terminated="0" fixed-size="2">
- <type name="int" c:type="int*"/>
- </array>
- </field>
- <field name="pad" readable="0" private="1">
- <array zero-terminated="0" fixed-size="4">
- <type name="guint" c:type="guint"/>
- </array>
- </field>
- </union>
-</record>
-
-Output:
-
-[CCode (cheader_filename = "test.h", has_type_id = false)]
-public struct Foo {
- public uint u;
- [CCode (array_length = false)]
- public weak int a[2];
-}
diff --git a/tests/gir/union-transparent.vapi-expected b/tests/gir/union-transparent.vapi-expected
new file mode 100644
index 000000000..fc979eba1
--- /dev/null
+++ b/tests/gir/union-transparent.vapi-expected
@@ -0,0 +1,9 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h", has_type_id = false)]
+ public struct Foo {
+ public uint u;
+ [CCode (array_length = false)]
+ public weak int a[2];
+ }
+}
diff --git a/tests/gir/union.gir b/tests/gir/union.gir
new file mode 100644
index 000000000..c370ed223
--- /dev/null
+++ b/tests/gir/union.gir
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+<include name="GObject" version="2.0"/>
+<include name="GLib" version="2.0"/>
+<include name="Gio" version="2.0"/>
+<package name="test"/>
+<c:include name="test.h"/>
+<namespace name="Test" version="1.0" shared-library="test" c:prefix="Test" c:identifier-prefixes="Test" c:symbol-prefixes="test">
+<union name="Foo" c:type="TestFoo">
+ <field name="bar" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="manam" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+</union>
+</namespace>
+</repository>
diff --git a/tests/gir/union.test b/tests/gir/union.test
deleted file mode 100644
index 51f118aa5..000000000
--- a/tests/gir/union.test
+++ /dev/null
@@ -1,20 +0,0 @@
-GIR
-
-Input:
-
-<union name="Foo" c:type="TestFoo">
- <field name="bar" writable="1">
- <type name="guint" c:type="guint"/>
- </field>
- <field name="manam" writable="1">
- <type name="gint" c:type="gint"/>
- </field>
-</union>
-
-Output:
-
-[CCode (cheader_filename = "test.h")]
-public struct Foo {
- public uint bar;
- public int manam;
-}
diff --git a/tests/gir/union.vapi-expected b/tests/gir/union.vapi-expected
new file mode 100644
index 000000000..d4016d732
--- /dev/null
+++ b/tests/gir/union.vapi-expected
@@ -0,0 +1,8 @@
+[CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.0", lower_case_cprefix = "test_")]
+namespace Test {
+ [CCode (cheader_filename = "test.h")]
+ public struct Foo {
+ public uint bar;
+ public int manam;
+ }
+}