diff options
author | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2012-11-12 16:48:46 -0300 |
---|---|---|
committer | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2012-12-10 11:24:46 -0300 |
commit | 828338fbf83d86281346222402dec6c680b543f3 (patch) | |
tree | 751644f09360f9cb21315ec84dc12b209275dfdf | |
parent | 329335132ccf3f9d2dc5fee3e3a4328003351108 (diff) | |
download | gtk+-828338fbf83d86281346222402dec6c680b543f3.tar.gz |
Added signal data test to test_expose_object()
-rw-r--r-- | gtk/tests/builder.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gtk/tests/builder.c b/gtk/tests/builder.c index f87b4d6c5d..a1c08b992d 100644 --- a/gtk/tests/builder.c +++ b/gtk/tests/builder.c @@ -2845,6 +2845,20 @@ test_template (void) test_template_real (TRUE); } +static GObject *external_object = NULL, *external_object_swapped = NULL; + +void +on_button_clicked (GtkButton *button, GObject *data) +{ + external_object = data; +} + +void +on_button_clicked_swapped (GObject *data, GtkButton *button) +{ + external_object_swapped = data; +} + static void test_expose_object (void) { @@ -2856,12 +2870,15 @@ test_expose_object (void) "<interface>" " <object class=\"GtkButton\" id=\"button\">" " <property name=\"image\" external-object=\"True\">external_image</property>" + " <signal name=\"clicked\" handler=\"on_button_clicked\" object=\"builder\" external-object=\"yes\" swapped=\"no\"/>" + " <signal name=\"clicked\" handler=\"on_button_clicked_swapped\" object=\"builder\" external-object=\"yes\"/>" " </object>" "</interface>"; image = gtk_image_new (); builder = gtk_builder_new (); gtk_builder_expose_object (builder, "external_image", G_OBJECT (image)); + gtk_builder_expose_object (builder, "builder", G_OBJECT (builder)); gtk_builder_add_from_string (builder, buffer, -1, &error); g_assert (error == NULL); @@ -2869,6 +2886,13 @@ test_expose_object (void) g_assert (GTK_IS_BUTTON (obj)); g_assert (gtk_button_get_image (GTK_BUTTON (obj)) == image); + + /* Connect signals and fake clicked event */ + gtk_builder_connect_signals (builder, NULL); + gtk_button_clicked (GTK_BUTTON (obj)); + + g_assert (external_object == G_OBJECT (builder)); + g_assert (external_object_swapped == G_OBJECT (builder)); } int |