diff options
author | Corentin Noël <corentin@elementary.io> | 2020-04-05 14:25:29 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-04-05 16:20:19 +0200 |
commit | 61e69f43be39cbd57df4fc4ea4d63c92ac57ebb0 (patch) | |
tree | 20558331a781cdf4a006677cb66bb9874ce44c6c | |
parent | e9c5f4ab09b9ca66241e863b7d333ecc6bb4c38c (diff) | |
download | vala-61e69f43be39cbd57df4fc4ea4d63c92ac57ebb0.tar.gz |
tests: Extend "DBus signals" test to increase coverage
This adds code coverage for generating multiple signals, tests for
arrays and ensures that the private signals are not leaking.
-rw-r--r-- | tests/dbus/signals.test | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/tests/dbus/signals.test b/tests/dbus/signals.test index 10544c520..2ea689c67 100644 --- a/tests/dbus/signals.test +++ b/tests/dbus/signals.test @@ -6,8 +6,11 @@ Program: client [DBus (name = "org.example.Test")] interface Test : Object { public signal void foo (int i); + public signal void bar (string[] baz); + internal signal void finish (); - public abstract void do_foo (int i) throws IOError; + public abstract void do_foo (int i) throws DBusError, IOError; + public abstract void do_bar (string[] baz) throws DBusError, IOError; } MainLoop main_loop; @@ -18,10 +21,22 @@ void main () { test.foo.connect ((i) => { assert (i == 42); + }); + + test.bar.connect ((baz) => { + assert (baz.length == 3); + assert (baz[0] == "zero"); + assert (baz[1] == "one"); + assert (baz[2] == "two"); main_loop.quit (); }); + test.finish.connect (() => { + assert_not_reached (); + }); + test.do_foo (42); + test.do_bar ({"zero", "one", "two"}); main_loop = new MainLoop (); main_loop.run (); @@ -32,9 +47,16 @@ Program: server [DBus (name = "org.example.Test")] class Test : Object { public signal void foo (int i); + public signal void bar (string[] baz); + private signal void finish (); - public void do_foo (int i) { + public void do_foo (int i) throws DBusError, IOError { this.foo (i); + finish (); + } + + public void do_bar (string[] baz) throws DBusError, IOError { + this.bar (baz); } } |