[gtk+/wip/gtkmenutrackeritem: 1/3] tests: make GtkMenu test more flexible
- From: Ryan Lortie <ryanl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/gtkmenutrackeritem: 1/3] tests: make GtkMenu test more flexible
- Date: Wed, 8 May 2013 14:25:08 +0000 (UTC)
commit 82fc36f6879636c4657b4518f2ca7d36d154f7a2
Author: Ryan Lortie <desrt desrt ca>
Date: Sun May 5 17:18:13 2013 -0400
tests: make GtkMenu test more flexible
We were using gtk_menu_item_get_label() from a testcase to determine the
label associated with a menu item. Future changes to GtkModelMenuItem
will cause this to stop working, so try a bit harder to find a label
inside of the item.
gtk/tests/gtkmenu.c | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
---
diff --git a/gtk/tests/gtkmenu.c b/gtk/tests/gtkmenu.c
index 35bb434..e2667ba 100644
--- a/gtk/tests/gtkmenu.c
+++ b/gtk/tests/gtkmenu.c
@@ -216,6 +216,25 @@ random_menu_new (GRand *rand,
static void assert_menu_equality (GtkContainer *container, GMenuModel *model);
+static const gchar *
+get_label (GtkMenuItem *item)
+{
+ GList *children = gtk_container_get_children (GTK_CONTAINER (item));
+ const gchar *label = NULL;
+
+ while (children)
+ {
+ if (GTK_IS_CONTAINER (children->data))
+ children = g_list_concat (children, gtk_container_get_children (children->data));
+ else if (GTK_IS_LABEL (children->data))
+ label = gtk_label_get_text (children->data);
+
+ children = g_list_delete_link (children, children);
+ }
+
+ return label;
+}
+
/* a bit complicated with the separators...
*
* with_separators are if subsections of this GMenuModel should have
@@ -307,7 +326,7 @@ assert_section_equality (GSList **children,
our_children = g_slist_remove (our_children, item);
/* get_label() returns "" when it ought to return NULL */
- g_assert_cmpstr (gtk_menu_item_get_label (item), ==, label ? label : "");
+ g_assert_cmpstr (get_label (item), ==, label ? label : "");
submenu_widget = gtk_menu_item_get_submenu (item);
if (submenu)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]