diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-12-14 22:01:09 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-12-15 04:12:23 +0530 |
commit | 330d9ba7fef6e3a9994eab66139af601741df379 (patch) | |
tree | ea9a5ddc50c9f1ae61de608422130885a8164295 /test cases/vala | |
parent | 79f66268676ec8bf94c6964a555ecc9144daca8e (diff) | |
download | meson-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')
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 (); +} |