From 23b418faf95a4e8fef6c98726309292325b5919c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 17 Jun 2009 13:48:50 -0500 Subject: Adding in json-glib to make the tests more configurable. --- tests/Makefile.am | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/Makefile.am b/tests/Makefile.am index 70750ac..3e818a2 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -94,12 +94,14 @@ test_gtk_label_server_SOURCES = \ test_gtk_label_server_CFLAGS = \ -I $(srcdir)/.. \ $(DBUSMENUGTK_CFLAGS) \ + $(DBUSMENUTESTS_CFLAGS) \ $(DBUSMENUGLIB_CFLAGS) -Wall -Werror test_gtk_label_server_LDADD = \ ../libdbusmenu-glib/libdbusmenu-glib.la \ ../libdbusmenu-gtk/libdbusmenu-gtk.la \ - $(DBUSMENUGTK_LIBS) + $(DBUSMENUGTK_LIBS) \ + $(DBUSMENUTESTS_LIBS) test_gtk_label_client_SOURCES = \ test-gtk-label.h \ @@ -108,12 +110,14 @@ test_gtk_label_client_SOURCES = \ test_gtk_label_client_CFLAGS = \ -I $(srcdir)/.. \ $(DBUSMENUGTK_CFLAGS) \ + $(DBUSMENUTESTS_CFLAGS) \ $(DBUSMENUGLIB_CFLAGS) -Wall -Werror test_gtk_label_client_LDADD = \ ../libdbusmenu-glib/libdbusmenu-glib.la \ ../libdbusmenu-gtk/libdbusmenu-gtk.la \ - $(DBUSMENUGTK_LIBS) + $(DBUSMENUGTK_LIBS) \ + $(DBUSMENUTESTS_LIBS) -- cgit v1.2.3 From 649793765154a37d717d833d305e4a9671c996f9 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 17 Jun 2009 14:26:13 -0500 Subject: Switching from a header file to building the layout using a json definition. --- tests/test-gtk-label-server.c | 70 +++++++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 16 deletions(-) (limited to 'tests') diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index 4e2fe0a..349d7d1 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -8,33 +8,55 @@ #include #include -#include "test-gtk-label.h" +#include static void -set_props (DbusmenuMenuitem * mi, gchar ** props) +set_props (DbusmenuMenuitem * mi, JsonObject * node) { - if (props == NULL) return; + if (node == NULL) return; - guint i; - for (i = 0; props[i] != NULL; i += 2) { - dbusmenu_menuitem_property_set(mi, props[i], props[i+1]); + GList * members = NULL; + for (members = json_object_get_members(node); members != NULL; members = g_list_next(members)) { + const gchar * member = members->data; + + if (!g_strcmp0(member, "id")) { continue; } + if (!g_strcmp0(member, "submenu")) { continue; } + + JsonNode * lnode = json_object_get_member(node, member); + if (JSON_NODE_TYPE(lnode) != JSON_NODE_VALUE) { continue; } + + dbusmenu_menuitem_property_set(mi, member, json_node_get_string(lnode)); } return; } static DbusmenuMenuitem * -layout2menuitem (proplayout_t * layout) +layout2menuitem (JsonNode * inlayout) { - if (layout == NULL || layout->id == 0) return NULL; + if (inlayout == NULL) return NULL; + if (JSON_NODE_TYPE(inlayout) != JSON_NODE_OBJECT) return NULL; + + JsonObject * layout = json_node_get_object(inlayout); + + DbusmenuMenuitem * local = NULL; + if (json_object_has_member(layout, "id")) { + JsonNode * node = json_object_get_member(layout, "id"); + g_return_val_if_fail(JSON_NODE_TYPE(node) == JSON_NODE_VALUE, NULL); + local = dbusmenu_menuitem_new_with_id(json_node_get_int(node)); + } else { + local = dbusmenu_menuitem_new(); + } - DbusmenuMenuitem * local = dbusmenu_menuitem_new_with_id(layout->id); - set_props(local, layout->properties); + set_props(local, layout); - if (layout->submenu != NULL) { + if (json_object_has_member(layout, "submenu")) { + JsonNode * node = json_object_get_member(layout, "submenu"); + g_return_val_if_fail(JSON_NODE_TYPE(node) == JSON_NODE_ARRAY, local); + JsonArray * array = json_node_get_array(node); guint count; - for (count = 0; layout->submenu[count].id != 0; count++) { - DbusmenuMenuitem * child = layout2menuitem(&layout->submenu[count]); + for (count = 0; count < json_array_get_length(array); count++) { + DbusmenuMenuitem * child = layout2menuitem(json_array_get_element(array, count)); if (child != NULL) { dbusmenu_menuitem_child_append(local, child); } @@ -45,6 +67,7 @@ layout2menuitem (proplayout_t * layout) return local; } +static JsonArray * root_array = NULL; static guint layouton = 0; static DbusmenuServer * server = NULL; static GMainLoop * mainloop = NULL; @@ -52,13 +75,14 @@ static GMainLoop * mainloop = NULL; static gboolean timer_func (gpointer data) { - if (layouts[layouton].id == 0) { + if (layouton == json_array_get_length(root_array)) { + g_debug("Completed %d layouts", layouton); g_main_loop_quit(mainloop); return FALSE; } g_debug("Updating to Layout %d", layouton); - dbusmenu_server_set_root(server, layout2menuitem(&layouts[layouton])); + dbusmenu_server_set_root(server, layout2menuitem(json_array_get_element(root_array, layouton))); layouton++; return TRUE; @@ -69,11 +93,25 @@ main (int argc, char ** argv) { g_type_init(); + JsonParser * parser = json_parser_new(); + GError * error = NULL; + if (!json_parser_load_from_file(parser, argv[1], &error)) { + g_debug("Failed parsing file %s because: %s", argv[1], error->message); + return 1; + } + JsonNode * root_node = json_parser_get_root(parser); + if (JSON_NODE_TYPE(root_node) != JSON_NODE_ARRAY) { + g_debug("Root node is not an array, fail. It's an: %s", json_node_type_name(root_node)); + return 1; + } + + root_array = json_node_get_array(root_node); + g_debug("%d layouts in test description '%s'", json_array_get_length(root_array), argv[1]); + DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); g_debug("DBus ID: %s", dbus_connection_get_server_id(dbus_g_connection_get_connection(dbus_g_bus_get(DBUS_BUS_SESSION, NULL)))); DBusGProxy * bus_proxy = dbus_g_proxy_new_for_name(connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); - GError * error = NULL; guint nameret = 0; if (!org_freedesktop_DBus_request_name(bus_proxy, "glib.label.test", 0, &nameret, &error)) { -- cgit v1.2.3 From 383f487b5ad3a22a78d9ee061fa5936b3a36725e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 17 Jun 2009 14:59:57 -0500 Subject: Getting the label tests into a json file. --- tests/test-gtk-label.json | 158 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 tests/test-gtk-label.json (limited to 'tests') diff --git a/tests/test-gtk-label.json b/tests/test-gtk-label.json new file mode 100644 index 0000000..64c1386 --- /dev/null +++ b/tests/test-gtk-label.json @@ -0,0 +1,158 @@ +[ + {"id": 1, + "label": "value1", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + {"id": 2, + "label": "value2", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 3, + "label": "a super long label that is really of unreasonable length but we should make sure it makes it across the bus", + "not.a.value": "A useless value", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 4, + "label": "value2", + "submenu": [ + {"id": 5, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 7, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] -- cgit v1.2.3 From 07b578064af5b24176c86e002cf410adebe99626 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 17 Jun 2009 15:36:53 -0500 Subject: Removing test-gtk-label.h --- tests/Makefile.am | 2 -- tests/test-gtk-label-server.c | 4 +-- tests/test-gtk-label.h | 75 ------------------------------------------- 3 files changed, 2 insertions(+), 79 deletions(-) delete mode 100644 tests/test-gtk-label.h (limited to 'tests') diff --git a/tests/Makefile.am b/tests/Makefile.am index 3e818a2..e566594 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -88,7 +88,6 @@ test-gtk-label: test-gtk-label-client test-gtk-label-server $(DBUS_RUNNER) --task ./test-gtk-label-client --task-name Client --task ./test-gtk-label-server --task-name Server --ignore-return test_gtk_label_server_SOURCES = \ - test-gtk-label.h \ test-gtk-label-server.c test_gtk_label_server_CFLAGS = \ @@ -104,7 +103,6 @@ test_gtk_label_server_LDADD = \ $(DBUSMENUTESTS_LIBS) test_gtk_label_client_SOURCES = \ - test-gtk-label.h \ test-gtk-label-client.c test_gtk_label_client_CFLAGS = \ diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index 349d7d1..a494ab0 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -95,8 +95,8 @@ main (int argc, char ** argv) JsonParser * parser = json_parser_new(); GError * error = NULL; - if (!json_parser_load_from_file(parser, argv[1], &error)) { - g_debug("Failed parsing file %s because: %s", argv[1], error->message); + if (!json_parser_load_from_file(parser, "test-gtk-label.json", &error)) { + g_debug("Failed parsing file %s because: %s", "test-gtk-label.json", error->message); return 1; } JsonNode * root_node = json_parser_get_root(parser); diff --git a/tests/test-gtk-label.h b/tests/test-gtk-label.h deleted file mode 100644 index e63ac44..0000000 --- a/tests/test-gtk-label.h +++ /dev/null @@ -1,75 +0,0 @@ - -#include - -typedef struct _proplayout_t proplayout_t; -struct _proplayout_t { - guint id; - gchar ** properties; - proplayout_t * submenu; -}; - -gchar * props1[] = {"label", "value1", NULL}; -gchar * props2[] = {"label", "value1", NULL}; -gchar * props3[] = {"label", - "And a property name that is really long should have a value that is really long, because well, that's an important part of the yin and yang of software testing.", - NULL}; -gchar * props4[] = {"icon-name", "network-status", "label", "Look at network", "right-column", "10:32", NULL}; - - -proplayout_t submenu_4_1[] = { - {id: 10, properties: props2, submenu: NULL}, - {id: 11, properties: props2, submenu: NULL}, - {id: 12, properties: props2, submenu: NULL}, - {id: 13, properties: props2, submenu: NULL}, - {id: 14, properties: props2, submenu: NULL}, - {id: 15, properties: props2, submenu: NULL}, - {id: 16, properties: props2, submenu: NULL}, - {id: 17, properties: props2, submenu: NULL}, - {id: 18, properties: props2, submenu: NULL}, - {id: 19, properties: props2, submenu: NULL}, - {id: 0, properties: NULL, submenu: NULL} -}; - -proplayout_t submenu_4_2[] = { - {id: 20, properties: props2, submenu: NULL}, - {id: 21, properties: props2, submenu: NULL}, - {id: 22, properties: props2, submenu: NULL}, - {id: 23, properties: props2, submenu: NULL}, - {id: 24, properties: props2, submenu: NULL}, - {id: 25, properties: props2, submenu: NULL}, - {id: 26, properties: props2, submenu: NULL}, - {id: 27, properties: props2, submenu: NULL}, - {id: 28, properties: props2, submenu: NULL}, - {id: 29, properties: props2, submenu: NULL}, - {id: 0, properties: NULL, submenu: NULL} -}; - -proplayout_t submenu_4_3[] = { - {id: 30, properties: props2, submenu: NULL}, - {id: 31, properties: props2, submenu: NULL}, - {id: 32, properties: props2, submenu: NULL}, - {id: 33, properties: props2, submenu: NULL}, - {id: 34, properties: props2, submenu: NULL}, - {id: 35, properties: props2, submenu: NULL}, - {id: 36, properties: props2, submenu: NULL}, - {id: 37, properties: props2, submenu: NULL}, - {id: 38, properties: props2, submenu: NULL}, - {id: 39, properties: props2, submenu: NULL}, - {id: 0, properties: NULL, submenu: NULL} -}; - -proplayout_t submenu_4_0[] = { - {id: 1, properties: props2, submenu: submenu_4_1}, - {id: 2, properties: props2, submenu: submenu_4_2}, - {id: 3, properties: props2, submenu: submenu_4_3}, - {id: 0, properties: NULL, submenu: NULL} -}; - -proplayout_t layouts[] = { - {id: 1, properties: props1, submenu: submenu_4_3}, - {id: 10, properties: props2, submenu: submenu_4_2}, - {id: 20, properties: props3, submenu: submenu_4_1}, - {id: 100, properties: props2, submenu: submenu_4_0}, - {id: 0, properties: NULL, submenu: NULL} -}; - -- cgit v1.2.3 From e685fa4eed5c4fcbc469e3ebe2a9c6562c91b057 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 17 Jun 2009 16:36:17 -0500 Subject: The new dbus-test-runner has parameters. So now we're changing the server to take the json parameter and the file. --- tests/Makefile.am | 8 +++++--- tests/test-gtk-label-server.c | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/Makefile.am b/tests/Makefile.am index e566594..2ec6ca7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -84,8 +84,8 @@ test_glib_properties_client_LDADD = \ -test-gtk-label: test-gtk-label-client test-gtk-label-server - $(DBUS_RUNNER) --task ./test-gtk-label-client --task-name Client --task ./test-gtk-label-server --task-name Server --ignore-return +test-gtk-label: test-gtk-label-client test-gtk-label-server test-gtk-label.json + $(DBUS_RUNNER) --task ./test-gtk-label-client --task-name Client --task ./test-gtk-label-server --parameter $(srcdir)/test-gtk-label.json --task-name Server --ignore-return test_gtk_label_server_SOURCES = \ test-gtk-label-server.c @@ -124,4 +124,6 @@ examplesdir = $(docdir)/examples/ examples_DATA = \ $(glib_server_nomenu_SOURCES) -EXTRA_DIST = $(examples_DATA) +EXTRA_DIST = \ + $(examples_DATA) \ + test-gtk-label.json diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index a494ab0..349d7d1 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -95,8 +95,8 @@ main (int argc, char ** argv) JsonParser * parser = json_parser_new(); GError * error = NULL; - if (!json_parser_load_from_file(parser, "test-gtk-label.json", &error)) { - g_debug("Failed parsing file %s because: %s", "test-gtk-label.json", error->message); + if (!json_parser_load_from_file(parser, argv[1], &error)) { + g_debug("Failed parsing file %s because: %s", argv[1], error->message); return 1; } JsonNode * root_node = json_parser_get_root(parser); -- cgit v1.2.3 From 9448adebb30c0fc3a96aa9a380c2280ae9fbb8be Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 18 Jun 2009 09:28:56 -0500 Subject: Setting the window title --- tests/test-gtk-label-client.c | 1 + 1 file changed, 1 insertion(+) (limited to 'tests') diff --git a/tests/test-gtk-label-client.c b/tests/test-gtk-label-client.c index 44a847f..8a2d5d9 100644 --- a/tests/test-gtk-label-client.c +++ b/tests/test-gtk-label-client.c @@ -163,6 +163,7 @@ main (int argc, char ** argv) gtk_menu_bar_append(menubar, menuitem); gtk_widget_show(menubar); gtk_container_add(GTK_CONTAINER(window), menubar); + gtk_window_set_title(GTK_WINDOW(window), "libdbusmenu-gtk test"); gtk_widget_show(window); death_timer = g_timeout_add_seconds(10, timer_func, window); -- cgit v1.2.3 From 218976c1a5087e745fdc2fb697deb154efd1ca3b Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 18 Jun 2009 09:31:24 -0500 Subject: Lengthening timeouts so that each layout is shown for 15 seconds and the client runs for 60 --- tests/test-gtk-label-client.c | 2 +- tests/test-gtk-label-server.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/test-gtk-label-client.c b/tests/test-gtk-label-client.c index 8a2d5d9..b691f84 100644 --- a/tests/test-gtk-label-client.c +++ b/tests/test-gtk-label-client.c @@ -166,7 +166,7 @@ main (int argc, char ** argv) gtk_window_set_title(GTK_WINDOW(window), "libdbusmenu-gtk test"); gtk_widget_show(window); - death_timer = g_timeout_add_seconds(10, timer_func, window); + death_timer = g_timeout_add_seconds(60, timer_func, window); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index 349d7d1..a7534f2 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -127,7 +127,7 @@ main (int argc, char ** argv) server = dbusmenu_server_new("/org/test"); timer_func(NULL); - g_timeout_add(2500, timer_func, NULL); + g_timeout_add_seconds(15, timer_func, NULL); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); -- cgit v1.2.3 From e8c23ce151973a8c9b48b3e78e108ac840613e41 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 18 Jun 2009 14:11:42 -0500 Subject: Putting GPLv3 on some of these that were missing it. --- tests/test-glib-properties-server.c | 21 +++++++++++++++++++++ tests/test-glib-properties.h | 21 +++++++++++++++++++++ tests/test-gtk-label-server.c | 21 +++++++++++++++++++++ 3 files changed, 63 insertions(+) (limited to 'tests') diff --git a/tests/test-glib-properties-server.c b/tests/test-glib-properties-server.c index a51ac0c..8dad37f 100644 --- a/tests/test-glib-properties-server.c +++ b/tests/test-glib-properties-server.c @@ -1,3 +1,24 @@ +/* +A test for libdbusmenu to ensure its quality. + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + #include #include diff --git a/tests/test-glib-properties.h b/tests/test-glib-properties.h index 3ab7ee7..5e83f5c 100644 --- a/tests/test-glib-properties.h +++ b/tests/test-glib-properties.h @@ -1,3 +1,24 @@ +/* +A test for libdbusmenu to ensure its quality. + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + #include diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index a7534f2..ee750ad 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -1,3 +1,24 @@ +/* +A test for libdbusmenu to ensure its quality. + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + #include #include -- cgit v1.2.3 From 34759508896a07182e93ed556ab406596a7ecbbe Mon Sep 17 00:00:00 2001 From: Ara Pulido Date: Wed, 24 Jun 2009 15:36:19 +0200 Subject: Added mago tests for dbusmenu-gtk --- tests/dbusmenu-gtk/data/blank_label.json | 26 ++++ tests/dbusmenu-gtk/data/blank_label_2levels.json | 82 +++++++++++ tests/dbusmenu-gtk/data/blank_submenus.json | 48 +++++++ tests/dbusmenu-gtk/data/dynamic.json | 158 +++++++++++++++++++++ tests/dbusmenu-gtk/data/long_label.json | 82 +++++++++++ tests/dbusmenu-gtk/data/no_id.json | 24 ++++ tests/dbusmenu-gtk/data/no_label.json | 24 ++++ tests/dbusmenu-gtk/data/sameid_submenus.json | 82 +++++++++++ .../data/sameid_submenus_diff_sizes.json | 64 +++++++++ .../dbusmenu-gtk/data/sameid_top_and_submenus.json | 82 +++++++++++ tests/dbusmenu-gtk/data/sameid_topmenu.json | 158 +++++++++++++++++++++ tests/dbusmenu-gtk/data/several_submenus.json | 51 +++++++ .../data/several_submenus_recursive.json | 49 +++++++ tests/dbusmenu-gtk/data/several_submenus_utf8.json | 51 +++++++ tests/dbusmenu-gtk/data/static.json | 26 ++++ tests/dbusmenu-gtk/data/test-gtk-label.json | 158 +++++++++++++++++++++ tests/dbusmenu-gtk/dbusMenuTest | 8 ++ tests/dbusmenu-gtk/dbusmenu.py | 71 +++++++++ tests/dbusmenu-gtk/dbusmenu.xml | 89 ++++++++++++ 19 files changed, 1333 insertions(+) create mode 100644 tests/dbusmenu-gtk/data/blank_label.json create mode 100644 tests/dbusmenu-gtk/data/blank_label_2levels.json create mode 100644 tests/dbusmenu-gtk/data/blank_submenus.json create mode 100644 tests/dbusmenu-gtk/data/dynamic.json create mode 100644 tests/dbusmenu-gtk/data/long_label.json create mode 100644 tests/dbusmenu-gtk/data/no_id.json create mode 100644 tests/dbusmenu-gtk/data/no_label.json create mode 100644 tests/dbusmenu-gtk/data/sameid_submenus.json create mode 100644 tests/dbusmenu-gtk/data/sameid_submenus_diff_sizes.json create mode 100644 tests/dbusmenu-gtk/data/sameid_top_and_submenus.json create mode 100644 tests/dbusmenu-gtk/data/sameid_topmenu.json create mode 100644 tests/dbusmenu-gtk/data/several_submenus.json create mode 100644 tests/dbusmenu-gtk/data/several_submenus_recursive.json create mode 100644 tests/dbusmenu-gtk/data/several_submenus_utf8.json create mode 100644 tests/dbusmenu-gtk/data/static.json create mode 100644 tests/dbusmenu-gtk/data/test-gtk-label.json create mode 100755 tests/dbusmenu-gtk/dbusMenuTest create mode 100644 tests/dbusmenu-gtk/dbusmenu.py create mode 100644 tests/dbusmenu-gtk/dbusmenu.xml (limited to 'tests') diff --git a/tests/dbusmenu-gtk/data/blank_label.json b/tests/dbusmenu-gtk/data/blank_label.json new file mode 100644 index 0000000..d62d49b --- /dev/null +++ b/tests/dbusmenu-gtk/data/blank_label.json @@ -0,0 +1,26 @@ +[ + {"id": 1, + "label": "", + "submenu": [ + {"id": 30, + "label": ""}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }] diff --git a/tests/dbusmenu-gtk/data/blank_label_2levels.json b/tests/dbusmenu-gtk/data/blank_label_2levels.json new file mode 100644 index 0000000..e3335a5 --- /dev/null +++ b/tests/dbusmenu-gtk/data/blank_label_2levels.json @@ -0,0 +1,82 @@ +[ + {"id": 4, + "label": "", + "submenu": [ + {"id": 5, + "label": "", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 6, + "label": "", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 7, + "label": "", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/blank_submenus.json b/tests/dbusmenu-gtk/data/blank_submenus.json new file mode 100644 index 0000000..2eaff27 --- /dev/null +++ b/tests/dbusmenu-gtk/data/blank_submenus.json @@ -0,0 +1,48 @@ +[ + {"id": 4, + "label": "value2", + "submenu": [ + {"id": 5, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + ] + }, + {"id": 7, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/dynamic.json b/tests/dbusmenu-gtk/data/dynamic.json new file mode 100644 index 0000000..efa7a75 --- /dev/null +++ b/tests/dbusmenu-gtk/data/dynamic.json @@ -0,0 +1,158 @@ +[ + {"id": 1, + "label": "value1", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + {"id": 1, + "label": "value2", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 1, + "label": "a super long label that is really of unreasonable length but we should make sure it makes it across the bus", + "not.a.value": "A useless value", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 1, + "label": "value2", + "submenu": [ + {"id": 5, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value100000"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 7, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/long_label.json b/tests/dbusmenu-gtk/data/long_label.json new file mode 100644 index 0000000..7cacb7f --- /dev/null +++ b/tests/dbusmenu-gtk/data/long_label.json @@ -0,0 +1,82 @@ +[ + {"id": 4, + "label": "", + "submenu": [ + {"id": 5, + "label": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 6, + "label": "", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 7, + "label": "", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/no_id.json b/tests/dbusmenu-gtk/data/no_id.json new file mode 100644 index 0000000..201408a --- /dev/null +++ b/tests/dbusmenu-gtk/data/no_id.json @@ -0,0 +1,24 @@ +[ + { "label": "I dont have an id", + "submenu": [ + {"label": "30", "submenu": [{"label": "submenu_from_no_id"}]}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }] diff --git a/tests/dbusmenu-gtk/data/no_label.json b/tests/dbusmenu-gtk/data/no_label.json new file mode 100644 index 0000000..c651cbc --- /dev/null +++ b/tests/dbusmenu-gtk/data/no_label.json @@ -0,0 +1,24 @@ +[ + {"id": 1, "label": "hey", + "submenu": [ + {"id": 30, "submenu": [{"id":500, "label": "submenu_from_no_label"}]}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }] diff --git a/tests/dbusmenu-gtk/data/sameid_submenus.json b/tests/dbusmenu-gtk/data/sameid_submenus.json new file mode 100644 index 0000000..a61c92b --- /dev/null +++ b/tests/dbusmenu-gtk/data/sameid_submenus.json @@ -0,0 +1,82 @@ +[ + {"id": 4, + "label": "value2", + "submenu": [ + {"id": 6, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 6, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/sameid_submenus_diff_sizes.json b/tests/dbusmenu-gtk/data/sameid_submenus_diff_sizes.json new file mode 100644 index 0000000..d8f36c6 --- /dev/null +++ b/tests/dbusmenu-gtk/data/sameid_submenus_diff_sizes.json @@ -0,0 +1,64 @@ +[ + {"id": 4, + "label": "value2", + "submenu": [ + {"id": 6, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 6, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/sameid_top_and_submenus.json b/tests/dbusmenu-gtk/data/sameid_top_and_submenus.json new file mode 100644 index 0000000..102720f --- /dev/null +++ b/tests/dbusmenu-gtk/data/sameid_top_and_submenus.json @@ -0,0 +1,82 @@ +[ + {"id": 4, + "label": "value2", + "submenu": [ + {"id": 4, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 4, + "label": "value6", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 4, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/sameid_topmenu.json b/tests/dbusmenu-gtk/data/sameid_topmenu.json new file mode 100644 index 0000000..ee9d97f --- /dev/null +++ b/tests/dbusmenu-gtk/data/sameid_topmenu.json @@ -0,0 +1,158 @@ +[ + {"id": 1, + "label": "value1", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + {"id": 1, + "label": "value2", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 1, + "label": "a super long label that is really of unreasonable length but we should make sure it makes it across the bus", + "not.a.value": "A useless value", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 1, + "label": "value2", + "submenu": [ + {"id": 5, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 7, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/several_submenus.json b/tests/dbusmenu-gtk/data/several_submenus.json new file mode 100644 index 0000000..3b9bb98 --- /dev/null +++ b/tests/dbusmenu-gtk/data/several_submenus.json @@ -0,0 +1,51 @@ +[ + {"id": 4, + "label": "value2", + "submenu": [ + {"id": 5, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + ] + }, + {"id": 7, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30", + "submenu": [ + {"id": 4, "label": "value99", "nonsenses": "useless"} + ]}, + {"id": 31, + "label": "alue31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/several_submenus_recursive.json b/tests/dbusmenu-gtk/data/several_submenus_recursive.json new file mode 100644 index 0000000..1320ef4 --- /dev/null +++ b/tests/dbusmenu-gtk/data/several_submenus_recursive.json @@ -0,0 +1,49 @@ +[ + {"id": 4, + "label": "value2", + "submenu": [ + {"id": 5, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + ] + }, + {"id": 7, + "label": "value7", + "submenu": [ + {"id": 31, + "label": "value30", + "submenu": [{"id": 301, "label": "value301", "submenu": [{"id": 3001, "label": "value3001", "submenu": [{"id": 5001, "label": "value5001", "submenu": [{"id": 7001, "label": "value7001"}]}]}]}, {"id": 88, "label": "value88"}]}, + {"id": 30, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/several_submenus_utf8.json b/tests/dbusmenu-gtk/data/several_submenus_utf8.json new file mode 100644 index 0000000..b7b07f9 --- /dev/null +++ b/tests/dbusmenu-gtk/data/several_submenus_utf8.json @@ -0,0 +1,51 @@ +[ + {"id": 4, + "label": "value2ñ", + "submenu": [ + {"id": 5, + "label": "value5ス", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"} + ] + }, + {"id": 6, + "label": "value6ñ", + "submenu": [ + ] + }, + {"id": 7, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30", + "submenu": [ + {"id": 50, "label": "value9", "nonsenses": "useless"} + ]}, + {"id": 31, + "label": "alue31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/data/static.json b/tests/dbusmenu-gtk/data/static.json new file mode 100644 index 0000000..dec591a --- /dev/null +++ b/tests/dbusmenu-gtk/data/static.json @@ -0,0 +1,26 @@ +[ + {"id": 1, + "label": "value1", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }] diff --git a/tests/dbusmenu-gtk/data/test-gtk-label.json b/tests/dbusmenu-gtk/data/test-gtk-label.json new file mode 100644 index 0000000..64c1386 --- /dev/null +++ b/tests/dbusmenu-gtk/data/test-gtk-label.json @@ -0,0 +1,158 @@ +[ + {"id": 1, + "label": "value1", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + {"id": 2, + "label": "value2", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 3, + "label": "a super long label that is really of unreasonable length but we should make sure it makes it across the bus", + "not.a.value": "A useless value", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 4, + "label": "value2", + "submenu": [ + {"id": 5, + "label": "value5", + "submenu": [ + {"id": 10, + "label": "value10"}, + {"id": 11, + "label": "value11"}, + {"id": 12, + "label": "value12"}, + {"id": 13, + "label": "value13"}, + {"id": 14, + "label": "value14"}, + {"id": 15, + "label": "value15"}, + {"id": 16, + "label": "value16"}, + {"id": 17, + "label": "value17"}, + {"id": 18, + "label": "value18"}, + {"id": 19, + "label": "value19"} + ] + }, + {"id": 6, + "label": "value6", + "submenu": [ + {"id": 20, + "label": "value20"}, + {"id": 21, + "label": "value21"}, + {"id": 22, + "label": "value22"}, + {"id": 23, + "label": "value23"}, + {"id": 24, + "label": "value24"}, + {"id": 25, + "label": "value25"}, + {"id": 26, + "label": "value26"}, + {"id": 27, + "label": "value27"}, + {"id": 28, + "label": "value28"}, + {"id": 29, + "label": "value29"} + ] + }, + {"id": 7, + "label": "value7", + "submenu": [ + {"id": 30, + "label": "value30"}, + {"id": 31, + "label": "value31"}, + {"id": 32, + "label": "value32"}, + {"id": 33, + "label": "value33"}, + {"id": 34, + "label": "value34"}, + {"id": 35, + "label": "value35"}, + {"id": 36, + "label": "value36"}, + {"id": 37, + "label": "value37"}, + {"id": 38, + "label": "value38"}, + {"id": 39, + "label": "value39"} + ] + }, + ] + } +] diff --git a/tests/dbusmenu-gtk/dbusMenuTest b/tests/dbusmenu-gtk/dbusMenuTest new file mode 100755 index 0000000..6a6fb42 --- /dev/null +++ b/tests/dbusmenu-gtk/dbusMenuTest @@ -0,0 +1,8 @@ +#!/bin/bash + +export NO_GAIL=0 +export NO_AT_BRIDGE=0 + +dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf --task ./test-gtk-label-client --task-name Client --task ./test-gtk-label-server --parameter ./$1 --task-name Server --ignore-return + + diff --git a/tests/dbusmenu-gtk/dbusmenu.py b/tests/dbusmenu-gtk/dbusmenu.py new file mode 100644 index 0000000..ee9ab63 --- /dev/null +++ b/tests/dbusmenu-gtk/dbusmenu.py @@ -0,0 +1,71 @@ +from desktoptesting.test_suite.main import SingleApplicationTestSuite +from desktoptesting.application.main import Application + +import ldtp, ooldtp, ldtputils + +class DbusMenuGtkApp(): + LAUNCHER = "./mago_tests/dbusMenuTest" + WINDOW = "frmlibdbusmenu-gtktest" + + def open(self, menu_schema=''): + ldtp.launchapp(self.LAUNCHER, [menu_schema]) + + def menu_exists(self, menu=''): + app = ooldtp.context(self.WINDOW) + + if menu == '': + menu = "mnu1" + + try: + component = app.getchild(menu) + except ldtp.LdtpExecutionError: + return False + + return True + + def get_submenus(self, menu=''): + app = ooldtp.context(self.WINDOW) + + if menu == '': + menu = "mnu1" + + component = app.getchild(menu) + + try: + submenus = component.listsubmenus() + except ldtp.LdtpExecutionError: + return "" + + return submenus + +class DbusMenuGtkTest(SingleApplicationTestSuite): + APPLICATION_FACTORY = DbusMenuGtkApp + + def cleanup(self): + ldtp.waittillguinotexist(self.application.WINDOW, guiTimeOut=70) + + def teardown(self): + ldtp.waittillguinotexist(self.application.WINDOW, guiTimeOut=70) + + def testStaticMenu(self, menu_schema, menu_item='', notexists=''): + self.application.open(menu_schema) + ldtp.waittillguiexist(self.application.WINDOW) + + if notexists == "True": + if self.application.menu_exists(menu_item): + raise AssertionError("The menu item exists") + else: + if not self.application.menu_exists(menu_item): + raise AssertionError("The menu item does not exists") + + + def testSubmenus(self, menu_schema, menu_item='', submenus=''): + self.application.open(menu_schema) + ldtp.waittillguiexist(self.application.WINDOW) + + if submenus != self.application.get_submenus(menu_item): + raise AssertionError("The submenus are different") + + + + diff --git a/tests/dbusmenu-gtk/dbusmenu.xml b/tests/dbusmenu-gtk/dbusmenu.xml new file mode 100644 index 0000000..90d4882 --- /dev/null +++ b/tests/dbusmenu-gtk/dbusmenu.xml @@ -0,0 +1,89 @@ + + + dbusmenu.DbusMenuGtkTest + + Test libdbusmenu-gtk. + + + testStaticMenu + Simple check for a menu + + ./dbusmenu-gtk/data/static.json + value39 + + + + testStaticMenu + Blank Label + + ./dbusmenu-gtk/data/blank_label.json + + + + + testSubmenus + Blank Submenus + + ./dbusmenu-gtk/data/blank_submenus.json + value6 + + + + + testStaticMenu + Really Long Label (1000 chars) + + ./dbusmenu-gtk/data/long_label.json + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + + + + testStaticMenu + Search for a submenu that comes from a menu without ID + + ./dbusmenu-gtk/data/no_id.json + submenu_from_no_id + + + + testStaticMenu + Search for a submenu that comes from a menu with a blank label + + ./dbusmenu-gtk/data/blank_label_2levels.json + value10 + + + + testStaticMenu + Be sure that a submenu from a menu without label does not exist + + ./dbusmenu-gtk/data/no_label.json + submenu_from_no_label + True + + + + testStaticMenu + Check that a submenu is shown + + ./dbusmenu-gtk/data/several_submenus.json + value10 + + + + testStaticMenu + Be sure that a submenu from a 4th level depth, is shown + + ./dbusmenu-gtk/data/several_submenus_recursive.json + value7001 + + + + testStaticMenu + Be sure that a submenu, with a UTF-8 label, is shown + + ./dbusmenu-gtk/data/several_submenus_utf8.json + value5ス + + + -- cgit v1.2.3 From 09b4c9880d5765eb24d1b0778af52f5b80b98c3d Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Jun 2009 12:35:35 -0500 Subject: starting to get mago into the test architecture --- tests/Makefile.am | 2 ++ tests/dbusmenu-gtk/Makefile.am | 7 +++++++ 2 files changed, 9 insertions(+) create mode 100644 tests/dbusmenu-gtk/Makefile.am (limited to 'tests') diff --git a/tests/Makefile.am b/tests/Makefile.am index 2ec6ca7..452f4f6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,3 +1,5 @@ +SUBDIRS = dbusmenu-gtk + check: tests DBUS_RUNNER=dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am new file mode 100644 index 0000000..9b18e21 --- /dev/null +++ b/tests/dbusmenu-gtk/Makefile.am @@ -0,0 +1,7 @@ + +check: tests + +tests: mago + +mago: + mago -f $(srcdir)/dbusmenu.xml -- cgit v1.2.3 From 9cc1c5b7a4ae7fd626ac5e4a498bd3ca56fdf09e Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Jun 2009 12:40:17 -0500 Subject: We're going to change the xml file to be a built file so that the paths are all correct. --- tests/dbusmenu-gtk/dbusmenu.xml | 89 -------------------------------------- tests/dbusmenu-gtk/dbusmenu.xml.in | 89 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 tests/dbusmenu-gtk/dbusmenu.xml create mode 100644 tests/dbusmenu-gtk/dbusmenu.xml.in (limited to 'tests') diff --git a/tests/dbusmenu-gtk/dbusmenu.xml b/tests/dbusmenu-gtk/dbusmenu.xml deleted file mode 100644 index 90d4882..0000000 --- a/tests/dbusmenu-gtk/dbusmenu.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - dbusmenu.DbusMenuGtkTest - - Test libdbusmenu-gtk. - - - testStaticMenu - Simple check for a menu - - ./dbusmenu-gtk/data/static.json - value39 - - - - testStaticMenu - Blank Label - - ./dbusmenu-gtk/data/blank_label.json - - - - - testSubmenus - Blank Submenus - - ./dbusmenu-gtk/data/blank_submenus.json - value6 - - - - - testStaticMenu - Really Long Label (1000 chars) - - ./dbusmenu-gtk/data/long_label.json - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - - - - testStaticMenu - Search for a submenu that comes from a menu without ID - - ./dbusmenu-gtk/data/no_id.json - submenu_from_no_id - - - - testStaticMenu - Search for a submenu that comes from a menu with a blank label - - ./dbusmenu-gtk/data/blank_label_2levels.json - value10 - - - - testStaticMenu - Be sure that a submenu from a menu without label does not exist - - ./dbusmenu-gtk/data/no_label.json - submenu_from_no_label - True - - - - testStaticMenu - Check that a submenu is shown - - ./dbusmenu-gtk/data/several_submenus.json - value10 - - - - testStaticMenu - Be sure that a submenu from a 4th level depth, is shown - - ./dbusmenu-gtk/data/several_submenus_recursive.json - value7001 - - - - testStaticMenu - Be sure that a submenu, with a UTF-8 label, is shown - - ./dbusmenu-gtk/data/several_submenus_utf8.json - value5ス - - - diff --git a/tests/dbusmenu-gtk/dbusmenu.xml.in b/tests/dbusmenu-gtk/dbusmenu.xml.in new file mode 100644 index 0000000..90d4882 --- /dev/null +++ b/tests/dbusmenu-gtk/dbusmenu.xml.in @@ -0,0 +1,89 @@ + + + dbusmenu.DbusMenuGtkTest + + Test libdbusmenu-gtk. + + + testStaticMenu + Simple check for a menu + + ./dbusmenu-gtk/data/static.json + value39 + + + + testStaticMenu + Blank Label + + ./dbusmenu-gtk/data/blank_label.json + + + + + testSubmenus + Blank Submenus + + ./dbusmenu-gtk/data/blank_submenus.json + value6 + + + + + testStaticMenu + Really Long Label (1000 chars) + + ./dbusmenu-gtk/data/long_label.json + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + + + + testStaticMenu + Search for a submenu that comes from a menu without ID + + ./dbusmenu-gtk/data/no_id.json + submenu_from_no_id + + + + testStaticMenu + Search for a submenu that comes from a menu with a blank label + + ./dbusmenu-gtk/data/blank_label_2levels.json + value10 + + + + testStaticMenu + Be sure that a submenu from a menu without label does not exist + + ./dbusmenu-gtk/data/no_label.json + submenu_from_no_label + True + + + + testStaticMenu + Check that a submenu is shown + + ./dbusmenu-gtk/data/several_submenus.json + value10 + + + + testStaticMenu + Be sure that a submenu from a 4th level depth, is shown + + ./dbusmenu-gtk/data/several_submenus_recursive.json + value7001 + + + + testStaticMenu + Be sure that a submenu, with a UTF-8 label, is shown + + ./dbusmenu-gtk/data/several_submenus_utf8.json + value5ス + + + -- cgit v1.2.3 From e59b791cd717bbd4bbb541382e20bfa150941f57 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 24 Jun 2009 12:47:16 -0500 Subject: Building the xml file on the fly. --- tests/dbusmenu-gtk/Makefile.am | 12 ++++++++++-- tests/dbusmenu-gtk/dbusmenu.xml.in | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am index 9b18e21..2db9809 100644 --- a/tests/dbusmenu-gtk/Makefile.am +++ b/tests/dbusmenu-gtk/Makefile.am @@ -3,5 +3,13 @@ check: tests tests: mago -mago: - mago -f $(srcdir)/dbusmenu.xml +mago: dbusmenu.xml + mago -f $(builddir)/dbusmenu.xml + +dbusmenu.xml: dbusmenu.xml.in + sed -e "s|\@srcdir\@|$(srcdir)|" $< > $@ + +EXTRA_DIST = dbusmenu.xml + +CLEANFILES = dbusmenu.xml + diff --git a/tests/dbusmenu-gtk/dbusmenu.xml.in b/tests/dbusmenu-gtk/dbusmenu.xml.in index 90d4882..b49ee5e 100644 --- a/tests/dbusmenu-gtk/dbusmenu.xml.in +++ b/tests/dbusmenu-gtk/dbusmenu.xml.in @@ -8,7 +8,7 @@ testStaticMenu Simple check for a menu - ./dbusmenu-gtk/data/static.json + @srcdir@/data/static.json value39 @@ -16,7 +16,7 @@ testStaticMenu Blank Label - ./dbusmenu-gtk/data/blank_label.json + @srcdir@/data/blank_label.json @@ -24,7 +24,7 @@ testSubmenus Blank Submenus - ./dbusmenu-gtk/data/blank_submenus.json + @srcdir@/data/blank_submenus.json value6 @@ -33,7 +33,7 @@ testStaticMenu Really Long Label (1000 chars) - ./dbusmenu-gtk/data/long_label.json + @srcdir@/data/long_label.json aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -41,7 +41,7 @@ testStaticMenu Search for a submenu that comes from a menu without ID - ./dbusmenu-gtk/data/no_id.json + @srcdir@/data/no_id.json submenu_from_no_id @@ -49,7 +49,7 @@ testStaticMenu Search for a submenu that comes from a menu with a blank label - ./dbusmenu-gtk/data/blank_label_2levels.json + @srcdir@/data/blank_label_2levels.json value10 @@ -57,7 +57,7 @@ testStaticMenu Be sure that a submenu from a menu without label does not exist - ./dbusmenu-gtk/data/no_label.json + @srcdir@/data/no_label.json submenu_from_no_label True @@ -66,7 +66,7 @@ testStaticMenu Check that a submenu is shown - ./dbusmenu-gtk/data/several_submenus.json + @srcdir@/data/several_submenus.json value10 @@ -74,7 +74,7 @@ testStaticMenu Be sure that a submenu from a 4th level depth, is shown - ./dbusmenu-gtk/data/several_submenus_recursive.json + @srcdir@/data/several_submenus_recursive.json value7001 @@ -82,7 +82,7 @@ testStaticMenu Be sure that a submenu, with a UTF-8 label, is shown - ./dbusmenu-gtk/data/several_submenus_utf8.json + @srcdir@/data/several_submenus_utf8.json value5ス -- cgit v1.2.3 From 3a8a452aad57a368a61e45bbb25ce7eb2d529a5a Mon Sep 17 00:00:00 2001 From: Ara Pulido Date: Thu, 25 Jun 2009 11:04:54 +0200 Subject: Fixed mago-integration --- tests/dbusmenu-gtk/dbusMenuTest | 2 +- tests/dbusmenu-gtk/dbusmenu.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/dbusmenu-gtk/dbusMenuTest b/tests/dbusmenu-gtk/dbusMenuTest index 6a6fb42..46c5f67 100755 --- a/tests/dbusmenu-gtk/dbusMenuTest +++ b/tests/dbusmenu-gtk/dbusMenuTest @@ -3,6 +3,6 @@ export NO_GAIL=0 export NO_AT_BRIDGE=0 -dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf --task ./test-gtk-label-client --task-name Client --task ./test-gtk-label-server --parameter ./$1 --task-name Server --ignore-return +dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf --task ../test-gtk-label-client --task-name Client --task ../test-gtk-label-server --parameter ./$1 --task-name Server --ignore-return diff --git a/tests/dbusmenu-gtk/dbusmenu.py b/tests/dbusmenu-gtk/dbusmenu.py index ee9ab63..17b38ac 100644 --- a/tests/dbusmenu-gtk/dbusmenu.py +++ b/tests/dbusmenu-gtk/dbusmenu.py @@ -1,10 +1,10 @@ -from desktoptesting.test_suite.main import SingleApplicationTestSuite -from desktoptesting.application.main import Application +from mago.test_suite.main import SingleApplicationTestSuite +from mago.application.main import Application import ldtp, ooldtp, ldtputils class DbusMenuGtkApp(): - LAUNCHER = "./mago_tests/dbusMenuTest" + LAUNCHER = "./dbusMenuTest" WINDOW = "frmlibdbusmenu-gtktest" def open(self, menu_schema=''): -- cgit v1.2.3 From 81f1ef9e2a96b8dfa7172a7a587bf65df17b89ce Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Jun 2009 09:05:21 -0500 Subject: Adding in a python path to pick up the module --- tests/dbusmenu-gtk/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am index 2db9809..976646f 100644 --- a/tests/dbusmenu-gtk/Makefile.am +++ b/tests/dbusmenu-gtk/Makefile.am @@ -4,7 +4,7 @@ check: tests tests: mago mago: dbusmenu.xml - mago -f $(builddir)/dbusmenu.xml + PYTHONPATH=$(srcdir) mago -f $(builddir)/dbusmenu.xml dbusmenu.xml: dbusmenu.xml.in sed -e "s|\@srcdir\@|$(srcdir)|" $< > $@ -- cgit v1.2.3 From 5d3ce83fc6ae08957c88148ad87ae566dd03f08f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Jun 2009 09:13:27 -0500 Subject: Changing the python script to be generated so that it can get the paths correctly. It's almost making Python into a real language. Not quite, but getting there. --- tests/dbusmenu-gtk/Makefile.am | 17 +++++++--- tests/dbusmenu-gtk/dbusmenu.py | 71 --------------------------------------- tests/dbusmenu-gtk/dbusmenu.py.in | 71 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+), 75 deletions(-) delete mode 100644 tests/dbusmenu-gtk/dbusmenu.py create mode 100644 tests/dbusmenu-gtk/dbusmenu.py.in (limited to 'tests') diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am index 976646f..04054ed 100644 --- a/tests/dbusmenu-gtk/Makefile.am +++ b/tests/dbusmenu-gtk/Makefile.am @@ -3,13 +3,22 @@ check: tests tests: mago -mago: dbusmenu.xml - PYTHONPATH=$(srcdir) mago -f $(builddir)/dbusmenu.xml +mago: dbusmenu.xml dbusmenu.py + PYTHONPATH=$(builddir) mago -f $(builddir)/dbusmenu.xml dbusmenu.xml: dbusmenu.xml.in sed -e "s|\@srcdir\@|$(srcdir)|" $< > $@ -EXTRA_DIST = dbusmenu.xml +dbusmenu.py: dbusmenu.py.in + sed -e "s|\@srcdir\@|$(srcdir)|" $< > $@ + +EXTRA_DIST = \ + dbusmenu.xml \ + dbusmenu.xml.in \ + dbusmenu.py \ + dbusmenu.py.in -CLEANFILES = dbusmenu.xml +CLEANFILES = \ + dbusmenu.xml \ + dbusmenu.py diff --git a/tests/dbusmenu-gtk/dbusmenu.py b/tests/dbusmenu-gtk/dbusmenu.py deleted file mode 100644 index 17b38ac..0000000 --- a/tests/dbusmenu-gtk/dbusmenu.py +++ /dev/null @@ -1,71 +0,0 @@ -from mago.test_suite.main import SingleApplicationTestSuite -from mago.application.main import Application - -import ldtp, ooldtp, ldtputils - -class DbusMenuGtkApp(): - LAUNCHER = "./dbusMenuTest" - WINDOW = "frmlibdbusmenu-gtktest" - - def open(self, menu_schema=''): - ldtp.launchapp(self.LAUNCHER, [menu_schema]) - - def menu_exists(self, menu=''): - app = ooldtp.context(self.WINDOW) - - if menu == '': - menu = "mnu1" - - try: - component = app.getchild(menu) - except ldtp.LdtpExecutionError: - return False - - return True - - def get_submenus(self, menu=''): - app = ooldtp.context(self.WINDOW) - - if menu == '': - menu = "mnu1" - - component = app.getchild(menu) - - try: - submenus = component.listsubmenus() - except ldtp.LdtpExecutionError: - return "" - - return submenus - -class DbusMenuGtkTest(SingleApplicationTestSuite): - APPLICATION_FACTORY = DbusMenuGtkApp - - def cleanup(self): - ldtp.waittillguinotexist(self.application.WINDOW, guiTimeOut=70) - - def teardown(self): - ldtp.waittillguinotexist(self.application.WINDOW, guiTimeOut=70) - - def testStaticMenu(self, menu_schema, menu_item='', notexists=''): - self.application.open(menu_schema) - ldtp.waittillguiexist(self.application.WINDOW) - - if notexists == "True": - if self.application.menu_exists(menu_item): - raise AssertionError("The menu item exists") - else: - if not self.application.menu_exists(menu_item): - raise AssertionError("The menu item does not exists") - - - def testSubmenus(self, menu_schema, menu_item='', submenus=''): - self.application.open(menu_schema) - ldtp.waittillguiexist(self.application.WINDOW) - - if submenus != self.application.get_submenus(menu_item): - raise AssertionError("The submenus are different") - - - - diff --git a/tests/dbusmenu-gtk/dbusmenu.py.in b/tests/dbusmenu-gtk/dbusmenu.py.in new file mode 100644 index 0000000..ce159e1 --- /dev/null +++ b/tests/dbusmenu-gtk/dbusmenu.py.in @@ -0,0 +1,71 @@ +from mago.test_suite.main import SingleApplicationTestSuite +from mago.application.main import Application + +import ldtp, ooldtp, ldtputils + +class DbusMenuGtkApp(): + LAUNCHER = "@srcdir@/dbusMenuTest" + WINDOW = "frmlibdbusmenu-gtktest" + + def open(self, menu_schema=''): + ldtp.launchapp(self.LAUNCHER, [menu_schema]) + + def menu_exists(self, menu=''): + app = ooldtp.context(self.WINDOW) + + if menu == '': + menu = "mnu1" + + try: + component = app.getchild(menu) + except ldtp.LdtpExecutionError: + return False + + return True + + def get_submenus(self, menu=''): + app = ooldtp.context(self.WINDOW) + + if menu == '': + menu = "mnu1" + + component = app.getchild(menu) + + try: + submenus = component.listsubmenus() + except ldtp.LdtpExecutionError: + return "" + + return submenus + +class DbusMenuGtkTest(SingleApplicationTestSuite): + APPLICATION_FACTORY = DbusMenuGtkApp + + def cleanup(self): + ldtp.waittillguinotexist(self.application.WINDOW, guiTimeOut=70) + + def teardown(self): + ldtp.waittillguinotexist(self.application.WINDOW, guiTimeOut=70) + + def testStaticMenu(self, menu_schema, menu_item='', notexists=''): + self.application.open(menu_schema) + ldtp.waittillguiexist(self.application.WINDOW) + + if notexists == "True": + if self.application.menu_exists(menu_item): + raise AssertionError("The menu item exists") + else: + if not self.application.menu_exists(menu_item): + raise AssertionError("The menu item does not exists") + + + def testSubmenus(self, menu_schema, menu_item='', submenus=''): + self.application.open(menu_schema) + ldtp.waittillguiexist(self.application.WINDOW) + + if submenus != self.application.get_submenus(menu_item): + raise AssertionError("The submenus are different") + + + + -- cgit v1.2.3 From 21bcfa08afaa307b41b670eda5c343b169b21946 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Jun 2009 09:17:48 -0500 Subject: Getting the rest of the files added into the dist tarball. --- tests/dbusmenu-gtk/Makefile.am | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am index 04054ed..a381480 100644 --- a/tests/dbusmenu-gtk/Makefile.am +++ b/tests/dbusmenu-gtk/Makefile.am @@ -16,7 +16,24 @@ EXTRA_DIST = \ dbusmenu.xml \ dbusmenu.xml.in \ dbusmenu.py \ - dbusmenu.py.in + dbusmenu.py.in \ + dbusMenuTest \ + data/blank_label_2levels.json \ + data/blank_label.json \ + data/blank_submenus.json \ + data/dynamic.json \ + data/long_label.json \ + data/no_id.json \ + data/no_label.json \ + data/sameid_submenus_diff_sizes.json \ + data/sameid_submenus.json \ + data/sameid_top_and_submenus.json \ + data/sameid_topmenu.json \ + data/several_submenus.json \ + data/several_submenus_recursive.json \ + data/several_submenus_utf8.json \ + data/static.json \ + data/test-gtk-label.json CLEANFILES = \ dbusmenu.xml \ -- cgit v1.2.3 From b3112f71ce313bdbef51bf486b5d59eef2e641fb Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Jun 2009 09:32:17 -0500 Subject: Adding a results directory to the command line. --- tests/dbusmenu-gtk/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am index a381480..713b3e9 100644 --- a/tests/dbusmenu-gtk/Makefile.am +++ b/tests/dbusmenu-gtk/Makefile.am @@ -4,7 +4,7 @@ check: tests tests: mago mago: dbusmenu.xml dbusmenu.py - PYTHONPATH=$(builddir) mago -f $(builddir)/dbusmenu.xml + PYTHONPATH=$(builddir) mago -f $(builddir)/dbusmenu.xml -t $(builddir)/mago.results dbusmenu.xml: dbusmenu.xml.in sed -e "s|\@srcdir\@|$(srcdir)|" $< > $@ -- cgit v1.2.3 From 1c755c0bcd185b64ad9ff23528f947b53e42aeb0 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Jun 2009 09:37:06 -0500 Subject: Making it so that we don't distribute the .xml and .py file, but build them everytime. --- tests/dbusmenu-gtk/Makefile.am | 2 -- 1 file changed, 2 deletions(-) (limited to 'tests') diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am index 713b3e9..02abd6d 100644 --- a/tests/dbusmenu-gtk/Makefile.am +++ b/tests/dbusmenu-gtk/Makefile.am @@ -13,9 +13,7 @@ dbusmenu.py: dbusmenu.py.in sed -e "s|\@srcdir\@|$(srcdir)|" $< > $@ EXTRA_DIST = \ - dbusmenu.xml \ dbusmenu.xml.in \ - dbusmenu.py \ dbusmenu.py.in \ dbusMenuTest \ data/blank_label_2levels.json \ -- cgit v1.2.3 From 580b5fb4b549d2f73c4c365a09b0eb3eb32e74f1 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Jun 2009 10:09:38 -0500 Subject: Removing the built python directory and destroying the mago results. --- tests/dbusmenu-gtk/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests') diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am index 02abd6d..206702a 100644 --- a/tests/dbusmenu-gtk/Makefile.am +++ b/tests/dbusmenu-gtk/Makefile.am @@ -35,5 +35,8 @@ EXTRA_DIST = \ CLEANFILES = \ dbusmenu.xml \ + dbusmenu.pyc \ dbusmenu.py +clean: + -rm -rf $(builddir)/mago.results -- cgit v1.2.3 From f6116d194fc530a566319fef3b4607740bcbf6b0 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Jun 2009 10:40:26 -0500 Subject: Changing the clean rule to be distclean-local which makes more sense. --- tests/dbusmenu-gtk/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/dbusmenu-gtk/Makefile.am b/tests/dbusmenu-gtk/Makefile.am index 206702a..6acbbe0 100644 --- a/tests/dbusmenu-gtk/Makefile.am +++ b/tests/dbusmenu-gtk/Makefile.am @@ -38,5 +38,6 @@ CLEANFILES = \ dbusmenu.pyc \ dbusmenu.py -clean: +distclean-local: -rm -rf $(builddir)/mago.results + -- cgit v1.2.3 From a29210f13a5eeb096985e00583303fde8249eee7 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 25 Jun 2009 16:57:16 -0500 Subject: For some reason the kill switch was missing on this one. Weird. --- tests/test-glib-layout-client.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests') diff --git a/tests/test-glib-layout-client.c b/tests/test-glib-layout-client.c index 7a53443..1b74544 100644 --- a/tests/test-glib-layout-client.c +++ b/tests/test-glib-layout-client.c @@ -88,6 +88,10 @@ layout_updated (DbusmenuClient * client, gpointer data) layouton++; + if (layouts[layouton].id == 0) { + g_main_loop_quit(mainloop); + } + return; } -- cgit v1.2.3 From 9d685e92f0df6ca92f2b14d53199c6d12cd95858 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 1 Jul 2009 00:34:05 -0500 Subject: Adding a really simple test to add items to a stack. --- tests/Makefile.am | 16 +++++++++++++-- tests/test-glib-simple-items.c | 45 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 tests/test-glib-simple-items.c (limited to 'tests') diff --git a/tests/Makefile.am b/tests/Makefile.am index 452f4f6..8c47a93 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -4,7 +4,7 @@ check: tests DBUS_RUNNER=dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf -tests: test-glib-layout test-glib-properties test-gtk-label +tests: test-glib-layout test-glib-properties test-gtk-label test-glib-simple-items libexec_PROGRAMS = \ glib-server-nomenu \ @@ -13,7 +13,8 @@ libexec_PROGRAMS = \ test-glib-properties-client \ test-glib-properties-server \ test-gtk-label-client \ - test-gtk-label-server + test-gtk-label-server \ + test-glib-simple-items glib_server_nomenu_SOURCES = \ glib-server-nomenu.c @@ -85,6 +86,17 @@ test_glib_properties_client_LDADD = \ $(DBUSMENUGLIB_LIBS) +test_glib_simple_items_SOURCES = \ + test-glib-simple-items.c + +test_glib_simple_items_CFLAGS = \ + -I $(srcdir)/.. \ + $(DBUSMENUGLIB_CFLAGS) -Wall -Werror + +test_glib_simple_items_LDADD = \ + ../libdbusmenu-glib/libdbusmenu-glib.la \ + $(DBUSMENUGLIB_LIBS) + test-gtk-label: test-gtk-label-client test-gtk-label-server test-gtk-label.json $(DBUS_RUNNER) --task ./test-gtk-label-client --task-name Client --task ./test-gtk-label-server --parameter $(srcdir)/test-gtk-label.json --task-name Server --ignore-return diff --git a/tests/test-glib-simple-items.c b/tests/test-glib-simple-items.c new file mode 100644 index 0000000..56536e9 --- /dev/null +++ b/tests/test-glib-simple-items.c @@ -0,0 +1,45 @@ +#include +#include + +#include +#include + +static DbusmenuMenuitem * root_menuitem = NULL; +static GMainLoop * mainloop = NULL; + +gchar * dummies[] = { + "Bob", "Jim", "Alvin", "Mary", NULL +}; + +static void +dummy_users (DbusmenuMenuitem * root) { + int count; + for (count = 0; dummies[count] != NULL; count++) { + DbusmenuMenuitem * mi = dbusmenu_menuitem_new(); + g_debug("Creating item: %d %s", dbusmenu_menuitem_get_id(mi), dummies[count]); + g_debug("\tRoot ID: %d", dbusmenu_menuitem_get_id(root)); + dbusmenu_menuitem_property_set(mi, "label", dummies[count]); + dbusmenu_menuitem_child_add_position(root, mi, count); + } + + return; +} + +int +main (int argc, char ** argv) +{ + g_type_init(); + + DbusmenuServer * server = dbusmenu_server_new("/test/object"); + root_menuitem = dbusmenu_menuitem_new(); + dbusmenu_server_set_root(server, root_menuitem); + g_debug("Root ID: %d", dbusmenu_menuitem_get_id(root_menuitem)); + + dummy_users(root_menuitem); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return 0; +} + -- cgit v1.2.3 From dcc157b7cc95a8c6958b9a324dd6d2e0d0aff065 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 20 Jul 2009 16:04:00 -0500 Subject: Print on click --- tests/test-gtk-label-server.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests') diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index ee750ad..7730fe2 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -31,6 +31,13 @@ with this program. If not, see . #include +static void +menuitem_click(DbusmenuMenuitem * mi, gpointer user_data) +{ + g_debug("Clicked on: %d", dbusmenu_menuitem_get_id(mi)); + return; +} + static void set_props (DbusmenuMenuitem * mi, JsonObject * node) { @@ -68,6 +75,7 @@ layout2menuitem (JsonNode * inlayout) } else { local = dbusmenu_menuitem_new(); } + g_signal_connect(G_OBJECT(local), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(menuitem_click), NULL); set_props(local, layout); -- cgit v1.2.3