diff options
author | JCWasmx86 <JCWasmx86@t-online.de> | 2022-06-04 20:19:13 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2023-04-29 21:00:17 +0200 |
commit | c073e581a7d0c9d38c5fe8a432c0f4ade1d2338e (patch) | |
tree | f43d043bc4c07cb2fd968b35ad72fab251591d8f | |
parent | 1e124a4dd5454525d04138d4df48cad75c4ffc7c (diff) | |
download | vala-c073e581a7d0c9d38c5fe8a432c0f4ade1d2338e.tar.gz |
Added tests
-rw-r--r-- | dbusgen/tests/test-codegen.xml | 10 | ||||
-rw-r--r-- | dbusgen/tests/test-codegen.xml.vala-expected | 4 | ||||
-rw-r--r-- | dbusgen/valadbusvariantmodule.vala | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/dbusgen/tests/test-codegen.xml b/dbusgen/tests/test-codegen.xml index 17576c646..333bcff64 100644 --- a/dbusgen/tests/test-codegen.xml +++ b/dbusgen/tests/test-codegen.xml @@ -64,6 +64,16 @@ <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" /> diff --git a/dbusgen/tests/test-codegen.xml.vala-expected b/dbusgen/tests/test-codegen.xml.vala-expected index eca8e5666..0bfd2dbf9 100644 --- a/dbusgen/tests/test-codegen.xml.vala-expected +++ b/dbusgen/tests/test-codegen.xml.vala-expected @@ -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; diff --git a/dbusgen/valadbusvariantmodule.vala b/dbusgen/valadbusvariantmodule.vala index be2aa6856..404f7bb40 100644 --- a/dbusgen/valadbusvariantmodule.vala +++ b/dbusgen/valadbusvariantmodule.vala @@ -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 ()) { |