summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Westman <james@jwestman.net>2025-05-26 19:37:56 -0500
committerJussi Pakkanen <jussi.pakkanen@mailbox.org>2025-05-31 00:59:08 +0300
commitf3adf71b85960da3ff22914cd1a5ce885d3b6a67 (patch)
treefc9ff4949ec4b3bdeeb2f7a660cb529b509c21c9
parent9daf73008f7b97858dbd34f38a577b531e412570 (diff)
downloadmeson-f3adf71b85960da3ff22914cd1a5ce885d3b6a67.tar.gz
Vala: Add test for generated UI in subdirectories
-rw-r--r--test cases/vala/31 generated ui file subdirectory/meson.build22
-rw-r--r--test cases/vala/31 generated ui file subdirectory/subdir/TestBox.ui.in6
-rw-r--r--test cases/vala/31 generated ui file subdirectory/subdir/meson.build13
-rw-r--r--test cases/vala/31 generated ui file subdirectory/subdir/test.gresource.xml6
-rw-r--r--test cases/vala/31 generated ui file subdirectory/test.vala7
5 files changed, 54 insertions, 0 deletions
diff --git a/test cases/vala/31 generated ui file subdirectory/meson.build b/test cases/vala/31 generated ui file subdirectory/meson.build
new file mode 100644
index 000000000..421058151
--- /dev/null
+++ b/test cases/vala/31 generated ui file subdirectory/meson.build
@@ -0,0 +1,22 @@
+project('demo', 'c', 'vala')
+
+gnome = import('gnome', required: false)
+
+if not gnome.found()
+ error('MESON_SKIP_TEST: gnome module not supported')
+endif
+
+deps = [
+ dependency('glib-2.0', version : '>=2.50'),
+ dependency('gobject-2.0'),
+ dependency('gtk+-3.0'),
+]
+
+subdir('subdir')
+
+executable(
+ 'demo',
+ 'test.vala',
+ resources,
+ dependencies: deps,
+)
diff --git a/test cases/vala/31 generated ui file subdirectory/subdir/TestBox.ui.in b/test cases/vala/31 generated ui file subdirectory/subdir/TestBox.ui.in
new file mode 100644
index 000000000..bf5c83178
--- /dev/null
+++ b/test cases/vala/31 generated ui file subdirectory/subdir/TestBox.ui.in
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk" version="3.0"/>
+ <template class="TestBox" parent="GtkBox">
+ </template>
+</interface>
diff --git a/test cases/vala/31 generated ui file subdirectory/subdir/meson.build b/test cases/vala/31 generated ui file subdirectory/subdir/meson.build
new file mode 100644
index 000000000..dbe9344a5
--- /dev/null
+++ b/test cases/vala/31 generated ui file subdirectory/subdir/meson.build
@@ -0,0 +1,13 @@
+ui_tgt = custom_target(
+ input: 'TestBox.ui.in',
+ output: 'TestBox.ui',
+ command: [find_program('cat')],
+ feed: true,
+ capture: true,
+)
+
+resources = gnome.compile_resources('test-resources',
+ 'test.gresource.xml',
+ c_name: 'test_res',
+ dependencies: ui_tgt,
+)
diff --git a/test cases/vala/31 generated ui file subdirectory/subdir/test.gresource.xml b/test cases/vala/31 generated ui file subdirectory/subdir/test.gresource.xml
new file mode 100644
index 000000000..382b95193
--- /dev/null
+++ b/test cases/vala/31 generated ui file subdirectory/subdir/test.gresource.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/com/mesonbuild/test">
+ <file>TestBox.ui</file>
+ </gresource>
+</gresources>
diff --git a/test cases/vala/31 generated ui file subdirectory/test.vala b/test cases/vala/31 generated ui file subdirectory/test.vala
new file mode 100644
index 000000000..36f565b63
--- /dev/null
+++ b/test cases/vala/31 generated ui file subdirectory/test.vala
@@ -0,0 +1,7 @@
+[GtkTemplate (ui = "/com/mesonbuild/test/TestBox.ui")]
+class TestBox: Gtk.Box {
+}
+
+int main() {
+ return 0;
+}