From c77c0f5b854bb2b924b98a09f598db66de0ab5e4 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 25 May 2009 00:06:22 +0200 Subject: Building up the gtk tests. Oops, should have committed these a while ago. --- tests/Makefile.am | 39 ++++++++- tests/test-gtk-label-client.c | 180 ++++++++++++++++++++++++++++++++++++++++++ tests/test-gtk-label-server.c | 85 ++++++++++++++++++++ tests/test-gtk-label.h | 95 ++++++++++++++++++++++ 4 files changed, 397 insertions(+), 2 deletions(-) create mode 100644 tests/test-gtk-label-client.c create mode 100644 tests/test-gtk-label-server.c create mode 100644 tests/test-gtk-label.h (limited to 'tests') diff --git a/tests/Makefile.am b/tests/Makefile.am index 1f21141..70750ac 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -2,14 +2,16 @@ check: tests DBUS_RUNNER=dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf -tests: test-glib-layout test-glib-properties +tests: test-glib-layout test-glib-properties test-gtk-label libexec_PROGRAMS = \ glib-server-nomenu \ test-glib-layout-client \ test-glib-layout-server \ test-glib-properties-client \ - test-glib-properties-server + test-glib-properties-server \ + test-gtk-label-client \ + test-gtk-label-server glib_server_nomenu_SOURCES = \ glib-server-nomenu.c @@ -82,6 +84,39 @@ 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_server_SOURCES = \ + test-gtk-label.h \ + test-gtk-label-server.c + +test_gtk_label_server_CFLAGS = \ + -I $(srcdir)/.. \ + $(DBUSMENUGTK_CFLAGS) \ + $(DBUSMENUGLIB_CFLAGS) -Wall -Werror + +test_gtk_label_server_LDADD = \ + ../libdbusmenu-glib/libdbusmenu-glib.la \ + ../libdbusmenu-gtk/libdbusmenu-gtk.la \ + $(DBUSMENUGTK_LIBS) + +test_gtk_label_client_SOURCES = \ + test-gtk-label.h \ + test-gtk-label-client.c + +test_gtk_label_client_CFLAGS = \ + -I $(srcdir)/.. \ + $(DBUSMENUGTK_CFLAGS) \ + $(DBUSMENUGLIB_CFLAGS) -Wall -Werror + +test_gtk_label_client_LDADD = \ + ../libdbusmenu-glib/libdbusmenu-glib.la \ + ../libdbusmenu-gtk/libdbusmenu-gtk.la \ + $(DBUSMENUGTK_LIBS) + + + examplesdir = $(docdir)/examples/ examples_DATA = \ diff --git a/tests/test-gtk-label-client.c b/tests/test-gtk-label-client.c new file mode 100644 index 0000000..028a526 --- /dev/null +++ b/tests/test-gtk-label-client.c @@ -0,0 +1,180 @@ +/* +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 + +static guint layouton = 0; +static GMainLoop * mainloop = NULL; +static gboolean passed = TRUE; +static guint death_timer = 0; + +#if 0 +static gboolean +verify_props (DbusmenuMenuitem * mi, gchar ** properties) +{ + if (properties == NULL) { + return TRUE; + } + + /* Verify they're all there and correct */ + guint i; + for (i = 0; properties[i] != NULL; i += 2) { + const gchar * value = dbusmenu_menuitem_property_get(mi, properties[i]); + if (g_strcmp0(value, properties[i + 1])) { + g_debug("\tFailed as property '%s' should be '%s' and is '%s'", properties[i], properties[i+1], value); + return FALSE; + } + } + + /* Verify that we don't have any extras */ + // GList * props = dbusmenu_menuitem_properties_list(mi); + + return TRUE; +} + +static gboolean +verify_root_to_layout(DbusmenuMenuitem * mi, proplayout_t * layout) +{ + g_debug("Verifying ID: %d", layout->id); + + if (layout->id != dbusmenu_menuitem_get_id(mi)) { + g_debug("\tFailed as ID %d is not equal to %d", layout->id, dbusmenu_menuitem_get_id(mi)); + return FALSE; + } + + if (!verify_props(mi, layout->properties)) { + g_debug("\tFailed as unable to verify properties."); + return FALSE; + } + + GList * children = dbusmenu_menuitem_get_children(mi); + + if (children == NULL && layout->submenu == NULL) { + g_debug("\tPassed: %d", layout->id); + return TRUE; + } + if (children == NULL || layout->submenu == NULL) { + if (children == NULL) { + g_debug("\tFailed as there are no children but we have submenus"); + } else { + g_debug("\tFailed as we have children but no submenu"); + } + return FALSE; + } + + guint i = 0; + for (i = 0; children != NULL && layout->submenu[i].id != 0; children = g_list_next(children), i++) { + if (!verify_root_to_layout(DBUSMENU_MENUITEM(children->data), &layout->submenu[i])) { + return FALSE; + } + } + + if (children == NULL && layout->submenu[i].id == 0) { + g_debug("\tPassed: %d", layout->id); + return TRUE; + } + + if (children != NULL) { + g_debug("\tFailed as there are still children but no submenus. (ID: %d)", layout->id); + } else { + g_debug("\tFailed as there are still submenus but no children. (ID: %d)", layout->id); + } + return FALSE; +} +#endif + +static gboolean +timer_func (gpointer data) +{ + g_debug("Death timer. Oops. Got to: %d", layouton); + passed = FALSE; + g_main_loop_quit(mainloop); + return FALSE; +} + +#if 0 +static gboolean layout_verify_timer (gpointer data); + +static void +layout_updated (DbusmenuClient * client, gpointer data) +{ + g_debug("Layout Updated"); + g_timeout_add (250, layout_verify_timer, client); + return; +} + +static gboolean +layout_verify_timer (gpointer data) +{ + DbusmenuMenuitem * menuroot = dbusmenu_client_get_root(DBUSMENU_CLIENT(data)); + proplayout_t * layout = &layouts[layouton]; + + if (!verify_root_to_layout(menuroot, layout)) { + g_debug("FAILED LAYOUT: %d", layouton); + passed = FALSE; + } else { + /* Extend our death */ + g_source_remove(death_timer); + death_timer = g_timeout_add_seconds(10, timer_func, data); + } + + layouton++; + + if (layouts[layouton].id == 0) { + g_main_loop_quit(mainloop); + } + + return FALSE; +} +#endif + +int +main (int argc, char ** argv) +{ + gtk_init(&argc, &argv); + + /* Make sure the server starts up and all that */ + g_usleep(500000); + + GtkWidget * window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + GtkWidget * menubar = gtk_menu_bar_new(); + GtkWidget * menuitem = gtk_menu_item_new_with_label("Test"); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), GTK_WIDGET(dbusmenu_gtkmenu_new (":1.0", "/org/test"))); + gtk_widget_show(menuitem); + gtk_menu_bar_append(menubar, menuitem); + gtk_widget_show(menubar); + gtk_container_add(GTK_CONTAINER(window), menubar); + gtk_widget_show(window); + + death_timer = g_timeout_add_seconds(10, timer_func, window); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + if (passed) { + g_debug("Quiting"); + return 0; + } else { + g_debug("Quiting as we're a failure"); + return 0; + } +} diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c new file mode 100644 index 0000000..477f951 --- /dev/null +++ b/tests/test-gtk-label-server.c @@ -0,0 +1,85 @@ +#include + +#include +#include +#include + +#include +#include + +#include "test-glib-properties.h" + +static void +set_props (DbusmenuMenuitem * mi, gchar ** props) +{ + if (props == NULL) return; + + guint i; + for (i = 0; props[i] != NULL; i += 2) { + dbusmenu_menuitem_property_set(mi, props[i], props[i+1]); + } + + return; +} + +static DbusmenuMenuitem * +layout2menuitem (proplayout_t * layout) +{ + if (layout == NULL || layout->id == 0) return NULL; + + DbusmenuMenuitem * local = dbusmenu_menuitem_new_with_id(layout->id); + set_props(local, layout->properties); + + if (layout->submenu != NULL) { + guint count; + for (count = 0; layout->submenu[count].id != 0; count++) { + DbusmenuMenuitem * child = layout2menuitem(&layout->submenu[count]); + if (child != NULL) { + dbusmenu_menuitem_child_append(local, child); + } + } + } + + g_debug("Layout to menu return: 0x%X", (unsigned int)local); + return local; +} + +static guint layouton = 0; +static DbusmenuServer * server = NULL; +static GMainLoop * mainloop = NULL; + +static gboolean +timer_func (gpointer data) +{ + if (layouts[layouton].id == 0) { + g_main_loop_quit(mainloop); + return FALSE; + } + g_debug("Updating to Layout %d", layouton); + + dbusmenu_server_set_root(server, layout2menuitem(&layouts[layouton])); + layouton++; + + return TRUE; +} + +int +main (int argc, char ** argv) +{ + g_type_init(); + + g_debug("DBus ID: %s", dbus_connection_get_server_id(dbus_g_connection_get_connection(dbus_g_bus_get(DBUS_BUS_SESSION, NULL)))); + + server = dbusmenu_server_new("/org/test"); + + timer_func(NULL); + g_timeout_add(2500, timer_func, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + g_debug("Quiting"); + + return 0; +} + diff --git a/tests/test-gtk-label.h b/tests/test-gtk-label.h new file mode 100644 index 0000000..3ab7ee7 --- /dev/null +++ b/tests/test-gtk-label.h @@ -0,0 +1,95 @@ + +#include + +typedef struct _proplayout_t proplayout_t; +struct _proplayout_t { + guint id; + gchar ** properties; + proplayout_t * submenu; +}; + +gchar * props1[] = {"property1", "value1", "property2", "value2", NULL}; +gchar * props2[] = {"property00", "value00", "property01", "value01", "property02", "value02", "property03", "value03", "property04", "value04", + "property05", "value05", "property06", "value06", "property07", "value07", "property08", "value08", "property09", "value09", + "property10", "value10", "property11", "value11", "property12", "value12", "property13", "value13", "property14", "value14", + "property15", "value15", "property16", "value16", "property17", "value17", "property18", "value18", "property19", "value19", + "property20", "value20", "property21", "value21", "property22", "value22", "property23", "value23", "property24", "value24", + "property25", "value25", "property26", "value26", "property27", "value27", "property28", "value28", "property29", "value29", + "property30", "value30", "property31", "value31", "property32", "value32", "property33", "value33", "property34", "value34", + "property35", "value35", "property36", "value36", "property37", "value37", "property38", "value38", "property39", "value39", + "property40", "value40", "property41", "value41", "property42", "value42", "property43", "value43", "property44", "value44", + "property45", "value45", "property46", "value46", "property47", "value47", "property48", "value48", "property49", "value49", + "property50", "value50", "property51", "value51", "property52", "value52", "property53", "value53", "property54", "value54", + "property55", "value55", "property56", "value56", "property57", "value57", "property58", "value58", "property59", "value59", + "property60", "value60", "property61", "value61", "property62", "value62", "property63", "value63", "property64", "value64", + "property65", "value65", "property66", "value66", "property67", "value67", "property68", "value68", "property69", "value69", + "property70", "value70", "property71", "value71", "property72", "value72", "property73", "value73", "property74", "value74", + "property75", "value75", "property76", "value76", "property77", "value77", "property78", "value78", "property79", "value79", + "property80", "value80", "property81", "value81", "property82", "value82", "property83", "value83", "property84", "value84", + "property85", "value85", "property86", "value86", "property87", "value87", "property88", "value88", "property89", "value89", + "property90", "value90", "property91", "value91", "property92", "value92", "property93", "value93", "property94", "value94", + "property95", "value95", "property96", "value96", "property97", "value97", "property98", "value98", "property99", "value99", + NULL}; +gchar * props3[] = {"property name that is really long and will ensure that we can really have long property names, which could be important at some point.", + "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: NULL}, + {id: 10, properties: props2, submenu: NULL}, + {id: 20, properties: props3, submenu: NULL}, + {id: 100, properties: props2, submenu: submenu_4_0}, + {id: 0, properties: NULL, submenu: NULL} +}; + -- cgit v1.2.3 From 8d10e66c11d3708a72e9c5f6ba79632e6fcc1b8f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 25 May 2009 00:09:10 +0200 Subject: Properties that make a little more sense. --- tests/test-gtk-label.h | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) (limited to 'tests') diff --git a/tests/test-gtk-label.h b/tests/test-gtk-label.h index 3ab7ee7..ca98700 100644 --- a/tests/test-gtk-label.h +++ b/tests/test-gtk-label.h @@ -8,29 +8,8 @@ struct _proplayout_t { proplayout_t * submenu; }; -gchar * props1[] = {"property1", "value1", "property2", "value2", NULL}; -gchar * props2[] = {"property00", "value00", "property01", "value01", "property02", "value02", "property03", "value03", "property04", "value04", - "property05", "value05", "property06", "value06", "property07", "value07", "property08", "value08", "property09", "value09", - "property10", "value10", "property11", "value11", "property12", "value12", "property13", "value13", "property14", "value14", - "property15", "value15", "property16", "value16", "property17", "value17", "property18", "value18", "property19", "value19", - "property20", "value20", "property21", "value21", "property22", "value22", "property23", "value23", "property24", "value24", - "property25", "value25", "property26", "value26", "property27", "value27", "property28", "value28", "property29", "value29", - "property30", "value30", "property31", "value31", "property32", "value32", "property33", "value33", "property34", "value34", - "property35", "value35", "property36", "value36", "property37", "value37", "property38", "value38", "property39", "value39", - "property40", "value40", "property41", "value41", "property42", "value42", "property43", "value43", "property44", "value44", - "property45", "value45", "property46", "value46", "property47", "value47", "property48", "value48", "property49", "value49", - "property50", "value50", "property51", "value51", "property52", "value52", "property53", "value53", "property54", "value54", - "property55", "value55", "property56", "value56", "property57", "value57", "property58", "value58", "property59", "value59", - "property60", "value60", "property61", "value61", "property62", "value62", "property63", "value63", "property64", "value64", - "property65", "value65", "property66", "value66", "property67", "value67", "property68", "value68", "property69", "value69", - "property70", "value70", "property71", "value71", "property72", "value72", "property73", "value73", "property74", "value74", - "property75", "value75", "property76", "value76", "property77", "value77", "property78", "value78", "property79", "value79", - "property80", "value80", "property81", "value81", "property82", "value82", "property83", "value83", "property84", "value84", - "property85", "value85", "property86", "value86", "property87", "value87", "property88", "value88", "property89", "value89", - "property90", "value90", "property91", "value91", "property92", "value92", "property93", "value93", "property94", "value94", - "property95", "value95", "property96", "value96", "property97", "value97", "property98", "value98", "property99", "value99", - NULL}; -gchar * props3[] = {"property name that is really long and will ensure that we can really have long property names, which could be important at some point.", +gchar * props1[] = {"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}; -- cgit v1.2.3 From 342660113458cdcd2c19421733701aba335774eb Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 25 May 2009 00:35:41 +0200 Subject: Requesting a name on the bus --- tests/test-gtk-label-server.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index 477f951..0e395d4 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -68,8 +69,23 @@ main (int argc, char ** argv) { g_type_init(); + 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)) { + g_error("Unable to call to request name"); + return 1; + } + + if (nameret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { + g_error("Unable to get name"); + return 1; + } + server = dbusmenu_server_new("/org/test"); timer_func(NULL); -- cgit v1.2.3 From b26bb869e0bc037533c62ae77907b5368fdee9a3 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 25 May 2009 00:39:09 +0200 Subject: Using the new name --- tests/test-gtk-label-client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/test-gtk-label-client.c b/tests/test-gtk-label-client.c index 028a526..44a847f 100644 --- a/tests/test-gtk-label-client.c +++ b/tests/test-gtk-label-client.c @@ -158,7 +158,7 @@ main (int argc, char ** argv) GtkWidget * window = gtk_window_new(GTK_WINDOW_TOPLEVEL); GtkWidget * menubar = gtk_menu_bar_new(); GtkWidget * menuitem = gtk_menu_item_new_with_label("Test"); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), GTK_WIDGET(dbusmenu_gtkmenu_new (":1.0", "/org/test"))); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), GTK_WIDGET(dbusmenu_gtkmenu_new ("glib.label.test", "/org/test"))); gtk_widget_show(menuitem); gtk_menu_bar_append(menubar, menuitem); gtk_widget_show(menubar); -- cgit v1.2.3 From c6e13ca433f0e8538a60a80cee3ce1a359b88bd6 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 25 May 2009 14:17:44 +0200 Subject: Switching to the right header and updating the properties more. --- tests/test-gtk-label-server.c | 2 +- tests/test-gtk-label.h | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index 0e395d4..426daa2 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -8,7 +8,7 @@ #include #include -#include "test-glib-properties.h" +#include "test-gtk-label.h" static void set_props (DbusmenuMenuitem * mi, gchar ** props) diff --git a/tests/test-gtk-label.h b/tests/test-gtk-label.h index ca98700..e63ac44 100644 --- a/tests/test-gtk-label.h +++ b/tests/test-gtk-label.h @@ -9,6 +9,7 @@ struct _proplayout_t { }; 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}; @@ -65,9 +66,9 @@ proplayout_t submenu_4_0[] = { }; proplayout_t layouts[] = { - {id: 1, properties: props1, submenu: NULL}, - {id: 10, properties: props2, submenu: NULL}, - {id: 20, properties: props3, submenu: NULL}, + {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 7967d870eee94c0ce26cf820a6f6e556ee9cea48 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 25 May 2009 22:56:31 +0200 Subject: Unref'ing the menuitem after being created. --- tests/test-glib-properties-server.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/test-glib-properties-server.c b/tests/test-glib-properties-server.c index 477f951..c9d2880 100644 --- a/tests/test-glib-properties-server.c +++ b/tests/test-glib-properties-server.c @@ -40,7 +40,7 @@ layout2menuitem (proplayout_t * layout) } } - g_debug("Layout to menu return: 0x%X", (unsigned int)local); + /* g_debug("Layout to menu return: 0x%X", (unsigned int)local); */ return local; } @@ -57,7 +57,9 @@ timer_func (gpointer data) } g_debug("Updating to Layout %d", layouton); - dbusmenu_server_set_root(server, layout2menuitem(&layouts[layouton])); + DbusmenuMenuitem * mi = layout2menuitem(&layouts[layouton]); + dbusmenu_server_set_root(server, mi); + g_object_unref(G_OBJECT(mi)); layouton++; return TRUE; -- cgit v1.2.3 From 2d5dc7c1f0be1da109fd6a19a2f6f4db70bc2f1a Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 25 May 2009 23:11:00 +0200 Subject: Removing the server as we go away --- tests/test-glib-properties-server.c | 1 + 1 file changed, 1 insertion(+) (limited to 'tests') diff --git a/tests/test-glib-properties-server.c b/tests/test-glib-properties-server.c index c9d2880..a51ac0c 100644 --- a/tests/test-glib-properties-server.c +++ b/tests/test-glib-properties-server.c @@ -80,6 +80,7 @@ main (int argc, char ** argv) mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); + g_object_unref(G_OBJECT(server)); g_debug("Quiting"); return 0; -- cgit v1.2.3 From cd053ef1cae0ffb2ccd38afcc5ea7c719daf3334 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 27 May 2009 10:11:12 +0200 Subject: Pointer casts make the 64-bit builds unhappy. --- tests/test-glib-layout-server.c | 2 +- tests/test-gtk-label-server.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/test-glib-layout-server.c b/tests/test-glib-layout-server.c index e69c6b2..cc9b8e7 100644 --- a/tests/test-glib-layout-server.c +++ b/tests/test-glib-layout-server.c @@ -48,7 +48,7 @@ layout2menuitem (layout_t * layout) } } - g_debug("Layout to menu return: 0x%X", (unsigned int)local); + /* g_debug("Layout to menu return: 0x%X", (unsigned int)local); */ return local; } diff --git a/tests/test-gtk-label-server.c b/tests/test-gtk-label-server.c index 426daa2..4e2fe0a 100644 --- a/tests/test-gtk-label-server.c +++ b/tests/test-gtk-label-server.c @@ -41,7 +41,7 @@ layout2menuitem (proplayout_t * layout) } } - g_debug("Layout to menu return: 0x%X", (unsigned int)local); + /* g_debug("Layout to menu return: 0x%X", (unsigned int)local); */ return local; } -- cgit v1.2.3 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