]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Added failing tests
authorJCWasmx86 <JCWasmx86@t-online.de>
Wed, 8 Jun 2022 09:54:56 +0000 (11:54 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 29 Apr 2023 19:00:17 +0000 (21:00 +0200)
dbusgen/tests/runtime-test-dbus.xml
dbusgen/tests/runtime-test-server.vala
dbusgen/tests/runtime-test.vala

index 48025e2b108b879f87c20233eb3fb98364d7bcd5..9acea2de3a0a7d3850a97a8d778685a0ef6e8ac7 100644 (file)
     <method name="RetObject">
       <arg name="ret" type="(ii(si))" direction="out"/>
     </method>
+    <method name="TriggerSignal">
+    </method>
+    <signal name="EmitSignal">
+      <arg name="arg" type="i"/>
+    </signal>
     <method name="Exit">
     </method>
+    <property name="cnter_property" type="i" access="readwrite"/>
   </interface>
 </node>
index 4382818292529962a2c6972df1c66ba06e7a460d..22984ab6dd5ab1c3ba6df6d3458ce59230574b89 100644 (file)
@@ -42,6 +42,12 @@ class DbusTestServer : GLib.Object, OrgGnomeExample {
                ret[3] = 1;
                ret[4] = 5;
        }
+
+       public void trigger_signal () throws GLib.DBusError, GLib.IOError {
+               cnter_property++;
+               // Does not work
+               emit_signal (42);
+       }
        public void ret_object (out DBusProxyStruct_1ii_1si1_1_ ret) throws GLib.DBusError, GLib.IOError {
                ret = DBusProxyStruct_1ii_1si1_1_ () {
                        arg0 = -1,
@@ -55,6 +61,8 @@ class DbusTestServer : GLib.Object, OrgGnomeExample {
        public void exit () throws GLib.DBusError, GLib.IOError {
                Process.exit (0);
        }
+
+       public override int32 cnter_property {get; set;}
 }
 
 void on_bus_aquired (DBusConnection conn) {
index d69f6bfa8a398d977e1353469dbd012adb93081e..29f912cd7d5ee5452d1b3f4e3054546ecd659b7f 100644 (file)
@@ -23,6 +23,11 @@ int main () {
        try {
                example = Bus.get_proxy_sync (BusType.SESSION, "org.gnome.Example",
                                                     "/org/gnome/Example");
+        bool received_signal = false;
+        example.emit_signal.connect (a => {
+               assert (a == 42);
+               received_signal = true;
+        });
         uint64 r_int;
         example.ret_int (out r_int);
         assert (r_int == 42);
@@ -45,6 +50,14 @@ int main () {
                assert (r_obj.arg1 == 5);
                assert (r_obj.arg2.arg0 == "foo");
                assert (r_obj.arg2.arg1 == -1);
+               assert (example.cnter_property == 0);
+               example.emit_signal (42);
+               assert (received_signal);
+               received_signal = false;
+               assert (received_signal);
+               example.trigger_signal ();
+               // TODO: Why???
+               // assert (example.cnter_property == 1);
 
        } catch (Error e) {
                error ("Caught error: %s", e.message);