aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am7
-rw-r--r--tests/Makefile.in7
-rw-r--r--tests/dbusmenu-jsonloader-0.4.pc.in2
-rw-r--r--tests/json-loader.c23
-rw-r--r--tests/test-glib-proxy-client.c1
5 files changed, 21 insertions, 19 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a4e8682..532c14f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,5 @@
-DBUS_RUNNER=dbus-test-runner
+DBUS_RUNNER=dbus-test-runner --max-wait=0
CLEANFILES=
DISTCLEANFILES=
@@ -29,9 +29,6 @@ TESTS += \
test-gtk-parser-test
endif
-XFAIL_TESTS = \
- test-glib-proxy
-
# The Python test only work on the system copy of
# dbusmenu, so while they can be usefule they're not
# good tests of what you're currently building. Handy
@@ -86,7 +83,7 @@ TESTS_ENVIRONMENT = env GI_TYPELIB_PATH=$(top_builddir)/libdbusmenu-glib:$(top_b
lib_LTLIBRARIES = libdbusmenu-jsonloader.la
-libdbusmenu_jsonloaderincludedir=$(includedir)/libdbusmenu-0.4/libdbusmenu-jsonloader/
+libdbusmenu_jsonloaderincludedir=$(includedir)/libdbusmenu-glib-0.4/libdbusmenu-jsonloader/
libdbusmenu_jsonloaderinclude_HEADERS = \
json-loader.h
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 1745f95..64d50b9 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -657,7 +657,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-DBUS_RUNNER = dbus-test-runner
+DBUS_RUNNER = dbus-test-runner --max-wait=0
CLEANFILES = test-json-01.output.json test-gtk-shortcut-client.pyc \
dbusmenu-gtk/mago_tests/dbusmenu.pyc
DISTCLEANFILES = $(OBJECT_XML_REPORT) $(GTK_OBJECT_XML_REPORT) \
@@ -683,9 +683,6 @@ EXTRA_DIST = test-glib-simple-items.py test-gtk-shortcut-client.py \
dbusmenu-gtk/mago_tests/data/static.json \
dbusmenu-gtk/mago_tests/data/test-gtk-label.json \
test-json-01.json
-XFAIL_TESTS = \
- test-glib-proxy
-
# The Python test only work on the system copy of
# dbusmenu, so while they can be usefule they're not
@@ -704,7 +701,7 @@ TESTS_ENVIRONMENT = env GI_TYPELIB_PATH=$(top_builddir)/libdbusmenu-glib:$(top_b
# JSON Loader lib
######################
lib_LTLIBRARIES = libdbusmenu-jsonloader.la
-libdbusmenu_jsonloaderincludedir = $(includedir)/libdbusmenu-0.4/libdbusmenu-jsonloader/
+libdbusmenu_jsonloaderincludedir = $(includedir)/libdbusmenu-glib-0.4/libdbusmenu-jsonloader/
libdbusmenu_jsonloaderinclude_HEADERS = \
json-loader.h
diff --git a/tests/dbusmenu-jsonloader-0.4.pc.in b/tests/dbusmenu-jsonloader-0.4.pc.in
index 62bfeb2..1920d02 100644
--- a/tests/dbusmenu-jsonloader-0.4.pc.in
+++ b/tests/dbusmenu-jsonloader-0.4.pc.in
@@ -4,7 +4,7 @@ libdir=@libdir@
bindir=@bindir@
includedir=@includedir@
-Cflags: -I${includedir}/libdbusmenu-0.1
+Cflags: -I${includedir}/libdbusmenu-glib-0.4
Requires: dbusmenu-glib-0.4 json-glib-1.0
Libs: -L${libdir} -ldbusmenu-jsonloader
diff --git a/tests/json-loader.c b/tests/json-loader.c
index 36157dc..7f0ec8e 100644
--- a/tests/json-loader.c
+++ b/tests/json-loader.c
@@ -21,13 +21,13 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
#include "json-loader.h"
-static GVariant * node2variant (JsonNode * node);
+static GVariant * node2variant (JsonNode * node, const gchar * name);
static void
array_foreach (JsonArray * array, guint index, JsonNode * node, gpointer user_data)
{
GVariantBuilder * builder = (GVariantBuilder *)user_data;
- GVariant * variant = node2variant(node);
+ GVariant * variant = node2variant(node, NULL);
if (variant != NULL) {
g_variant_builder_add_value(builder, variant);
}
@@ -38,7 +38,7 @@ static void
object_foreach (JsonObject * array, const gchar * member, JsonNode * node, gpointer user_data)
{
GVariantBuilder * builder = (GVariantBuilder *)user_data;
- GVariant * variant = node2variant(node);
+ GVariant * variant = node2variant(node, member);
if (variant != NULL) {
g_variant_builder_add(builder, "{sv}", member, variant);
}
@@ -46,7 +46,7 @@ object_foreach (JsonObject * array, const gchar * member, JsonNode * node, gpoin
}
static GVariant *
-node2variant (JsonNode * node)
+node2variant (JsonNode * node, const gchar * name)
{
if (node == NULL) {
return NULL;
@@ -62,8 +62,17 @@ node2variant (JsonNode * node)
return g_variant_new_double(json_node_get_double(node));
case G_TYPE_BOOLEAN:
return g_variant_new_boolean(json_node_get_boolean(node));
- case G_TYPE_STRING:
- return g_variant_new_string(json_node_get_string(node));
+ case G_TYPE_STRING: {
+ if (g_strcmp0(name, DBUSMENU_MENUITEM_PROP_ICON_DATA) != 0) {
+ return g_variant_new_string(json_node_get_string(node));
+ } else {
+ gsize length;
+ guchar * b64 = g_base64_decode(json_node_get_string(node), &length);
+ GVariant * retval = g_variant_new_fixed_array(G_VARIANT_TYPE_BYTE, b64, length, sizeof(guchar));
+ g_free(b64);
+ return retval;
+ }
+ }
default:
g_assert_not_reached();
}
@@ -105,7 +114,7 @@ set_props (DbusmenuMenuitem * mi, JsonObject * node)
if (!g_strcmp0(member, "submenu")) { continue; }
JsonNode * lnode = json_object_get_member(node, member);
- GVariant * variant = node2variant(lnode);
+ GVariant * variant = node2variant(lnode, member);
if (variant != NULL) {
dbusmenu_menuitem_property_set_variant(mi, member, variant);
diff --git a/tests/test-glib-proxy-client.c b/tests/test-glib-proxy-client.c
index 2e1e2d2..d20c27c 100644
--- a/tests/test-glib-proxy-client.c
+++ b/tests/test-glib-proxy-client.c
@@ -152,7 +152,6 @@ layout_verify_timer (gpointer data)
GVariant * value = g_variant_new("i", 0);
dbusmenu_menuitem_handle_event(menuroot, "clicked", value, layouton);
- g_variant_unref(value);
return FALSE;
}