diff options
author | Johan Dahlin <jdahlin@async.com.br> | 2007-10-24 11:48:17 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2007-10-24 11:48:17 +0000 |
commit | fa13277655e14d2ecc291f8083580058456c2dad (patch) | |
tree | 8fd477d08b151233d653001c68c3104f51646eec /tests | |
parent | 1d332bbb44f68165b46c119cd281774ea76d1a31 (diff) | |
download | gtk+-fa13277655e14d2ecc291f8083580058456c2dad.tar.gz |
Parse signals after <child> tags and add tests. (#468793, Benjamin Otte)
2007-10-24 Johan Dahlin <jdahlin@async.com.br>
* gtk/gtkbuilder.c: (_gtk_builder_construct),
(_gtk_builder_add_signals):
* gtk/gtkbuilderparser.c: (end_element):
* gtk/gtkbuilderprivate.h:
* tests/buildertest.c: (test_connect_signals):
Parse signals after <child> tags and add tests.
(#468793, Benjamin Otte)
svn path=/trunk/; revision=18944
Diffstat (limited to 'tests')
-rw-r--r-- | tests/buildertest.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/buildertest.c b/tests/buildertest.c index 72b25e0337..079e12d281 100644 --- a/tests/buildertest.c +++ b/tests/buildertest.c @@ -189,6 +189,15 @@ gboolean test_connect_signals (void) " <signal name=\"notify::title\" handler=\"signal_extra2\"/>" " </object>" "</interface>"; + const gchar buffer_after_child[] = + "<interface>" + " <object class=\"GtkWindow\" id=\"window1\">" + " <child>" + " <object class=\"GtkButton\" id=\"button1\"/>" + " </child>" + " <signal name=\"notify::title\" handler=\"signal_normal\"/>" + " </object>" + "</interface>"; builder = builder_new_from_string (buffer, -1, NULL); gtk_builder_connect_signals (builder, NULL); @@ -229,6 +238,19 @@ gboolean test_connect_signals (void) g_object_unref (builder); + /* new test, reset globals */ + after = 0; + normal = 0; + + builder = builder_new_from_string (buffer_after_child, -1, NULL); + window = gtk_builder_get_object (builder, "window1"); + gtk_builder_connect_signals (builder, NULL); + gtk_window_set_title (GTK_WINDOW (window), "test"); + + g_return_val_if_fail (normal == 1, FALSE); + gtk_widget_destroy (GTK_WIDGET (window)); + g_object_unref (builder); + return TRUE; } |