From: Christian Dywan Date: Thu, 15 Jul 2010 11:20:04 +0000 (+0200) Subject: Add unit tests for dbus_message_get_path_decomposed X-Git-Tag: dbus-1.4.0~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=821f99c318bab33855ce95097447363fa62b163e;p=thirdparty%2Fdbus.git Add unit tests for dbus_message_get_path_decomposed --- diff --git a/dbus/dbus-message-util.c b/dbus/dbus-message-util.c index 94219f61e..f972c8a6a 100644 --- a/dbus/dbus-message-util.c +++ b/dbus/dbus-message-util.c @@ -999,6 +999,7 @@ _dbus_message_test (const char *test_data_dir) #ifdef HAVE_UNIX_FD_PASSING int v_UNIX_FD; #endif + char **decomposed; message = dbus_message_new_method_call ("org.freedesktop.DBus.TestService", "/org/freedesktop/TestPath", @@ -1094,6 +1095,34 @@ _dbus_message_test (const char *test_data_dir) _dbus_assert (strcmp (dbus_message_get_member (message), "Bar") == 0); + /* Path decomposing */ + dbus_message_set_path (message, NULL); + dbus_message_get_path_decomposed (message, &decomposed); + _dbus_assert (decomposed == NULL); + dbus_free_string_array (decomposed); + + dbus_message_set_path (message, "/"); + dbus_message_get_path_decomposed (message, &decomposed); + _dbus_assert (decomposed != NULL); + _dbus_assert (decomposed[0] == NULL); + dbus_free_string_array (decomposed); + + dbus_message_set_path (message, "/a/b"); + dbus_message_get_path_decomposed (message, &decomposed); + _dbus_assert (decomposed != NULL); + _dbus_assert (strcmp (decomposed[0], "a") == 0); + _dbus_assert (strcmp (decomposed[1], "b") == 0); + _dbus_assert (decomposed[2] == NULL); + dbus_free_string_array (decomposed); + + dbus_message_set_path (message, "/spam/eggs"); + dbus_message_get_path_decomposed (message, &decomposed); + _dbus_assert (decomposed != NULL); + _dbus_assert (strcmp (decomposed[0], "spam") == 0); + _dbus_assert (strcmp (decomposed[1], "eggs") == 0); + _dbus_assert (decomposed[2] == NULL); + dbus_free_string_array (decomposed); + dbus_message_unref (message); /* Test the vararg functions */