From: Matthias Clasen Date: Fri, 30 Jul 2010 20:21:49 +0000 (-0400) Subject: Add a test for g_dbus_proxy_get_cached_property_names X-Git-Tag: 2.25.13~68 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5033be80d15cfb6c0a89f4ab0bc5e76cc2cd0a71;p=platform%2Fupstream%2Fglib.git Add a test for g_dbus_proxy_get_cached_property_names --- diff --git a/gio/tests/gdbus-proxy.c b/gio/tests/gdbus-proxy.c index 782bf77..3efef6c 100644 --- a/gio/tests/gdbus-proxy.c +++ b/gio/tests/gdbus-proxy.c @@ -125,6 +125,37 @@ test_methods (GDBusProxy *proxy) g_dbus_proxy_set_default_timeout (proxy, -1); } +static gboolean +strv_equal (const gchar **strv, ...) +{ + gint count; + va_list list; + const gchar *str; + gboolean res; + + res = TRUE; + count = 0; + va_start (list, strv); + while (1) + { + str = va_arg (list, const gchar *); + if (str == NULL) + break; + if (g_strcmp0 (str, strv[count]) != 0) + { + res = FALSE; + break; + } + count++; + } + va_end (list); + + if (res) + res = g_strv_length ((gchar**)strv) == count; + + return res; +} + /* ---------------------------------------------------------------------------------------------------- */ /* Test that the property aspects of GDBusProxy works */ /* ---------------------------------------------------------------------------------------------------- */ @@ -136,10 +167,44 @@ test_properties (GDBusProxy *proxy) GVariant *variant; GVariant *variant2; GVariant *result; + gchar **names; error = NULL; /* + * Check that we can list all cached properties. + */ + names = g_dbus_proxy_get_cached_property_names (proxy); + + g_assert (strv_equal (names, + "PropertyThatWillBeInvalidated", + "ab", + "ad", + "ai", + "an", + "ao", + "aq", + "as", + "at", + "au", + "ax", + "ay", + "b", + "d", + "foo", + "i", + "n", + "o", + "q", + "s", + "t", + "u", + "x", + "y")); + + g_strfreev (names); + + /* * Check that we can read cached properties. * * No need to test all properties - GVariant has already been tested