]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Added tests
authorJCWasmx86 <JCWasmx86@t-online.de>
Sat, 4 Jun 2022 18:19:13 +0000 (20:19 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 29 Apr 2023 19:00:17 +0000 (21:00 +0200)
dbusgen/tests/test-codegen.xml
dbusgen/tests/test-codegen.xml.vala-expected
dbusgen/valadbusvariantmodule.vala

index 17576c64673271bd716f5f3e1573c8ca58b33f25..333bcff64c6a2c7b16df6bfced232c715080565c 100644 (file)
       <arg direction="out" type="ay" name="result" />
     </method>
 
+    <method name="TestGenericArray">
+      <!-- <arg direction="in" type="a{ass}" name="dict_array_key"/> -->
+      <arg direction="in" type="a{sas}" name="dict_array_value"/>
+    </method>
+
+    <method name="TestGenericPrimitive">
+      <arg direction="in" type="a{ts}" name="dict_primitive_key"/>
+      <arg direction="in" type="a{st}" name="dict_primitive_value"/>
+    </method>
+
     <method name="TestDuplicateArgname">
         <arg direction="in" type="s" name="arg" />
         <arg direction="out" type="s" name="arg" />
index eca8e56669474872c4a0e8874c4ada78b36d78d1..0bfd2dbf9fd2a76ae220dd8683b1bba51873ef1c 100644 (file)
@@ -6,7 +6,9 @@ public interface OrgProjectBar : GLib.Object {
        public abstract void hello_world (string greeting, out string response) throws GLib.DBusError, GLib.IOError;
        public abstract void test_primitive_types (char val_byte, bool val_boolean, int16 val_int16, uint16 val_uint16, int32 val_int32, uint32 val_uint32, int64 val_int64, uint64 val_uint64, double val_double, string val_string, GLib.ObjectPath val_objpath, string val_signature, string val_bytestring, out char ret_byte, out bool ret_boolean, out int16 ret_int16, out uint16 ret_uint16, out int32 ret_int32, out uint32 ret_uint32, out int64 ret_int64, out uint64 ret_uint64, out double ret_double, out string ret_string, out GLib.ObjectPath ret_objpath, out string ret_signature, out string ret_bytestring) throws GLib.DBusError, GLib.IOError;
        public abstract void test_non_primitive_types (GLib.HashTable<string,string> dict_s_to_s, [DBus (signature = "a{s(ii)}")] GLib.Variant dict_s_to_pairs, [DBus (signature = "(iss)")] GLib.Variant a_struct, string[] array_of_strings, out string[] ret_array_of_strings, GLib.ObjectPath[] array_of_objpaths, out GLib.ObjectPath[] ret_array_of_objpaths, string[] array_of_signatures, out string[] ret_array_of_signatures, string[] array_of_bytestrings, out string[] ret_array_of_bytestrings, out string result) throws GLib.DBusError, GLib.IOError;
-       public abstract void test_duplicate_argname (string arg, out string arg0) throws GLib.DBusError, GLib.IOError;
+       public abstract void test_generic_array ([DBus (signature = "a{sas}")] GLib.Variant dict_array_value) throws GLib.DBusError, GLib.IOError;
+       public abstract void test_generic_primitive ([DBus (signature = "a{ts}")] GLib.Variant dict_primitive_key, [DBus (signature = "a{st}")] GLib.Variant dict_primitive_value) throws GLib.DBusError, GLib.IOError;
+    public abstract void test_duplicate_argname (string arg, out string arg0) throws GLib.DBusError, GLib.IOError;
     public abstract void request_signal_emission (int32 which_one) throws GLib.DBusError, GLib.IOError;
        public abstract void request_multi_property_mods () throws GLib.DBusError, GLib.IOError;
        public abstract void unimplemented_method () throws GLib.DBusError, GLib.IOError;
index be2aa6856ed76ba8c4843cc6e3b7444843a1528c..404f7bb4083a1e79de291a941ce45e908162f050 100644 (file)
@@ -152,6 +152,8 @@ public class Vala.DBusVariantModule {
                        } else if (type.equal (VariantType.SIGNATURE)) {
                                return string_type.copy ();
                        } else if (type.equal (VariantType.HANDLE)) {
+                               // TODO: The spec says: 32-bit unsigned integer in the message's byte order.
+                               // But usually e.g. `open()` returns an 32-bit signed integer
                                return int32_type.copy ();
                        }
                } else if (type.is_variant ()) {