[glib] Add a test for g_dbus_proxy_get_cached_property_names



commit 5033be80d15cfb6c0a89f4ab0bc5e76cc2cd0a71
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Jul 30 16:21:49 2010 -0400

    Add a test for g_dbus_proxy_get_cached_property_names

 gio/tests/gdbus-proxy.c |   65 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)
---
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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]