[vala/0.40] test: Add "GLib.Closure parameter" test to increase coverage



commit 714fcd39b9c2ef50826d52295eeb24796529b250
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Tue Nov 12 23:49:35 2019 +0100

    test: Add "GLib.Closure parameter" test to increase coverage

 tests/Makefile.am                        |  1 +
 tests/delegates/gclosure-conversion.vala | 30 ++++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 87657cba3..23f387949 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -257,6 +257,7 @@ TESTS = \
        delegates/delegates-error.test \
        delegates/fields.vala \
        delegates/fields-no-target.vala \
+       delegates/gclosure-conversion.vala \
        delegates/instance-method-to-no-target.test \
        delegates/reference_transfer.vala \
        delegates/return-array-null-terminated.vala \
diff --git a/tests/delegates/gclosure-conversion.vala b/tests/delegates/gclosure-conversion.vala
new file mode 100644
index 000000000..7df324a3a
--- /dev/null
+++ b/tests/delegates/gclosure-conversion.vala
@@ -0,0 +1,30 @@
+class Foo : Object {
+       public string foo { get; set; }
+}
+
+class Bar : Object {
+       public int bar { get; set; }
+}
+
+bool to_int (Binding b, Value from, ref Value to) {
+       to.set_int (from.get_string ().to_int ());
+       return true;
+}
+
+bool to_string (Binding b, Value from, ref Value to) {
+       to.set_string (from.get_int ().to_string ());
+       return true;
+}
+
+void main () {
+       var foo = new Foo ();
+       var bar = new Bar ();
+
+       foo.bind_property ("foo", bar, "bar", BindingFlags.BIDIRECTIONAL,
+               (BindingTransformFunc) to_int, (BindingTransformFunc) to_string);
+
+       foo.foo = "42";
+       assert (bar.bar == 42);
+       bar.bar = 23;
+       assert (foo.foo == "23");
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]