1 #include <gtk/gtk.h>
2 
3 static void
capture_widget_destroy(void)4 capture_widget_destroy (void)
5 {
6   GtkWidget *searchbar = gtk_search_bar_new ();
7   GtkWidget *button = gtk_button_new ();
8 
9   g_object_ref_sink (searchbar);
10   g_object_ref_sink (button);
11 
12   gtk_search_bar_set_key_capture_widget (GTK_SEARCH_BAR (searchbar), button);
13 
14   g_assert_true (gtk_search_bar_get_key_capture_widget (GTK_SEARCH_BAR (searchbar)) == button);
15 
16   g_object_unref (button);
17 
18   g_assert_null (gtk_search_bar_get_key_capture_widget (GTK_SEARCH_BAR (searchbar)));
19 
20   g_object_unref (searchbar);
21 }
22 
23 static void
capture_widget_unset(void)24 capture_widget_unset (void)
25 {
26   GtkWidget *searchbar = gtk_search_bar_new ();
27   GtkWidget *button = gtk_button_new ();
28 
29   g_object_ref_sink (searchbar);
30   g_object_ref_sink (button);
31 
32   gtk_search_bar_set_key_capture_widget (GTK_SEARCH_BAR (searchbar), button);
33 
34   g_assert_true (gtk_search_bar_get_key_capture_widget (GTK_SEARCH_BAR (searchbar)) == button);
35 
36   gtk_search_bar_set_key_capture_widget (GTK_SEARCH_BAR (searchbar), NULL);
37 
38   g_assert_null (gtk_search_bar_get_key_capture_widget (GTK_SEARCH_BAR (searchbar)));
39 
40   g_object_unref (searchbar);
41   g_object_unref (button);
42 }
43 
44 int
main(int argc,char * argv[])45 main (int   argc,
46       char *argv[])
47 {
48   gtk_test_init (&argc, &argv);
49 
50   g_test_add_func ("/searchbar/capture-widget-destroy", capture_widget_destroy);
51   g_test_add_func ("/searchbar/capture-widget-unset", capture_widget_unset);
52 
53   return g_test_run();
54 }
55