summaryrefslogtreecommitdiffstats
path: root/glib/dbus-gmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/dbus-gmain.c')
-rw-r--r--glib/dbus-gmain.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/glib/dbus-gmain.c b/glib/dbus-gmain.c
index 046c493c..08f8aef4 100644
--- a/glib/dbus-gmain.c
+++ b/glib/dbus-gmain.c
@@ -27,6 +27,9 @@
#include <dbus/dbus-glib-lowlevel.h>
#include "dbus-gtest.h"
#include "dbus-gutils.h"
+#include "dbus-gvalue.h"
+#include "dbus-gvalue-utils.h"
+#include <string.h>
#include <libintl.h>
#define _(x) dgettext (GETTEXT_PACKAGE, x)
@@ -709,6 +712,8 @@ dbus_g_bus_get (DBusBusType type,
DBusError derror;
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
+
+ dbus_g_value_types_init ();
dbus_error_init (&derror);
@@ -738,6 +743,30 @@ dbus_g_bus_get (DBusBusType type,
gboolean
_dbus_gmain_test (const char *test_data_dir)
{
+ GType rectype;
+ GType gtype;
+
+ g_type_init ();
+ dbus_g_value_types_init ();
+
+ rectype = dbus_g_type_get_collection ("GArray", G_TYPE_UINT);
+ g_assert (rectype != G_TYPE_INVALID);
+ g_assert (!strcmp (g_type_name (rectype), "GArray+guint"));
+
+ gtype = dbus_gtype_from_signature ("au", TRUE);
+ g_assert (gtype == rectype);
+
+ rectype = dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_STRING);
+ g_assert (rectype != G_TYPE_INVALID);
+ g_assert (!strcmp (g_type_name (rectype), "GHashTable+gchararray+gchararray"));
+
+ gtype = dbus_gtype_from_signature ("a{ss}", TRUE);
+ g_assert (gtype == rectype);
+
+ gtype = dbus_gtype_from_signature ("o", FALSE);
+ g_assert (gtype == G_TYPE_OBJECT);
+ gtype = dbus_gtype_from_signature ("o", TRUE);
+ g_assert (gtype == DBUS_TYPE_G_PROXY);
return TRUE;
}