aboutsummaryrefslogtreecommitdiff
path: root/test cases/vala
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2016-12-14 22:01:09 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2016-12-15 04:12:23 +0530
commit330d9ba7fef6e3a9994eab66139af601741df379 (patch)
treeea9a5ddc50c9f1ae61de608422130885a8164295 /test cases/vala
parent79f66268676ec8bf94c6964a555ecc9144daca8e (diff)
downloadmeson-330d9ba7fef6e3a9994eab66139af601741df379.zip
meson-330d9ba7fef6e3a9994eab66139af601741df379.tar.gz
meson-330d9ba7fef6e3a9994eab66139af601741df379.tar.bz2
Test target glib version and gresources in Vala
Test that the --target-glib= argument while compiling Vala files is set properly by using a feature (GtkTemplate) that requires glib >=2.38. At the same time, also test that the appropriate gresource arguments are also set for Vala targets. For each gresource.xml that is compiled, we must pass --gresources=path/to/gresource.xml to valac.
Diffstat (limited to 'test cases/vala')
-rw-r--r--test cases/vala/14 target glib version and gresources/gres/meson.build3
-rw-r--r--test cases/vala/14 target glib version and gresources/gres/test-resources.xml6
-rw-r--r--test cases/vala/14 target glib version and gresources/gres/test.ui19
-rw-r--r--test cases/vala/14 target glib version and gresources/meson.build11
-rw-r--r--test cases/vala/14 target glib version and gresources/test.vala37
5 files changed, 76 insertions, 0 deletions
diff --git a/test cases/vala/14 target glib version and gresources/gres/meson.build b/test cases/vala/14 target glib version and gresources/gres/meson.build
new file mode 100644
index 0000000..f222a00
--- /dev/null
+++ b/test cases/vala/14 target glib version and gresources/gres/meson.build
@@ -0,0 +1,3 @@
+res = gnome.compile_resources('testui',
+ 'test-resources.xml',
+ source_dir : '.')
diff --git a/test cases/vala/14 target glib version and gresources/gres/test-resources.xml b/test cases/vala/14 target glib version and gresources/gres/test-resources.xml
new file mode 100644
index 0000000..4e8a73f
--- /dev/null
+++ b/test cases/vala/14 target glib version and gresources/gres/test-resources.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/org/Meson">
+ <file compressed="true" preprocess="xml-stripblanks">test.ui</file>
+ </gresource>
+</gresources>
diff --git a/test cases/vala/14 target glib version and gresources/gres/test.ui b/test cases/vala/14 target glib version and gresources/gres/test.ui
new file mode 100644
index 0000000..f90d941
--- /dev/null
+++ b/test cases/vala/14 target glib version and gresources/gres/test.ui
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.8 -->
+ <template class="TestWidget" parent="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">4</property>
+ <child>
+ <object class="GtkEntry" id="entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </template>
+</interface>
diff --git a/test cases/vala/14 target glib version and gresources/meson.build b/test cases/vala/14 target glib version and gresources/meson.build
new file mode 100644
index 0000000..ce6313a
--- /dev/null
+++ b/test cases/vala/14 target glib version and gresources/meson.build
@@ -0,0 +1,11 @@
+project('test glib target version and gresources', 'c', 'vala')
+
+gnome = import('gnome')
+
+glib = dependency('glib-2.0', version : '>=2.38')
+gtk = dependency('gtk+-3.0')
+
+subdir('gres')
+
+e = executable('gtktemplate', 'test.vala', res, dependencies : [glib, gtk])
+test('test-target-glib', e)
diff --git a/test cases/vala/14 target glib version and gresources/test.vala b/test cases/vala/14 target glib version and gresources/test.vala
new file mode 100644
index 0000000..79ef47d
--- /dev/null
+++ b/test cases/vala/14 target glib version and gresources/test.vala
@@ -0,0 +1,37 @@
+using Gtk;
+using GLib;
+
+[GtkTemplate (ui = "/org/Meson/test.ui")]
+public class TestWidget : Box {
+ public string text {
+ get { return entry.text; }
+ set { entry.text = value; }
+ }
+
+ [GtkChild]
+ private Entry entry;
+
+ public TestWidget (string text) {
+ this.text = text;
+ }
+}
+
+void main(string[] args) {
+ Gtk.init (ref args);
+ var win = new Window();
+ win.destroy.connect (Gtk.main_quit);
+
+ var widget = new TestWidget ("SOME TEXT HERE");
+
+ win.add (widget);
+ win.show_all ();
+
+ /* Exit immediately */
+ Timeout.add_full (Priority.DEFAULT_IDLE, 1, () =>
+ {
+ Gtk.main_quit();
+ return false;
+ });
+
+ Gtk.main ();
+}