diff options
author | Havoc Pennington <hp@redhat.com> | 2005-02-10 23:17:27 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2005-02-10 23:17:27 +0000 |
commit | 83dd8129a0429a2647c3a989ec73c712feb6060c (patch) | |
tree | 80c635e9364fe3de942c3b87df1522d286f533b1 /dbus/dbus-message-util.c | |
parent | fd146b370dd2e014838c08ce0bfc8854ca93928b (diff) | |
download | dbus-83dd8129a0429a2647c3a989ec73c712feb6060c.tar.gz |
2005-02-10 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-util.c (verify_test_message): tests for string
array
* dbus/dbus-message.c (dbus_message_append_args_valist): add
support for arrays of string/signature/path
Diffstat (limited to 'dbus/dbus-message-util.c')
-rw-r--r-- | dbus/dbus-message-util.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/dbus/dbus-message-util.c b/dbus/dbus-message-util.c index 69db2019..e9540be4 100644 --- a/dbus/dbus-message-util.c +++ b/dbus/dbus-message-util.c @@ -733,6 +733,8 @@ verify_test_message (DBusMessage *message) int our_byte_array_len; const dbus_bool_t *our_boolean_array = (void*)0xdeadbeef; int our_boolean_array_len; + char **our_string_array; + int our_string_array_len; dbus_message_iter_init (message, &iter); @@ -767,6 +769,8 @@ verify_test_message (DBusMessage *message) &our_byte_array, &our_byte_array_len, DBUS_TYPE_ARRAY, DBUS_TYPE_BOOLEAN, &our_boolean_array, &our_boolean_array_len, + DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, + &our_string_array, &our_string_array_len, 0)) { _dbus_warn ("error: %s - %s\n", error.name, @@ -874,6 +878,17 @@ verify_test_message (DBusMessage *message) our_boolean_array[4] != FALSE) _dbus_assert_not_reached ("bool array had wrong values"); + if (our_string_array_len != 4) + _dbus_assert_not_reached ("string array was wrong length"); + + if (strcmp (our_string_array[0], "Foo") != 0 || + strcmp (our_string_array[1], "bar") != 0 || + strcmp (our_string_array[2], "") != 0 || + strcmp (our_string_array[3], "woo woo woo woo") != 0) + _dbus_assert_not_reached ("string array had wrong values"); + + dbus_free_string_array (our_string_array); + if (dbus_message_iter_next (&iter)) _dbus_assert_not_reached ("Didn't reach end of arguments"); } @@ -1080,6 +1095,8 @@ _dbus_message_test (const char *test_data_dir) _DBUS_N_ELEMENTS (our_byte_array), DBUS_TYPE_ARRAY, DBUS_TYPE_BOOLEAN, &v_ARRAY_BOOLEAN, _DBUS_N_ELEMENTS (our_boolean_array), + DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &v_ARRAY_STRING, + _DBUS_N_ELEMENTS (our_string_array), DBUS_TYPE_INVALID); i = 0; @@ -1112,7 +1129,9 @@ _dbus_message_test (const char *test_data_dir) sig[i++] = DBUS_TYPE_BYTE; sig[i++] = DBUS_TYPE_ARRAY; sig[i++] = DBUS_TYPE_BOOLEAN; - sig[i++] = DBUS_TYPE_INVALID; + sig[i++] = DBUS_TYPE_ARRAY; + sig[i++] = DBUS_TYPE_STRING; + sig[i++] = DBUS_TYPE_INVALID; _dbus_assert (i < (int) _DBUS_N_ELEMENTS (sig)); |