Bug Summary

File:testsuite/ctk/builder.c
Warning:line 2035, column 3
Value stored to 'label' is never read

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple x86_64-pc-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name builder.c -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/rootdir/testsuite/ctk -resource-dir /usr/lib/llvm-16/lib/clang/16 -D HAVE_CONFIG_H -I . -I ../.. -D CTK_LOCALEDIR="/usr/share/locale" -I ../.. -I ../../cdk -I ../../cdk -I ../../ctk -I ../../ctk -D G_ENABLE_DEBUG -D G_ENABLE_CONSISTENCY_CHECKS -D GLIB_MIN_REQUIRED_VERSION=GLIB_VERSION_2_66 -D GLIB_MAX_ALLOWED_VERSION=GLIB_VERSION_2_66 -I /usr/include/pango-1.0 -I /usr/include/glib-2.0 -I /usr/lib/x86_64-linux-gnu/glib-2.0/include -I /usr/include/sysprof-6 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/fribidi -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/atk-1.0 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/x86_64-linux-gnu -I /usr/include/webp -I /usr/include/at-spi2-atk/2.0 -I /usr/include/at-spi-2.0 -I /usr/include/dbus-1.0 -I /usr/lib/x86_64-linux-gnu/dbus-1.0/include -I /usr/include/gio-unix-2.0 -I /usr/include/harfbuzz -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/glib-2.0 -I /usr/lib/x86_64-linux-gnu/glib-2.0/include -I /usr/include/sysprof-6 -I /usr/include/pango-1.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/fribidi -I /usr/include/cairo -I /usr/include/pixman-1 -D HAVE_UNIX_PRINT_WIDGETS -internal-isystem /usr/lib/llvm-16/lib/clang/16/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdebug-compilation-dir=/rootdir/testsuite/ctk -ferror-limit 19 -fgnuc-version=4.2.1 -analyzer-checker deadcode.DeadStores -analyzer-checker alpha.deadcode.UnreachableCode -analyzer-checker alpha.core.CastSize -analyzer-checker alpha.core.CastToStruct -analyzer-checker alpha.core.IdenticalExpr -analyzer-checker alpha.core.SizeofPtr -analyzer-checker alpha.security.ArrayBoundV2 -analyzer-checker alpha.security.MallocOverflow -analyzer-checker alpha.security.ReturnPtrRange -analyzer-checker alpha.unix.SimpleStream -analyzer-checker alpha.unix.cstring.BufferOverlap -analyzer-checker alpha.unix.cstring.NotNullTerminated -analyzer-checker alpha.unix.cstring.OutOfBounds -analyzer-checker alpha.core.FixedAddr -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /rootdir/html-report/2024-09-19-172619-43637-1 -x c builder.c
1/* buildertest.c
2 * Copyright (C) 2006-2007 Async Open Source
3 * Authors: Johan Dahlin
4 * Henrique Romano
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details.
15 *
16 * You should have received a copy of the GNU Library General Public
17 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#include <string.h>
21#include <libintl.h>
22#include <locale.h>
23#include <math.h>
24
25#include <ctk/ctk.h>
26#include <cdk/cdkkeysyms.h>
27
28/* exported for CtkBuilder */
29G_MODULE_EXPORT__attribute__((visibility("default"))) void signal_normal (CtkWindow *window, GParamSpec *spec);
30G_MODULE_EXPORT__attribute__((visibility("default"))) void signal_after (CtkWindow *window, GParamSpec *spec);
31G_MODULE_EXPORT__attribute__((visibility("default"))) void signal_object (CtkButton *button, GParamSpec *spec);
32G_MODULE_EXPORT__attribute__((visibility("default"))) void signal_object_after (CtkButton *button, GParamSpec *spec);
33G_MODULE_EXPORT__attribute__((visibility("default"))) void signal_first (CtkButton *button, GParamSpec *spec);
34G_MODULE_EXPORT__attribute__((visibility("default"))) void signal_second (CtkButton *button, GParamSpec *spec);
35G_MODULE_EXPORT__attribute__((visibility("default"))) void signal_extra (CtkButton *button, GParamSpec *spec);
36G_MODULE_EXPORT__attribute__((visibility("default"))) void signal_extra2 (CtkButton *button, GParamSpec *spec);
37
38/* Copied from ctkiconfactory.c; keep in sync! */
39struct _CtkIconSet
40{
41 guint ref_count;
42 GSList *sources;
43 GSList *cache;
44 guint cache_size;
45 guint cache_serial;
46};
47
48
49static CtkBuilder *
50builder_new_from_string (const gchar *buffer,
51 gsize length,
52 const gchar *domain)
53{
54 CtkBuilder *builder;
55 GError *error = NULL((void*)0);
56
57 builder = ctk_builder_new ();
58 if (domain)
59 ctk_builder_set_translation_domain (builder, domain);
60 ctk_builder_add_from_string (builder, buffer, length, &error);
61 if (error)
62 {
63 g_print ("ERROR: %s", error->message);
64 g_error_free (error);
65 }
66
67 return builder;
68}
69
70static void
71test_parser (void)
72{
73 CtkBuilder *builder;
74 GError *error;
75
76 builder = ctk_builder_new ();
77
78 error = NULL((void*)0);
79 ctk_builder_add_from_string (builder, "<xxx/>", -1, &error);
80 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_UNHANDLED_TAG)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_UNHANDLED_TAG) g_assertion_message_error
(((gchar*) 0), "builder.c", 80, ((const char*) (__func__)), "error"
, error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_UNHANDLED_TAG
); } while (0)
;
81 g_error_free (error);
82
83 error = NULL((void*)0);
84 ctk_builder_add_from_string (builder, "<interface invalid=\"X\"/>", -1, &error);
85 g_assert_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE)do { if (!error || (error)->domain != g_markup_error_quark
() || (error)->code != G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE) g_assertion_message_error
(((gchar*) 0), "builder.c", 85, ((const char*) (__func__)), "error"
, error, g_markup_error_quark (), G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE
); } while (0)
;
86 g_error_free (error);
87
88 error = NULL((void*)0);
89 ctk_builder_add_from_string (builder, "<interface><child/></interface>", -1, &error);
90 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_TAG)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_TAG) g_assertion_message_error
(((gchar*) 0), "builder.c", 90, ((const char*) (__func__)), "error"
, error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_TAG
); } while (0)
;
91 g_error_free (error);
92
93 error = NULL((void*)0);
94 ctk_builder_add_from_string (builder, "<interface><object class=\"CtkVBox\" id=\"a\"><object class=\"CtkHBox\" id=\"b\"/></object></interface>", -1, &error);
95 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_TAG)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_TAG) g_assertion_message_error
(((gchar*) 0), "builder.c", 95, ((const char*) (__func__)), "error"
, error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_TAG
); } while (0)
;
96 g_error_free (error);
97
98 error = NULL((void*)0);
99 ctk_builder_add_from_string (builder, "<interface><object class=\"Unknown\" id=\"a\"></object></interface>", -1, &error);
100 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 100, ((const char*) (__func__)),
"error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
101 g_error_free (error);
102
103 error = NULL((void*)0);
104 ctk_builder_add_from_string (builder, "<interface><object class=\"CtkWidget\" id=\"a\" constructor=\"none\"></object></interface>", -1, &error);
105 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 105, ((const char*) (__func__)),
"error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
106 g_error_free (error);
107
108 error = NULL((void*)0);
109 ctk_builder_add_from_string (builder, "<interface><object class=\"CtkButton\" id=\"a\"><child internal-child=\"foobar\"><object class=\"CtkButton\" id=\"int\"/></child></object></interface>", -1, &error);
110 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 110, ((const char*) (__func__)),
"error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
111 g_error_free (error);
112
113 error = NULL((void*)0);
114 ctk_builder_add_from_string (builder, "<interface><object class=\"CtkButton\" id=\"a\"></object><object class=\"CtkButton\" id=\"a\"/></object></interface>", -1, &error);
115 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_DUPLICATE_ID)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_DUPLICATE_ID) g_assertion_message_error
(((gchar*) 0), "builder.c", 115, ((const char*) (__func__)),
"error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_DUPLICATE_ID
); } while (0)
;
116 g_error_free (error);
117
118 error = NULL((void*)0);
119 ctk_builder_add_from_string (builder, "<interface><object class=\"CtkButton\" id=\"a\"><property name=\"deafbeef\"></property></object></interface>", -1, &error);
120 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_PROPERTY)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_PROPERTY
) g_assertion_message_error (((gchar*) 0), "builder.c", 120, (
(const char*) (__func__)), "error", error, (ctk_builder_error_quark
()), CTK_BUILDER_ERROR_INVALID_PROPERTY); } while (0)
;
121 g_error_free (error);
122
123 error = NULL((void*)0);
124 ctk_builder_add_from_string (builder, "<interface><object class=\"CtkButton\" id=\"a\"><signal name=\"deafbeef\" handler=\"ctk_true\"/></object></interface>", -1, &error);
125 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_SIGNAL)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_SIGNAL)
g_assertion_message_error (((gchar*) 0), "builder.c", 125, (
(const char*) (__func__)), "error", error, (ctk_builder_error_quark
()), CTK_BUILDER_ERROR_INVALID_SIGNAL); } while (0)
;
126 g_error_free (error);
127
128 g_object_unref (builder);
129}
130
131static int normal = 0;
132static int after = 0;
133static int object = 0;
134static int object_after = 0;
135
136G_MODULE_EXPORT__attribute__((visibility("default"))) void /* exported for CtkBuilder */
137signal_normal (CtkWindow *window, GParamSpec *spec)
138{
139 g_assert (CTK_IS_WINDOW (window))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((window)); GType __t = ((ctk_window_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 139, ((
const char*) (__func__)), "CTK_IS_WINDOW (window)"); } while (
0)
;
140 g_assert (normal == 0)do { if (normal == 0) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 140, ((const char*) (__func__)), "normal == 0"
); } while (0)
;
141 g_assert (after == 0)do { if (after == 0) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 141, ((const char*) (__func__)), "after == 0"
); } while (0)
;
142
143 normal++;
144}
145
146G_MODULE_EXPORT__attribute__((visibility("default"))) void /* exported for CtkBuilder */
147signal_after (CtkWindow *window, GParamSpec *spec)
148{
149 g_assert (CTK_IS_WINDOW (window))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((window)); GType __t = ((ctk_window_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 149, ((
const char*) (__func__)), "CTK_IS_WINDOW (window)"); } while (
0)
;
150 g_assert (normal == 1)do { if (normal == 1) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 150, ((const char*) (__func__)), "normal == 1"
); } while (0)
;
151 g_assert (after == 0)do { if (after == 0) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 151, ((const char*) (__func__)), "after == 0"
); } while (0)
;
152
153 after++;
154}
155
156G_MODULE_EXPORT__attribute__((visibility("default"))) void /* exported for CtkBuilder */
157signal_object (CtkButton *button, GParamSpec *spec)
158{
159 g_assert (CTK_IS_BUTTON (button))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((button)); GType __t = ((ctk_button_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 159, ((
const char*) (__func__)), "CTK_IS_BUTTON (button)"); } while (
0)
;
160 g_assert (object == 0)do { if (object == 0) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 160, ((const char*) (__func__)), "object == 0"
); } while (0)
;
161 g_assert (object_after == 0)do { if (object_after == 0) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 161, ((const char*) (__func__)), "object_after == 0"
); } while (0)
;
162
163 object++;
164}
165
166G_MODULE_EXPORT__attribute__((visibility("default"))) void /* exported for CtkBuilder */
167signal_object_after (CtkButton *button, GParamSpec *spec)
168{
169 g_assert (CTK_IS_BUTTON (button))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((button)); GType __t = ((ctk_button_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 169, ((
const char*) (__func__)), "CTK_IS_BUTTON (button)"); } while (
0)
;
170 g_assert (object == 1)do { if (object == 1) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 170, ((const char*) (__func__)), "object == 1"
); } while (0)
;
171 g_assert (object_after == 0)do { if (object_after == 0) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 171, ((const char*) (__func__)), "object_after == 0"
); } while (0)
;
172
173 object_after++;
174}
175
176G_MODULE_EXPORT__attribute__((visibility("default"))) void /* exported for CtkBuilder */
177signal_first (CtkButton *button, GParamSpec *spec)
178{
179 g_assert (normal == 0)do { if (normal == 0) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 179, ((const char*) (__func__)), "normal == 0"
); } while (0)
;
180 normal = 10;
181}
182
183G_MODULE_EXPORT__attribute__((visibility("default"))) void /* exported for CtkBuilder */
184signal_second (CtkButton *button, GParamSpec *spec)
185{
186 g_assert (normal == 10)do { if (normal == 10) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 186, ((const char*) (__func__)), "normal == 10"
); } while (0)
;
187 normal = 20;
188}
189
190G_MODULE_EXPORT__attribute__((visibility("default"))) void /* exported for CtkBuilder */
191signal_extra (CtkButton *button, GParamSpec *spec)
192{
193 g_assert (normal == 20)do { if (normal == 20) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 193, ((const char*) (__func__)), "normal == 20"
); } while (0)
;
194 normal = 30;
195}
196
197G_MODULE_EXPORT__attribute__((visibility("default"))) void /* exported for CtkBuilder */
198signal_extra2 (CtkButton *button, GParamSpec *spec)
199{
200 g_assert (normal == 30)do { if (normal == 30) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 200, ((const char*) (__func__)), "normal == 30"
); } while (0)
;
201 normal = 40;
202}
203
204static void
205test_connect_signals (void)
206{
207 CtkBuilder *builder;
208 GObject *window;
209 const gchar buffer[] =
210 "<interface>"
211 " <object class=\"CtkButton\" id=\"button\"/>"
212 " <object class=\"CtkWindow\" id=\"window1\">"
213 " <signal name=\"notify::title\" handler=\"signal_normal\"/>"
214 " <signal name=\"notify::title\" handler=\"signal_after\" after=\"yes\"/>"
215 " <signal name=\"notify::title\" handler=\"signal_object\""
216 " object=\"button\"/>"
217 " <signal name=\"notify::title\" handler=\"signal_object_after\""
218 " object=\"button\" after=\"yes\"/>"
219 " </object>"
220 "</interface>";
221 const gchar buffer_order[] =
222 "<interface>"
223 " <object class=\"CtkWindow\" id=\"window1\">"
224 " <signal name=\"notify::title\" handler=\"signal_first\"/>"
225 " <signal name=\"notify::title\" handler=\"signal_second\"/>"
226 " </object>"
227 "</interface>";
228 const gchar buffer_extra[] =
229 "<interface>"
230 " <object class=\"CtkWindow\" id=\"window2\">"
231 " <signal name=\"notify::title\" handler=\"signal_extra\"/>"
232 " </object>"
233 "</interface>";
234 const gchar buffer_extra2[] =
235 "<interface>"
236 " <object class=\"CtkWindow\" id=\"window3\">"
237 " <signal name=\"notify::title\" handler=\"signal_extra2\"/>"
238 " </object>"
239 "</interface>";
240 const gchar buffer_after_child[] =
241 "<interface>"
242 " <object class=\"CtkWindow\" id=\"window1\">"
243 " <child>"
244 " <object class=\"CtkButton\" id=\"button1\"/>"
245 " </child>"
246 " <signal name=\"notify::title\" handler=\"signal_normal\"/>"
247 " </object>"
248 "</interface>";
249
250 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
251 ctk_builder_connect_signals (builder, NULL((void*)0));
252
253 window = ctk_builder_get_object (builder, "window1");
254 ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_window_get_type ()))))))
, "test");
255
256 g_assert_cmpint (normal, ==, 1)do { gint64 __n1 = (normal), __n2 = (1); if (__n1 == __n2) ; else
g_assertion_message_cmpint (((gchar*) 0), "builder.c", 256, (
(const char*) (__func__)), "normal" " " "==" " " "1", (guint64
)__n1, "==", (guint64)__n2, 'i'); } while (0)
;
257 g_assert_cmpint (after, ==, 1)do { gint64 __n1 = (after), __n2 = (1); if (__n1 == __n2) ; else
g_assertion_message_cmpint (((gchar*) 0), "builder.c", 257, (
(const char*) (__func__)), "after" " " "==" " " "1", (guint64
)__n1, "==", (guint64)__n2, 'i'); } while (0)
;
258 g_assert_cmpint (object, ==, 1)do { gint64 __n1 = (object), __n2 = (1); if (__n1 == __n2) ; else
g_assertion_message_cmpint (((gchar*) 0), "builder.c", 258, (
(const char*) (__func__)), "object" " " "==" " " "1", (guint64
)__n1, "==", (guint64)__n2, 'i'); } while (0)
;
259 g_assert_cmpint (object_after, ==, 1)do { gint64 __n1 = (object_after), __n2 = (1); if (__n1 == __n2
) ; else g_assertion_message_cmpint (((gchar*) 0), "builder.c"
, 259, ((const char*) (__func__)), "object_after" " " "==" " "
"1", (guint64)__n1, "==", (guint64)__n2, 'i'); } while (0)
;
260
261 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
262 g_object_unref (builder);
263
264 builder = builder_new_from_string (buffer_order, -1, NULL((void*)0));
265 ctk_builder_connect_signals (builder, NULL((void*)0));
266 window = ctk_builder_get_object (builder, "window1");
267 normal = 0;
268 ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_window_get_type ()))))))
, "test");
269 g_assert (normal == 20)do { if (normal == 20) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 269, ((const char*) (__func__)), "normal == 20"
); } while (0)
;
270
271 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
272
273 ctk_builder_add_from_string (builder, buffer_extra,
274 strlen (buffer_extra), NULL((void*)0));
275 ctk_builder_add_from_string (builder, buffer_extra2,
276 strlen (buffer_extra2), NULL((void*)0));
277 ctk_builder_connect_signals (builder, NULL((void*)0));
278 window = ctk_builder_get_object (builder, "window2");
279 ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_window_get_type ()))))))
, "test");
280 g_assert (normal == 30)do { if (normal == 30) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 280, ((const char*) (__func__)), "normal == 30"
); } while (0)
;
281
282 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
283 window = ctk_builder_get_object (builder, "window3");
284 ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_window_get_type ()))))))
, "test");
285 g_assert (normal == 40)do { if (normal == 40) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 285, ((const char*) (__func__)), "normal == 40"
); } while (0)
;
286 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
287
288 g_object_unref (builder);
289
290 /* new test, reset globals */
291 after = 0;
292 normal = 0;
293
294 builder = builder_new_from_string (buffer_after_child, -1, NULL((void*)0));
295 window = ctk_builder_get_object (builder, "window1");
296 ctk_builder_connect_signals (builder, NULL((void*)0));
297 ctk_window_set_title (CTK_WINDOW (window)((((CtkWindow*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_window_get_type ()))))))
, "test");
298
299 g_assert (normal == 1)do { if (normal == 1) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 299, ((const char*) (__func__)), "normal == 1"
); } while (0)
;
300 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
301 g_object_unref (builder);
302}
303
304static void
305test_uimanager_simple (void)
306{
307 CtkBuilder *builder;
308 GObject *window, *uimgr, *menubar;
309 GObject *menu, *label;
310 GList *children;
311 const gchar buffer[] =
312 "<interface>"
313 " <object class=\"CtkUIManager\" id=\"uimgr1\"/>"
314 "</interface>";
315
316 const gchar buffer2[] =
317 "<interface>"
318 " <object class=\"CtkUIManager\" id=\"uimgr1\">"
319 " <child>"
320 " <object class=\"CtkActionGroup\" id=\"ag1\">"
321 " <child>"
322 " <object class=\"CtkAction\" id=\"file\">"
323 " <property name=\"label\">_File</property>"
324 " </object>"
325 " <accelerator key=\"n\" modifiers=\"CDK_CONTROL_MASK\"/>"
326 " </child>"
327 " </object>"
328 " </child>"
329 " <ui>"
330 " <menubar name=\"menubar1\">"
331 " <menu action=\"file\">"
332 " </menu>"
333 " </menubar>"
334 " </ui>"
335 " </object>"
336 " <object class=\"CtkWindow\" id=\"window1\">"
337 " <child>"
338 " <object class=\"CtkMenuBar\" id=\"menubar1\" constructor=\"uimgr1\"/>"
339 " </child>"
340 " </object>"
341 "</interface>";
342
343 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
344
345 uimgr = ctk_builder_get_object (builder, "uimgr1");
346 g_assert (CTK_IS_UI_MANAGER (uimgr))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((uimgr)); GType __t = ((ctk_ui_manager_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 346, ((
const char*) (__func__)), "CTK_IS_UI_MANAGER (uimgr)"); } while
(0)
;
347 g_object_unref (builder);
348
349 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
350
351 menubar = ctk_builder_get_object (builder, "menubar1");
352 g_assert (CTK_IS_MENU_BAR (menubar))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((menubar)); GType __t = ((ctk_menu_bar_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 352, ((
const char*) (__func__)), "CTK_IS_MENU_BAR (menubar)"); } while
(0)
;
353
354 children = ctk_container_get_children (CTK_CONTAINER (menubar)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((menubar)), ((ctk_container_get_type ()))))))
);
355 menu = children->data;
356 g_assert (CTK_IS_MENU_ITEM (menu))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((menu)); GType __t = ((ctk_menu_item_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 356, ((
const char*) (__func__)), "CTK_IS_MENU_ITEM (menu)"); } while
(0)
;
357 g_assert (strcmp (ctk_widget_get_name (CTK_WIDGET (menu)), "file") == 0)do { if (strcmp (ctk_widget_get_name (((((CtkWidget*) (void *
) g_type_check_instance_cast ((GTypeInstance*) ((menu)), ((ctk_widget_get_type
()))))))), "file") == 0) ; else g_assertion_message_expr (((
gchar*) 0), "builder.c", 357, ((const char*) (__func__)), "strcmp (ctk_widget_get_name (CTK_WIDGET (menu)), \"file\") == 0"
); } while (0)
;
358 g_list_free (children);
359
360 label = G_OBJECT (ctk_bin_get_child (CTK_BIN (menu)))((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((ctk_bin_get_child (((((CtkBin*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((menu)), ((ctk_bin_get_type ()))))))))), (
((GType) ((20) << (2))))))))
;
361 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 361, ((
const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (0
)
;
362 g_assert (strcmp (ctk_label_get_text (CTK_LABEL (label)), "File") == 0)do { if (strcmp (ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((label)), ((ctk_label_get_type ()))))))),
"File") == 0) ; else g_assertion_message_expr (((gchar*) 0),
"builder.c", 362, ((const char*) (__func__)), "strcmp (ctk_label_get_text (CTK_LABEL (label)), \"File\") == 0"
); } while (0)
;
363
364 window = ctk_builder_get_object (builder, "window1");
365 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
366 g_object_unref (builder);
367}
368
369static void
370test_domain (void)
371{
372 CtkBuilder *builder;
373 const gchar buffer1[] = "<interface/>";
374 const gchar buffer2[] = "<interface domain=\"domain\"/>";
375 const gchar *domain;
376
377 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
378 domain = ctk_builder_get_translation_domain (builder);
379 g_assert (domain == NULL)do { if (domain == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 379, ((const char*) (__func__)),
"domain == NULL"); } while (0)
;
380 g_object_unref (builder);
381
382 builder = builder_new_from_string (buffer1, -1, "domain-1");
383 domain = ctk_builder_get_translation_domain (builder);
384 g_assert (domain)do { if (domain) ; else g_assertion_message_expr (((gchar*) 0
), "builder.c", 384, ((const char*) (__func__)), "domain"); }
while (0)
;
385 g_assert (strcmp (domain, "domain-1") == 0)do { if (strcmp (domain, "domain-1") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 385, ((const char*) (__func__)),
"strcmp (domain, \"domain-1\") == 0"); } while (0)
;
386 g_object_unref (builder);
387
388 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
389 domain = ctk_builder_get_translation_domain (builder);
390 g_assert (domain == NULL)do { if (domain == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 390, ((const char*) (__func__)),
"domain == NULL"); } while (0)
;
391 g_object_unref (builder);
392}
393
394#if 0
395static void
396test_translation (void)
397{
398 CtkBuilder *builder;
399 const gchar buffer[] =
400 "<interface>"
401 " <object class=\"CtkWindow\" id=\"window1\">"
402 " <child>"
403 " <object class=\"CtkLabel\" id=\"label\">"
404 " <property name=\"label\" translatable=\"yes\">File</property>"
405 " </object>"
406 " </child>"
407 " </object>"
408 "</interface>";
409 CtkLabel *window, *label;
410
411 setlocale (LC_ALL6, "sv_SE");
412 textdomain ("builder");
413 bindtextdomain ("builder", "tests");
414
415 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
416 label = CTK_LABEL (ctk_builder_get_object (builder, "label"))((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((ctk_builder_get_object (builder, "label"))), ((ctk_label_get_type
()))))))
;
417 g_assert (strcmp (ctk_label_get_text (label), "Arkiv") == 0)do { if (strcmp (ctk_label_get_text (label), "Arkiv") == 0) ;
else g_assertion_message_expr (((gchar*) 0), "builder.c", 417
, ((const char*) (__func__)), "strcmp (ctk_label_get_text (label), \"Arkiv\") == 0"
); } while (0)
;
418
419 window = ctk_builder_get_object (builder, "window1");
420 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
421 g_object_unref (builder);
422}
423#endif
424
425static void
426test_sizegroup (void)
427{
428 CtkBuilder * builder;
429 const gchar buffer1[] =
430 "<interface domain=\"test\">"
431 " <object class=\"CtkSizeGroup\" id=\"sizegroup1\">"
432 " <property name=\"mode\">CTK_SIZE_GROUP_HORIZONTAL</property>"
433 " <widgets>"
434 " <widget name=\"radio1\"/>"
435 " <widget name=\"radio2\"/>"
436 " </widgets>"
437 " </object>"
438 " <object class=\"CtkWindow\" id=\"window1\">"
439 " <child>"
440 " <object class=\"CtkVBox\" id=\"vbox1\">"
441 " <child>"
442 " <object class=\"CtkRadioButton\" id=\"radio1\"/>"
443 " </child>"
444 " <child>"
445 " <object class=\"CtkRadioButton\" id=\"radio2\"/>"
446 " </child>"
447 " </object>"
448 " </child>"
449 " </object>"
450 "</interface>";
451 const gchar buffer2[] =
452 "<interface domain=\"test\">"
453 " <object class=\"CtkSizeGroup\" id=\"sizegroup1\">"
454 " <property name=\"mode\">CTK_SIZE_GROUP_HORIZONTAL</property>"
455 " <widgets>"
456 " </widgets>"
457 " </object>"
458 "</interface>";
459 const gchar buffer3[] =
460 "<interface domain=\"test\">"
461 " <object class=\"CtkSizeGroup\" id=\"sizegroup1\">"
462 " <property name=\"mode\">CTK_SIZE_GROUP_HORIZONTAL</property>"
463 " <widgets>"
464 " <widget name=\"radio1\"/>"
465 " <widget name=\"radio2\"/>"
466 " </widgets>"
467 " </object>"
468 " <object class=\"CtkSizeGroup\" id=\"sizegroup2\">"
469 " <property name=\"mode\">CTK_SIZE_GROUP_HORIZONTAL</property>"
470 " <widgets>"
471 " <widget name=\"radio1\"/>"
472 " <widget name=\"radio2\"/>"
473 " </widgets>"
474 " </object>"
475 " <object class=\"CtkWindow\" id=\"window1\">"
476 " <child>"
477 " <object class=\"CtkVBox\" id=\"vbox1\">"
478 " <child>"
479 " <object class=\"CtkRadioButton\" id=\"radio1\"/>"
480 " </child>"
481 " <child>"
482 " <object class=\"CtkRadioButton\" id=\"radio2\"/>"
483 " </child>"
484 " </object>"
485 " </child>"
486 " </object>"
487 "</interface>";
488 GObject *sizegroup;
489 GSList *widgets;
490
491 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
492 sizegroup = ctk_builder_get_object (builder, "sizegroup1");
493 widgets = ctk_size_group_get_widgets (CTK_SIZE_GROUP (sizegroup)((((CtkSizeGroup*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((sizegroup)), ((ctk_size_group_get_type ()))))))
);
494 g_assert (g_slist_length (widgets) == 2)do { if (g_slist_length (widgets) == 2) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 494, ((const char*) (__func__)),
"g_slist_length (widgets) == 2"); } while (0)
;
495 g_slist_free (widgets);
496 g_object_unref (builder);
497
498 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
499 sizegroup = ctk_builder_get_object (builder, "sizegroup1");
500 widgets = ctk_size_group_get_widgets (CTK_SIZE_GROUP (sizegroup)((((CtkSizeGroup*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((sizegroup)), ((ctk_size_group_get_type ()))))))
);
501 g_assert (g_slist_length (widgets) == 0)do { if (g_slist_length (widgets) == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 501, ((const char*) (__func__)),
"g_slist_length (widgets) == 0"); } while (0)
;
502 g_slist_free (widgets);
503 g_object_unref (builder);
504
505 builder = builder_new_from_string (buffer3, -1, NULL((void*)0));
506 sizegroup = ctk_builder_get_object (builder, "sizegroup1");
507 widgets = ctk_size_group_get_widgets (CTK_SIZE_GROUP (sizegroup)((((CtkSizeGroup*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((sizegroup)), ((ctk_size_group_get_type ()))))))
);
508 g_assert (g_slist_length (widgets) == 2)do { if (g_slist_length (widgets) == 2) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 508, ((const char*) (__func__)),
"g_slist_length (widgets) == 2"); } while (0)
;
509 g_slist_free (widgets);
510 sizegroup = ctk_builder_get_object (builder, "sizegroup2");
511 widgets = ctk_size_group_get_widgets (CTK_SIZE_GROUP (sizegroup)((((CtkSizeGroup*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((sizegroup)), ((ctk_size_group_get_type ()))))))
);
512 g_assert (g_slist_length (widgets) == 2)do { if (g_slist_length (widgets) == 2) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 512, ((const char*) (__func__)),
"g_slist_length (widgets) == 2"); } while (0)
;
513 g_slist_free (widgets);
514
515#if 0
516 {
517 GObject *window;
518 window = ctk_builder_get_object (builder, "window1");
519 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
520 }
521#endif
522 g_object_unref (builder);
523}
524
525static void
526test_list_store (void)
527{
528 const gchar buffer1[] =
529 "<interface>"
530 " <object class=\"CtkListStore\" id=\"liststore1\">"
531 " <columns>"
532 " <column type=\"gchararray\"/>"
533 " <column type=\"guint\"/>"
534 " </columns>"
535 " </object>"
536 "</interface>";
537 const char buffer2[] =
538 "<interface>"
539 " <object class=\"CtkListStore\" id=\"liststore1\">"
540 " <columns>"
541 " <column type=\"gchararray\"/>"
542 " <column type=\"gchararray\"/>"
543 " <column type=\"gint\"/>"
544 " </columns>"
545 " <data>"
546 " <row>"
547 " <col id=\"0\" translatable=\"yes\">John</col>"
548 " <col id=\"1\" context=\"foo\">Doe</col>"
549 " <col id=\"2\" comments=\"foobar\">25</col>"
550 " </row>"
551 " <row>"
552 " <col id=\"0\">Johan</col>"
553 " <col id=\"1\">Dole</col>"
554 " <col id=\"2\">50</col>"
555 " </row>"
556 " </data>"
557 " </object>"
558 "</interface>";
559 const char buffer3[] =
560 "<interface>"
561 " <object class=\"CtkListStore\" id=\"liststore1\">"
562 " <columns>"
563 " <column type=\"gchararray\"/>"
564 " <column type=\"gchararray\"/>"
565 " <column type=\"gint\"/>"
566 " </columns>"
567 " <data>"
568 " <row>"
569 " <col id=\"1\" context=\"foo\">Doe</col>"
570 " <col id=\"0\" translatable=\"yes\">John</col>"
571 " <col id=\"2\" comments=\"foobar\">25</col>"
572 " </row>"
573 " <row>"
574 " <col id=\"2\">50</col>"
575 " <col id=\"1\">Dole</col>"
576 " <col id=\"0\">Johan</col>"
577 " </row>"
578 " <row>"
579 " <col id=\"2\">19</col>"
580 " </row>"
581 " </data>"
582 " </object>"
583 "</interface>";
584 CtkBuilder *builder;
585 GObject *store;
586 CtkTreeIter iter;
587 gchar *surname, *lastname;
588 int age;
589
590 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
591 store = ctk_builder_get_object (builder, "liststore1");
592 g_assert (ctk_tree_model_get_n_columns (CTK_TREE_MODEL (store)) == 2)do { if (ctk_tree_model_get_n_columns (((((CtkTreeModel*) (void
*) g_type_check_instance_cast ((GTypeInstance*) ((store)), (
(ctk_tree_model_get_type ()))))))) == 2) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 592, ((const char*) (__func__)),
"ctk_tree_model_get_n_columns (CTK_TREE_MODEL (store)) == 2"
); } while (0)
;
593 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 0) == G_TYPE_STRING)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 0) == ((GType) ((16) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 593, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 0) == G_TYPE_STRING"
); } while (0)
;
594 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 1) == G_TYPE_UINT)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 1) == ((GType) ((7) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 594, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 1) == G_TYPE_UINT"
); } while (0)
;
595 g_object_unref (builder);
596
597 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
598 store = ctk_builder_get_object (builder, "liststore1");
599 g_assert (ctk_tree_model_get_n_columns (CTK_TREE_MODEL (store)) == 3)do { if (ctk_tree_model_get_n_columns (((((CtkTreeModel*) (void
*) g_type_check_instance_cast ((GTypeInstance*) ((store)), (
(ctk_tree_model_get_type ()))))))) == 3) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 599, ((const char*) (__func__)),
"ctk_tree_model_get_n_columns (CTK_TREE_MODEL (store)) == 3"
); } while (0)
;
600 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 0) == G_TYPE_STRING)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 0) == ((GType) ((16) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 600, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 0) == G_TYPE_STRING"
); } while (0)
;
601 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 1) == G_TYPE_STRING)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 1) == ((GType) ((16) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 601, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 1) == G_TYPE_STRING"
); } while (0)
;
602 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 2) == G_TYPE_INT)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 2) == ((GType) ((6) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 602, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 2) == G_TYPE_INT"
); } while (0)
;
603
604 g_assert (ctk_tree_model_get_iter_first (CTK_TREE_MODEL (store), &iter) == TRUE)do { if (ctk_tree_model_get_iter_first (((((CtkTreeModel*) (void
*) g_type_check_instance_cast ((GTypeInstance*) ((store)), (
(ctk_tree_model_get_type ())))))), &iter) == (!(0))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 604, ((
const char*) (__func__)), "ctk_tree_model_get_iter_first (CTK_TREE_MODEL (store), &iter) == TRUE"
); } while (0)
;
605 ctk_tree_model_get (CTK_TREE_MODEL (store)((((CtkTreeModel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((store)), ((ctk_tree_model_get_type ()))))))
, &iter,
606 0, &surname,
607 1, &lastname,
608 2, &age,
609 -1);
610 g_assert (surname != NULL)do { if (surname != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 610, ((const char*) (__func__)),
"surname != NULL"); } while (0)
;
611 g_assert (strcmp (surname, "John") == 0)do { if (strcmp (surname, "John") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 611, ((const char*) (__func__)),
"strcmp (surname, \"John\") == 0"); } while (0)
;
612 g_free (surname);
613 g_assert (lastname != NULL)do { if (lastname != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 613, ((const char*) (__func__)),
"lastname != NULL"); } while (0)
;
614 g_assert (strcmp (lastname, "Doe") == 0)do { if (strcmp (lastname, "Doe") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 614, ((const char*) (__func__)),
"strcmp (lastname, \"Doe\") == 0"); } while (0)
;
615 g_free (lastname);
616 g_assert (age == 25)do { if (age == 25) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 616, ((const char*) (__func__)), "age == 25"
); } while (0)
;
617 g_assert (ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == TRUE)do { if (ctk_tree_model_iter_next (((((CtkTreeModel*) (void *
) g_type_check_instance_cast ((GTypeInstance*) ((store)), ((ctk_tree_model_get_type
())))))), &iter) == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 617, ((const char*) (__func__)),
"ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == TRUE"
); } while (0)
;
618
619 ctk_tree_model_get (CTK_TREE_MODEL (store)((((CtkTreeModel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((store)), ((ctk_tree_model_get_type ()))))))
, &iter,
620 0, &surname,
621 1, &lastname,
622 2, &age,
623 -1);
624 g_assert (surname != NULL)do { if (surname != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 624, ((const char*) (__func__)),
"surname != NULL"); } while (0)
;
625 g_assert (strcmp (surname, "Johan") == 0)do { if (strcmp (surname, "Johan") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 625, ((const char*) (__func__)),
"strcmp (surname, \"Johan\") == 0"); } while (0)
;
626 g_free (surname);
627 g_assert (lastname != NULL)do { if (lastname != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 627, ((const char*) (__func__)),
"lastname != NULL"); } while (0)
;
628 g_assert (strcmp (lastname, "Dole") == 0)do { if (strcmp (lastname, "Dole") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 628, ((const char*) (__func__)),
"strcmp (lastname, \"Dole\") == 0"); } while (0)
;
629 g_free (lastname);
630 g_assert (age == 50)do { if (age == 50) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 630, ((const char*) (__func__)), "age == 50"
); } while (0)
;
631 g_assert (ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == FALSE)do { if (ctk_tree_model_iter_next (((((CtkTreeModel*) (void *
) g_type_check_instance_cast ((GTypeInstance*) ((store)), ((ctk_tree_model_get_type
())))))), &iter) == (0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 631, ((const char*) (__func__)),
"ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == FALSE"
); } while (0)
;
632
633 g_object_unref (builder);
634
635 builder = builder_new_from_string (buffer3, -1, NULL((void*)0));
636 store = ctk_builder_get_object (builder, "liststore1");
637 g_assert (ctk_tree_model_get_n_columns (CTK_TREE_MODEL (store)) == 3)do { if (ctk_tree_model_get_n_columns (((((CtkTreeModel*) (void
*) g_type_check_instance_cast ((GTypeInstance*) ((store)), (
(ctk_tree_model_get_type ()))))))) == 3) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 637, ((const char*) (__func__)),
"ctk_tree_model_get_n_columns (CTK_TREE_MODEL (store)) == 3"
); } while (0)
;
638 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 0) == G_TYPE_STRING)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 0) == ((GType) ((16) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 638, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 0) == G_TYPE_STRING"
); } while (0)
;
639 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 1) == G_TYPE_STRING)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 1) == ((GType) ((16) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 639, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 1) == G_TYPE_STRING"
); } while (0)
;
640 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 2) == G_TYPE_INT)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 2) == ((GType) ((6) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 640, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 2) == G_TYPE_INT"
); } while (0)
;
641
642 g_assert (ctk_tree_model_get_iter_first (CTK_TREE_MODEL (store), &iter) == TRUE)do { if (ctk_tree_model_get_iter_first (((((CtkTreeModel*) (void
*) g_type_check_instance_cast ((GTypeInstance*) ((store)), (
(ctk_tree_model_get_type ())))))), &iter) == (!(0))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 642, ((
const char*) (__func__)), "ctk_tree_model_get_iter_first (CTK_TREE_MODEL (store), &iter) == TRUE"
); } while (0)
;
643 ctk_tree_model_get (CTK_TREE_MODEL (store)((((CtkTreeModel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((store)), ((ctk_tree_model_get_type ()))))))
, &iter,
644 0, &surname,
645 1, &lastname,
646 2, &age,
647 -1);
648 g_assert (surname != NULL)do { if (surname != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 648, ((const char*) (__func__)),
"surname != NULL"); } while (0)
;
649 g_assert (strcmp (surname, "John") == 0)do { if (strcmp (surname, "John") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 649, ((const char*) (__func__)),
"strcmp (surname, \"John\") == 0"); } while (0)
;
650 g_free (surname);
651 g_assert (lastname != NULL)do { if (lastname != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 651, ((const char*) (__func__)),
"lastname != NULL"); } while (0)
;
652 g_assert (strcmp (lastname, "Doe") == 0)do { if (strcmp (lastname, "Doe") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 652, ((const char*) (__func__)),
"strcmp (lastname, \"Doe\") == 0"); } while (0)
;
653 g_free (lastname);
654 g_assert (age == 25)do { if (age == 25) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 654, ((const char*) (__func__)), "age == 25"
); } while (0)
;
655 g_assert (ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == TRUE)do { if (ctk_tree_model_iter_next (((((CtkTreeModel*) (void *
) g_type_check_instance_cast ((GTypeInstance*) ((store)), ((ctk_tree_model_get_type
())))))), &iter) == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 655, ((const char*) (__func__)),
"ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == TRUE"
); } while (0)
;
656
657 ctk_tree_model_get (CTK_TREE_MODEL (store)((((CtkTreeModel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((store)), ((ctk_tree_model_get_type ()))))))
, &iter,
658 0, &surname,
659 1, &lastname,
660 2, &age,
661 -1);
662 g_assert (surname != NULL)do { if (surname != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 662, ((const char*) (__func__)),
"surname != NULL"); } while (0)
;
663 g_assert (strcmp (surname, "Johan") == 0)do { if (strcmp (surname, "Johan") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 663, ((const char*) (__func__)),
"strcmp (surname, \"Johan\") == 0"); } while (0)
;
664 g_free (surname);
665 g_assert (lastname != NULL)do { if (lastname != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 665, ((const char*) (__func__)),
"lastname != NULL"); } while (0)
;
666 g_assert (strcmp (lastname, "Dole") == 0)do { if (strcmp (lastname, "Dole") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 666, ((const char*) (__func__)),
"strcmp (lastname, \"Dole\") == 0"); } while (0)
;
667 g_free (lastname);
668 g_assert (age == 50)do { if (age == 50) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 668, ((const char*) (__func__)), "age == 50"
); } while (0)
;
669 g_assert (ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == TRUE)do { if (ctk_tree_model_iter_next (((((CtkTreeModel*) (void *
) g_type_check_instance_cast ((GTypeInstance*) ((store)), ((ctk_tree_model_get_type
())))))), &iter) == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 669, ((const char*) (__func__)),
"ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == TRUE"
); } while (0)
;
670
671 ctk_tree_model_get (CTK_TREE_MODEL (store)((((CtkTreeModel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((store)), ((ctk_tree_model_get_type ()))))))
, &iter,
672 0, &surname,
673 1, &lastname,
674 2, &age,
675 -1);
676 g_assert (surname == NULL)do { if (surname == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 676, ((const char*) (__func__)),
"surname == NULL"); } while (0)
;
677 g_assert (lastname == NULL)do { if (lastname == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 677, ((const char*) (__func__)),
"lastname == NULL"); } while (0)
;
678 g_assert (age == 19)do { if (age == 19) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 678, ((const char*) (__func__)), "age == 19"
); } while (0)
;
679 g_assert (ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == FALSE)do { if (ctk_tree_model_iter_next (((((CtkTreeModel*) (void *
) g_type_check_instance_cast ((GTypeInstance*) ((store)), ((ctk_tree_model_get_type
())))))), &iter) == (0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 679, ((const char*) (__func__)),
"ctk_tree_model_iter_next (CTK_TREE_MODEL (store), &iter) == FALSE"
); } while (0)
;
680
681 g_object_unref (builder);
682}
683
684static void
685test_tree_store (void)
686{
687 const gchar buffer[] =
688 "<interface domain=\"test\">"
689 " <object class=\"CtkTreeStore\" id=\"treestore1\">"
690 " <columns>"
691 " <column type=\"gchararray\"/>"
692 " <column type=\"guint\"/>"
693 " </columns>"
694 " </object>"
695 "</interface>";
696 CtkBuilder *builder;
697 GObject *store;
698
699 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
700 store = ctk_builder_get_object (builder, "treestore1");
701 g_assert (ctk_tree_model_get_n_columns (CTK_TREE_MODEL (store)) == 2)do { if (ctk_tree_model_get_n_columns (((((CtkTreeModel*) (void
*) g_type_check_instance_cast ((GTypeInstance*) ((store)), (
(ctk_tree_model_get_type ()))))))) == 2) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 701, ((const char*) (__func__)),
"ctk_tree_model_get_n_columns (CTK_TREE_MODEL (store)) == 2"
); } while (0)
;
702 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 0) == G_TYPE_STRING)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 0) == ((GType) ((16) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 702, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 0) == G_TYPE_STRING"
); } while (0)
;
703 g_assert (ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 1) == G_TYPE_UINT)do { if (ctk_tree_model_get_column_type (((((CtkTreeModel*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((store)
), ((ctk_tree_model_get_type ())))))), 1) == ((GType) ((7) <<
(2)))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 703, ((const char*) (__func__)), "ctk_tree_model_get_column_type (CTK_TREE_MODEL (store), 1) == G_TYPE_UINT"
); } while (0)
;
704
705 g_object_unref (builder);
706}
707
708static void
709test_types (void)
710{
711 const gchar buffer[] =
712 "<interface>"
713 " <object class=\"CtkAction\" id=\"action\"/>"
714 " <object class=\"CtkActionGroup\" id=\"actiongroup\"/>"
715 " <object class=\"CtkAlignment\" id=\"alignment\"/>"
716 " <object class=\"CtkArrow\" id=\"arrow\"/>"
717 " <object class=\"CtkButton\" id=\"button\"/>"
718 " <object class=\"CtkCheckButton\" id=\"checkbutton\"/>"
719 " <object class=\"CtkDialog\" id=\"dialog\"/>"
720 " <object class=\"CtkDrawingArea\" id=\"drawingarea\"/>"
721 " <object class=\"CtkEventBox\" id=\"eventbox\"/>"
722 " <object class=\"CtkEntry\" id=\"entry\"/>"
723 " <object class=\"CtkFontButton\" id=\"fontbutton\"/>"
724 " <object class=\"CtkHButtonBox\" id=\"hbuttonbox\"/>"
725 " <object class=\"CtkHBox\" id=\"hbox\"/>"
726 " <object class=\"CtkHPaned\" id=\"hpaned\"/>"
727 " <object class=\"CtkHScale\" id=\"hscale\"/>"
728 " <object class=\"CtkHScrollbar\" id=\"hscrollbar\"/>"
729 " <object class=\"CtkHSeparator\" id=\"hseparator\"/>"
730 " <object class=\"CtkImage\" id=\"image\"/>"
731 " <object class=\"CtkLabel\" id=\"label\"/>"
732 " <object class=\"CtkListStore\" id=\"liststore\"/>"
733 " <object class=\"CtkMenuBar\" id=\"menubar\"/>"
734 " <object class=\"CtkNotebook\" id=\"notebook\"/>"
735 " <object class=\"CtkProgressBar\" id=\"progressbar\"/>"
736 " <object class=\"CtkRadioButton\" id=\"radiobutton\"/>"
737 " <object class=\"CtkSizeGroup\" id=\"sizegroup\"/>"
738 " <object class=\"CtkScrolledWindow\" id=\"scrolledwindow\"/>"
739 " <object class=\"CtkSpinButton\" id=\"spinbutton\"/>"
740 " <object class=\"CtkStatusbar\" id=\"statusbar\"/>"
741 " <object class=\"CtkTextView\" id=\"textview\"/>"
742 " <object class=\"CtkToggleAction\" id=\"toggleaction\"/>"
743 " <object class=\"CtkToggleButton\" id=\"togglebutton\"/>"
744 " <object class=\"CtkToolbar\" id=\"toolbar\"/>"
745 " <object class=\"CtkTreeStore\" id=\"treestore\"/>"
746 " <object class=\"CtkTreeView\" id=\"treeview\"/>"
747 " <object class=\"CtkTable\" id=\"table\"/>"
748 " <object class=\"CtkVBox\" id=\"vbox\"/>"
749 " <object class=\"CtkVButtonBox\" id=\"vbuttonbox\"/>"
750 " <object class=\"CtkVScrollbar\" id=\"vscrollbar\"/>"
751 " <object class=\"CtkVSeparator\" id=\"vseparator\"/>"
752 " <object class=\"CtkViewport\" id=\"viewport\"/>"
753 " <object class=\"CtkVPaned\" id=\"vpaned\"/>"
754 " <object class=\"CtkVScale\" id=\"vscale\"/>"
755 " <object class=\"CtkWindow\" id=\"window\"/>"
756 " <object class=\"CtkUIManager\" id=\"uimanager\"/>"
757 "</interface>";
758 const gchar buffer2[] =
759 "<interface>"
760 " <object type-func=\"ctk_window_get_type\" id=\"window\"/>"
761 "</interface>";
762 const gchar buffer3[] =
763 "<interface>"
764 " <object class=\"XXXInvalidType\" type-func=\"ctk_window_get_type\" id=\"window\"/>"
765 "</interface>";
766 const gchar buffer4[] =
767 "<interface>"
768 " <object type-func=\"xxx_invalid_get_type_function\" id=\"window\"/>"
769 "</interface>";
770 CtkBuilder *builder;
771 GObject *window;
772 GError *error;
773
774 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
775 ctk_widget_destroy (CTK_WIDGET (ctk_builder_get_object (builder, "dialog"))((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((ctk_builder_get_object (builder, "dialog"))), ((ctk_widget_get_type
()))))))
);
776 ctk_widget_destroy (CTK_WIDGET (ctk_builder_get_object (builder, "window"))((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((ctk_builder_get_object (builder, "window"))), ((ctk_widget_get_type
()))))))
);
777 g_object_unref (builder);
778
779 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
780 window = ctk_builder_get_object (builder, "window");
781 g_assert (CTK_IS_WINDOW (window))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((window)); GType __t = ((ctk_window_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 781, ((
const char*) (__func__)), "CTK_IS_WINDOW (window)"); } while (
0)
;
782 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
783 g_object_unref (builder);
784
785 builder = builder_new_from_string (buffer3, -1, NULL((void*)0));
786 window = ctk_builder_get_object (builder, "window");
787 g_assert (CTK_IS_WINDOW (window))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((window)); GType __t = ((ctk_window_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 787, ((
const char*) (__func__)), "CTK_IS_WINDOW (window)"); } while (
0)
;
788 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
789 g_object_unref (builder);
790
791 error = NULL((void*)0);
792 builder = ctk_builder_new ();
793 ctk_builder_add_from_string (builder, buffer4, -1, &error);
794 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION
) g_assertion_message_error (((gchar*) 0), "builder.c", 794, (
(const char*) (__func__)), "error", error, (ctk_builder_error_quark
()), CTK_BUILDER_ERROR_INVALID_TYPE_FUNCTION); } while (0)
;
795 g_error_free (error);
796 g_object_unref (builder);
797}
798
799static void
800test_spin_button (void)
801{
802 CtkBuilder *builder;
803 const gchar buffer[] =
804 "<interface>"
805 "<object class=\"CtkAdjustment\" id=\"adjustment1\">"
806 "<property name=\"lower\">0</property>"
807 "<property name=\"upper\">10</property>"
808 "<property name=\"step-increment\">2</property>"
809 "<property name=\"page-increment\">3</property>"
810 "<property name=\"page-size\">0</property>"
811 "<property name=\"value\">1</property>"
812 "</object>"
813 "<object class=\"CtkSpinButton\" id=\"spinbutton1\">"
814 "<property name=\"visible\">True</property>"
815 "<property name=\"adjustment\">adjustment1</property>"
816 "</object>"
817 "</interface>";
818 GObject *obj;
819 CtkAdjustment *adjustment;
820 gdouble value;
821
822 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
823 obj = ctk_builder_get_object (builder, "spinbutton1");
824 g_assert (CTK_IS_SPIN_BUTTON (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_spin_button_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 824, ((
const char*) (__func__)), "CTK_IS_SPIN_BUTTON (obj)"); } while
(0)
;
825 adjustment = ctk_spin_button_get_adjustment (CTK_SPIN_BUTTON (obj)((((CtkSpinButton*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_spin_button_get_type ()))))))
);
826 g_assert (CTK_IS_ADJUSTMENT (adjustment))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((adjustment)); GType __t = ((ctk_adjustment_get_type ()))
; gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class
&& __inst->g_class->g_type == __t) __r = (!(0)
); else __r = g_type_check_instance_is_a (__inst, __t); __r; }
))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 826, ((const char*) (__func__)), "CTK_IS_ADJUSTMENT (adjustment)"
); } while (0)
;
827 g_object_get (adjustment, "value", &value, NULL((void*)0));
828 g_assert (value == 1)do { if (value == 1) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 828, ((const char*) (__func__)), "value == 1"
); } while (0)
;
829 g_object_get (adjustment, "lower", &value, NULL((void*)0));
830 g_assert (value == 0)do { if (value == 0) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 830, ((const char*) (__func__)), "value == 0"
); } while (0)
;
831 g_object_get (adjustment, "upper", &value, NULL((void*)0));
832 g_assert (value == 10)do { if (value == 10) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 832, ((const char*) (__func__)), "value == 10"
); } while (0)
;
833 g_object_get (adjustment, "step-increment", &value, NULL((void*)0));
834 g_assert (value == 2)do { if (value == 2) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 834, ((const char*) (__func__)), "value == 2"
); } while (0)
;
835 g_object_get (adjustment, "page-increment", &value, NULL((void*)0));
836 g_assert (value == 3)do { if (value == 3) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 836, ((const char*) (__func__)), "value == 3"
); } while (0)
;
837 g_object_get (adjustment, "page-size", &value, NULL((void*)0));
838 g_assert (value == 0)do { if (value == 0) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 838, ((const char*) (__func__)), "value == 0"
); } while (0)
;
839
840 g_object_unref (builder);
841}
842
843static void
844test_notebook (void)
845{
846 CtkBuilder *builder;
847 const gchar buffer[] =
848 "<interface>"
849 " <object class=\"CtkNotebook\" id=\"notebook1\">"
850 " <child>"
851 " <object class=\"CtkLabel\" id=\"label1\">"
852 " <property name=\"label\">label1</property>"
853 " </object>"
854 " </child>"
855 " <child type=\"tab\">"
856 " <object class=\"CtkLabel\" id=\"tablabel1\">"
857 " <property name=\"label\">tab_label1</property>"
858 " </object>"
859 " </child>"
860 " <child>"
861 " <object class=\"CtkLabel\" id=\"label2\">"
862 " <property name=\"label\">label2</property>"
863 " </object>"
864 " </child>"
865 " <child type=\"tab\">"
866 " <object class=\"CtkLabel\" id=\"tablabel2\">"
867 " <property name=\"label\">tab_label2</property>"
868 " </object>"
869 " </child>"
870 " </object>"
871 "</interface>";
872 GObject *notebook;
873 CtkWidget *label;
874
875 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
876 notebook = ctk_builder_get_object (builder, "notebook1");
877 g_assert (notebook != NULL)do { if (notebook != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 877, ((const char*) (__func__)),
"notebook != NULL"); } while (0)
;
878 g_assert (ctk_notebook_get_n_pages (CTK_NOTEBOOK (notebook)) == 2)do { if (ctk_notebook_get_n_pages (((((CtkNotebook*) (void *)
g_type_check_instance_cast ((GTypeInstance*) ((notebook)), (
(ctk_notebook_get_type ()))))))) == 2) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 878, ((const char*) (__func__)),
"ctk_notebook_get_n_pages (CTK_NOTEBOOK (notebook)) == 2"); }
while (0)
;
879
880 label = ctk_notebook_get_nth_page (CTK_NOTEBOOK (notebook)((((CtkNotebook*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((notebook)), ((ctk_notebook_get_type ()))))))
, 0);
881 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 881, ((
const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (0
)
;
882 g_assert (strcmp (ctk_label_get_label (CTK_LABEL (label)), "label1") == 0)do { if (strcmp (ctk_label_get_label (((((CtkLabel*) (void *)
g_type_check_instance_cast ((GTypeInstance*) ((label)), ((ctk_label_get_type
()))))))), "label1") == 0) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 882, ((const char*) (__func__)), "strcmp (ctk_label_get_label (CTK_LABEL (label)), \"label1\") == 0"
); } while (0)
;
883 label = ctk_notebook_get_tab_label (CTK_NOTEBOOK (notebook)((((CtkNotebook*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((notebook)), ((ctk_notebook_get_type ()))))))
, label);
884 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 884, ((
const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (0
)
;
885 g_assert (strcmp (ctk_label_get_label (CTK_LABEL (label)), "tab_label1") == 0)do { if (strcmp (ctk_label_get_label (((((CtkLabel*) (void *)
g_type_check_instance_cast ((GTypeInstance*) ((label)), ((ctk_label_get_type
()))))))), "tab_label1") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 885, ((const char*) (__func__)),
"strcmp (ctk_label_get_label (CTK_LABEL (label)), \"tab_label1\") == 0"
); } while (0)
;
886
887 label = ctk_notebook_get_nth_page (CTK_NOTEBOOK (notebook)((((CtkNotebook*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((notebook)), ((ctk_notebook_get_type ()))))))
, 1);
888 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 888, ((
const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (0
)
;
889 g_assert (strcmp (ctk_label_get_label (CTK_LABEL (label)), "label2") == 0)do { if (strcmp (ctk_label_get_label (((((CtkLabel*) (void *)
g_type_check_instance_cast ((GTypeInstance*) ((label)), ((ctk_label_get_type
()))))))), "label2") == 0) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 889, ((const char*) (__func__)), "strcmp (ctk_label_get_label (CTK_LABEL (label)), \"label2\") == 0"
); } while (0)
;
890 label = ctk_notebook_get_tab_label (CTK_NOTEBOOK (notebook)((((CtkNotebook*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((notebook)), ((ctk_notebook_get_type ()))))))
, label);
891 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 891, ((
const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (0
)
;
892 g_assert (strcmp (ctk_label_get_label (CTK_LABEL (label)), "tab_label2") == 0)do { if (strcmp (ctk_label_get_label (((((CtkLabel*) (void *)
g_type_check_instance_cast ((GTypeInstance*) ((label)), ((ctk_label_get_type
()))))))), "tab_label2") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 892, ((const char*) (__func__)),
"strcmp (ctk_label_get_label (CTK_LABEL (label)), \"tab_label2\") == 0"
); } while (0)
;
893
894 g_object_unref (builder);
895}
896
897static void
898test_construct_only_property (void)
899{
900 CtkBuilder *builder;
901 const gchar buffer[] =
902 "<interface>"
903 " <object class=\"CtkWindow\" id=\"window1\">"
904 " <property name=\"type\">CTK_WINDOW_POPUP</property>"
905 " </object>"
906 "</interface>";
907 const gchar buffer2[] =
908 "<interface>"
909 " <object class=\"CtkTextTagTable\" id=\"tagtable1\"/>"
910 " <object class=\"CtkTextBuffer\" id=\"textbuffer1\">"
911 " <property name=\"tag-table\">tagtable1</property>"
912 " </object>"
913 "</interface>";
914 GObject *widget, *tagtable, *textbuffer;
915 CtkWindowType type;
916
917 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
918 widget = ctk_builder_get_object (builder, "window1");
919 g_object_get (widget, "type", &type, NULL((void*)0));
920 g_assert (type == CTK_WINDOW_POPUP)do { if (type == CTK_WINDOW_POPUP) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 920, ((const char*) (__func__)),
"type == CTK_WINDOW_POPUP"); } while (0)
;
921
922 ctk_widget_destroy (CTK_WIDGET (widget)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((widget)), ((ctk_widget_get_type ()))))))
);
923 g_object_unref (builder);
924
925 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
926 textbuffer = ctk_builder_get_object (builder, "textbuffer1");
927 g_assert (textbuffer != NULL)do { if (textbuffer != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 927, ((const char*) (__func__)),
"textbuffer != NULL"); } while (0)
;
928 g_object_get (textbuffer, "tag-table", &tagtable, NULL((void*)0));
929 g_assert (tagtable == ctk_builder_get_object (builder, "tagtable1"))do { if (tagtable == ctk_builder_get_object (builder, "tagtable1"
)) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 929, ((const char*) (__func__)), "tagtable == ctk_builder_get_object (builder, \"tagtable1\")"
); } while (0)
;
930 g_object_unref (tagtable);
931 g_object_unref (builder);
932}
933
934static void
935test_object_properties (void)
936{
937 CtkBuilder *builder;
938 const gchar buffer[] =
939 "<interface>"
940 " <object class=\"CtkWindow\" id=\"window1\">"
941 " <child>"
942 " <object class=\"CtkVBox\" id=\"vbox\">"
943 " <property name=\"border-width\">10</property>"
944 " <child>"
945 " <object class=\"CtkLabel\" id=\"label1\">"
946 " <property name=\"mnemonic-widget\">spinbutton1</property>"
947 " </object>"
948 " </child>"
949 " <child>"
950 " <object class=\"CtkSpinButton\" id=\"spinbutton1\"/>"
951 " </child>"
952 " </object>"
953 " </child>"
954 " </object>"
955 "</interface>";
956 const gchar buffer2[] =
957 "<interface>"
958 " <object class=\"CtkWindow\" id=\"window2\"/>"
959 "</interface>";
960 GObject *label, *spinbutton, *window;
961
962 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
963 label = ctk_builder_get_object (builder, "label1");
964 g_assert (label != NULL)do { if (label != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 964, ((const char*) (__func__)),
"label != NULL"); } while (0)
;
965 spinbutton = ctk_builder_get_object (builder, "spinbutton1");
966 g_assert (spinbutton != NULL)do { if (spinbutton != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 966, ((const char*) (__func__)),
"spinbutton != NULL"); } while (0)
;
967 g_assert (spinbutton == (GObject*)ctk_label_get_mnemonic_widget (CTK_LABEL (label)))do { if (spinbutton == (GObject*)ctk_label_get_mnemonic_widget
(((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((label)), ((ctk_label_get_type ())))))))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 967, ((const char*) (__func__)),
"spinbutton == (GObject*)ctk_label_get_mnemonic_widget (CTK_LABEL (label))"
); } while (0)
;
968
969 ctk_builder_add_from_string (builder, buffer2, -1, NULL((void*)0));
970 window = ctk_builder_get_object (builder, "window2");
971 g_assert (window != NULL)do { if (window != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 971, ((const char*) (__func__)),
"window != NULL"); } while (0)
;
972 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
973
974 g_object_unref (builder);
975}
976
977static void
978test_children (void)
979{
980 CtkBuilder * builder;
981 CtkWidget *content_area, *dialog_action_area;
982 GList *children;
983 const gchar buffer1[] =
984 "<interface>"
985 " <object class=\"CtkWindow\" id=\"window1\">"
986 " <child>"
987 " <object class=\"CtkButton\" id=\"button1\">"
988 " <property name=\"label\">Hello</property>"
989 " </object>"
990 " </child>"
991 " </object>"
992 "</interface>";
993 const gchar buffer2[] =
994 "<interface>"
995 " <object class=\"CtkDialog\" id=\"dialog1\">"
996 " <property name=\"use_header_bar\">1</property>"
997 " <child internal-child=\"vbox\">"
998 " <object class=\"CtkVBox\" id=\"dialog1-vbox\">"
999 " <property name=\"border-width\">10</property>"
1000 " <child internal-child=\"action_area\">"
1001 " <object class=\"CtkHButtonBox\" id=\"dialog1-action_area\">"
1002 " <property name=\"border-width\">20</property>"
1003 " </object>"
1004 " </child>"
1005 " </object>"
1006 " </child>"
1007 " </object>"
1008 "</interface>";
1009
1010 GObject *window, *button;
1011 GObject *dialog, *vbox, *action_area;
1012
1013 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
1014 window = ctk_builder_get_object (builder, "window1");
1015 g_assert (window != NULL)do { if (window != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1015, ((const char*) (__func__))
, "window != NULL"); } while (0)
;
1016 g_assert (CTK_IS_WINDOW (window))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((window)); GType __t = ((ctk_window_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1016, (
(const char*) (__func__)), "CTK_IS_WINDOW (window)"); } while
(0)
;
1017
1018 button = ctk_builder_get_object (builder, "button1");
1019 g_assert (button != NULL)do { if (button != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1019, ((const char*) (__func__))
, "button != NULL"); } while (0)
;
1020 g_assert (CTK_IS_BUTTON (button))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((button)); GType __t = ((ctk_button_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1020, (
(const char*) (__func__)), "CTK_IS_BUTTON (button)"); } while
(0)
;
1021 g_assert (ctk_widget_get_parent (CTK_WIDGET(button)) != NULL)do { if (ctk_widget_get_parent (((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((button)), ((ctk_widget_get_type ()))))))
) != ((void*)0)) ; else g_assertion_message_expr (((gchar*) 0
), "builder.c", 1021, ((const char*) (__func__)), "ctk_widget_get_parent (CTK_WIDGET(button)) != NULL"
); } while (0)
;
1022 g_assert (strcmp (ctk_buildable_get_name (CTK_BUILDABLE (ctk_widget_get_parent (CTK_WIDGET (button)))), "window1") == 0)do { if (strcmp (ctk_buildable_get_name (((((CtkBuildable*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((ctk_widget_get_parent
(((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((button)), ((ctk_widget_get_type ()))))))))), ((ctk_buildable_get_type
()))))))), "window1") == 0) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 1022, ((const char*) (__func__)), "strcmp (ctk_buildable_get_name (CTK_BUILDABLE (ctk_widget_get_parent (CTK_WIDGET (button)))), \"window1\") == 0"
); } while (0)
;
1023
1024 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
1025 g_object_unref (builder);
1026
1027 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
1028 dialog = ctk_builder_get_object (builder, "dialog1");
1029 g_assert (dialog != NULL)do { if (dialog != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1029, ((const char*) (__func__))
, "dialog != NULL"); } while (0)
;
1030 g_assert (CTK_IS_DIALOG (dialog))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((dialog)); GType __t = ((ctk_dialog_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1030, (
(const char*) (__func__)), "CTK_IS_DIALOG (dialog)"); } while
(0)
;
1031 children = ctk_container_get_children (CTK_CONTAINER (dialog)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((dialog)), ((ctk_container_get_type ()))))))
);
1032 g_assert_cmpint (g_list_length (children), ==, 2)do { gint64 __n1 = (g_list_length (children)), __n2 = (2); if
(__n1 == __n2) ; else g_assertion_message_cmpint (((gchar*) 0
), "builder.c", 1032, ((const char*) (__func__)), "g_list_length (children)"
" " "==" " " "2", (guint64)__n1, "==", (guint64)__n2, 'i'); }
while (0)
;
1033 g_list_free (children);
1034
1035 vbox = ctk_builder_get_object (builder, "dialog1-vbox");
1036 content_area = ctk_dialog_get_content_area (CTK_DIALOG (dialog)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((dialog)), ((ctk_dialog_get_type ()))))))
);
1037 g_assert (vbox != NULL)do { if (vbox != ((void*)0)) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 1037, ((const char*) (__func__)), "vbox != NULL"
); } while (0)
;
1038 g_assert (CTK_IS_BOX (vbox))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((vbox)); GType __t = ((ctk_box_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1038, (
(const char*) (__func__)), "CTK_IS_BOX (vbox)"); } while (0)
;
1039 g_assert (ctk_orientable_get_orientation (CTK_ORIENTABLE (vbox)) == CTK_ORIENTATION_VERTICAL)do { if (ctk_orientable_get_orientation (((((CtkOrientable*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((vbox))
, ((ctk_orientable_get_type ()))))))) == CTK_ORIENTATION_VERTICAL
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1039, ((const char*) (__func__)), "ctk_orientable_get_orientation (CTK_ORIENTABLE (vbox)) == CTK_ORIENTATION_VERTICAL"
); } while (0)
;
1040 g_assert (strcmp (ctk_buildable_get_name (CTK_BUILDABLE (ctk_widget_get_parent (CTK_WIDGET (vbox)))), "dialog1") == 0)do { if (strcmp (ctk_buildable_get_name (((((CtkBuildable*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((ctk_widget_get_parent
(((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((vbox)), ((ctk_widget_get_type ()))))))))), ((ctk_buildable_get_type
()))))))), "dialog1") == 0) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 1040, ((const char*) (__func__)), "strcmp (ctk_buildable_get_name (CTK_BUILDABLE (ctk_widget_get_parent (CTK_WIDGET (vbox)))), \"dialog1\") == 0"
); } while (0)
;
1041 g_assert (ctk_container_get_border_width (CTK_CONTAINER (vbox)) == 10)do { if (ctk_container_get_border_width (((((CtkContainer*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((vbox))
, ((ctk_container_get_type ()))))))) == 10) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1041, ((const char*) (__func__))
, "ctk_container_get_border_width (CTK_CONTAINER (vbox)) == 10"
); } while (0)
;
1042 g_assert (strcmp (ctk_buildable_get_name (CTK_BUILDABLE (content_area)), "dialog1-vbox") == 0)do { if (strcmp (ctk_buildable_get_name (((((CtkBuildable*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((content_area
)), ((ctk_buildable_get_type ()))))))), "dialog1-vbox") == 0)
; else g_assertion_message_expr (((gchar*) 0), "builder.c", 1042
, ((const char*) (__func__)), "strcmp (ctk_buildable_get_name (CTK_BUILDABLE (content_area)), \"dialog1-vbox\") == 0"
); } while (0)
;
1043
1044 action_area = ctk_builder_get_object (builder, "dialog1-action_area");
1045 dialog_action_area = ctk_dialog_get_action_area (CTK_DIALOG (dialog)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((dialog)), ((ctk_dialog_get_type ()))))))
);
1046
1047 g_assert (action_area != NULL)do { if (action_area != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1047, ((const char*) (__func__))
, "action_area != NULL"); } while (0)
;
1048 g_assert (CTK_IS_BUTTON_BOX (action_area))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((action_area)); GType __t = ((ctk_button_box_get_type ())
); gboolean __r; if (!__inst) __r = (0); else if (__inst->
g_class && __inst->g_class->g_type == __t) __r =
(!(0)); else __r = g_type_check_instance_is_a (__inst, __t);
__r; }))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1048, ((const char*) (__func__)), "CTK_IS_BUTTON_BOX (action_area)"
); } while (0)
;
1049 g_assert (ctk_orientable_get_orientation (CTK_ORIENTABLE (action_area)) == CTK_ORIENTATION_HORIZONTAL)do { if (ctk_orientable_get_orientation (((((CtkOrientable*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((action_area
)), ((ctk_orientable_get_type ()))))))) == CTK_ORIENTATION_HORIZONTAL
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1049, ((const char*) (__func__)), "ctk_orientable_get_orientation (CTK_ORIENTABLE (action_area)) == CTK_ORIENTATION_HORIZONTAL"
); } while (0)
;
1050 g_assert (ctk_widget_get_parent (CTK_WIDGET (action_area)) != NULL)do { if (ctk_widget_get_parent (((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((action_area)), ((ctk_widget_get_type ())
)))))) != ((void*)0)) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 1050, ((const char*) (__func__)), "ctk_widget_get_parent (CTK_WIDGET (action_area)) != NULL"
); } while (0)
;
1051 g_assert (ctk_container_get_border_width (CTK_CONTAINER (action_area)) == 20)do { if (ctk_container_get_border_width (((((CtkContainer*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((action_area
)), ((ctk_container_get_type ()))))))) == 20) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1051, ((const char*) (__func__))
, "ctk_container_get_border_width (CTK_CONTAINER (action_area)) == 20"
); } while (0)
;
1052 g_assert (dialog_action_area != NULL)do { if (dialog_action_area != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1052, ((const char*) (__func__))
, "dialog_action_area != NULL"); } while (0)
;
1053 g_assert (ctk_buildable_get_name (CTK_BUILDABLE (action_area)) != NULL)do { if (ctk_buildable_get_name (((((CtkBuildable*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((action_area)), ((ctk_buildable_get_type (
)))))))) != ((void*)0)) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 1053, ((const char*) (__func__)), "ctk_buildable_get_name (CTK_BUILDABLE (action_area)) != NULL"
); } while (0)
;
1054 g_assert (strcmp (ctk_buildable_get_name (CTK_BUILDABLE (dialog_action_area)), "dialog1-action_area") == 0)do { if (strcmp (ctk_buildable_get_name (((((CtkBuildable*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((dialog_action_area
)), ((ctk_buildable_get_type ()))))))), "dialog1-action_area"
) == 0) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1054, ((const char*) (__func__)), "strcmp (ctk_buildable_get_name (CTK_BUILDABLE (dialog_action_area)), \"dialog1-action_area\") == 0"
); } while (0)
;
1055 ctk_widget_destroy (CTK_WIDGET (dialog)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((dialog)), ((ctk_widget_get_type ()))))))
);
1056 g_object_unref (builder);
1057}
1058
1059static void
1060test_child_properties (void)
1061{
1062 CtkBuilder * builder;
1063 const gchar buffer1[] =
1064 "<interface>"
1065 " <object class=\"CtkBox\" id=\"vbox1\">"
1066 " <child>"
1067 " <object class=\"CtkLabel\" id=\"label1\"/>"
1068 " <packing>"
1069 " <property name=\"pack-type\">start</property>"
1070 " </packing>"
1071 " </child>"
1072 " <child>"
1073 " <object class=\"CtkLabel\" id=\"label2\"/>"
1074 " <packing>"
1075 " <property name=\"pack-type\">end</property>"
1076 " </packing>"
1077 " </child>"
1078 " </object>"
1079 "</interface>";
1080
1081 GObject *label, *vbox;
1082 CtkPackType pack_type;
1083
1084 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
1085 vbox = ctk_builder_get_object (builder, "vbox1");
1086 g_assert (CTK_IS_BOX (vbox))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((vbox)); GType __t = ((ctk_box_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1086, (
(const char*) (__func__)), "CTK_IS_BOX (vbox)"); } while (0)
;
1087
1088 label = ctk_builder_get_object (builder, "label1");
1089 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1089, (
(const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (
0)
;
1090 ctk_container_child_get (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((vbox)), ((ctk_container_get_type ()))))))
,
1091 CTK_WIDGET (label)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((label)), ((ctk_widget_get_type ()))))))
,
1092 "pack-type",
1093 &pack_type,
1094 NULL((void*)0));
1095 g_assert (pack_type == CTK_PACK_START)do { if (pack_type == CTK_PACK_START) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1095, ((const char*) (__func__))
, "pack_type == CTK_PACK_START"); } while (0)
;
1096
1097 label = ctk_builder_get_object (builder, "label2");
1098 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1098, (
(const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (
0)
;
1099 ctk_container_child_get (CTK_CONTAINER (vbox)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((vbox)), ((ctk_container_get_type ()))))))
,
1100 CTK_WIDGET (label)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((label)), ((ctk_widget_get_type ()))))))
,
1101 "pack-type",
1102 &pack_type,
1103 NULL((void*)0));
1104 g_assert (pack_type == CTK_PACK_END)do { if (pack_type == CTK_PACK_END) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1104, ((const char*) (__func__))
, "pack_type == CTK_PACK_END"); } while (0)
;
1105
1106 g_object_unref (builder);
1107}
1108
1109static void
1110test_treeview_column (void)
1111{
1112 CtkBuilder *builder;
1113 const gchar buffer[] =
1114 "<interface>"
1115 "<object class=\"CtkListStore\" id=\"liststore1\">"
1116 " <columns>"
1117 " <column type=\"gchararray\"/>"
1118 " <column type=\"guint\"/>"
1119 " </columns>"
1120 " <data>"
1121 " <row>"
1122 " <col id=\"0\">John</col>"
1123 " <col id=\"1\">25</col>"
1124 " </row>"
1125 " </data>"
1126 "</object>"
1127 "<object class=\"CtkWindow\" id=\"window1\">"
1128 " <child>"
1129 " <object class=\"CtkTreeView\" id=\"treeview1\">"
1130 " <property name=\"visible\">True</property>"
1131 " <property name=\"model\">liststore1</property>"
1132 " <child>"
1133 " <object class=\"CtkTreeViewColumn\" id=\"column1\">"
1134 " <property name=\"title\">Test</property>"
1135 " <child>"
1136 " <object class=\"CtkCellRendererText\" id=\"renderer1\"/>"
1137 " <attributes>"
1138 " <attribute name=\"text\">1</attribute>"
1139 " </attributes>"
1140 " </child>"
1141 " </object>"
1142 " </child>"
1143 " <child>"
1144 " <object class=\"CtkTreeViewColumn\" id=\"column2\">"
1145 " <property name=\"title\">Number</property>"
1146 " <child>"
1147 " <object class=\"CtkCellRendererText\" id=\"renderer2\"/>"
1148 " <attributes>"
1149 " <attribute name=\"text\">0</attribute>"
1150 " </attributes>"
1151 " </child>"
1152 " </object>"
1153 " </child>"
1154 " </object>"
1155 " </child>"
1156 "</object>"
1157 "</interface>";
1158 GObject *window, *treeview;
1159 CtkTreeViewColumn *column;
1160 GList *renderers;
1161 GObject *renderer;
1162
1163 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
1164 treeview = ctk_builder_get_object (builder, "treeview1");
1165 g_assert (treeview)do { if (treeview) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 1165, ((const char*) (__func__)), "treeview"
); } while (0)
;
1166 g_assert (CTK_IS_TREE_VIEW (treeview))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((treeview)); GType __t = ((ctk_tree_view_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1166, (
(const char*) (__func__)), "CTK_IS_TREE_VIEW (treeview)"); } while
(0)
;
1167 column = ctk_tree_view_get_column (CTK_TREE_VIEW (treeview)((((CtkTreeView*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((treeview)), ((ctk_tree_view_get_type ()))))))
, 0);
1168 g_assert (CTK_IS_TREE_VIEW_COLUMN (column))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((column)); GType __t = ((ctk_tree_view_column_get_type ()
)); gboolean __r; if (!__inst) __r = (0); else if (__inst->
g_class && __inst->g_class->g_type == __t) __r =
(!(0)); else __r = g_type_check_instance_is_a (__inst, __t);
__r; }))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1168, ((const char*) (__func__)), "CTK_IS_TREE_VIEW_COLUMN (column)"
); } while (0)
;
1169 g_assert (strcmp (ctk_tree_view_column_get_title (column), "Test") == 0)do { if (strcmp (ctk_tree_view_column_get_title (column), "Test"
) == 0) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1169, ((const char*) (__func__)), "strcmp (ctk_tree_view_column_get_title (column), \"Test\") == 0"
); } while (0)
;
1170
1171 renderers = ctk_cell_layout_get_cells (CTK_CELL_LAYOUT (column)((((CtkCellLayout*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((column)), ((ctk_cell_layout_get_type ()))))))
);
1172 g_assert (g_list_length (renderers) == 1)do { if (g_list_length (renderers) == 1) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1172, ((const char*) (__func__))
, "g_list_length (renderers) == 1"); } while (0)
;
1173 renderer = g_list_nth_data (renderers, 0);
1174 g_assert (renderer)do { if (renderer) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 1174, ((const char*) (__func__)), "renderer"
); } while (0)
;
1175 g_assert (CTK_IS_CELL_RENDERER_TEXT (renderer))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((renderer)); GType __t = ((ctk_cell_renderer_text_get_type
())); gboolean __r; if (!__inst) __r = (0); else if (__inst->
g_class && __inst->g_class->g_type == __t) __r =
(!(0)); else __r = g_type_check_instance_is_a (__inst, __t);
__r; }))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1175, ((const char*) (__func__)), "CTK_IS_CELL_RENDERER_TEXT (renderer)"
); } while (0)
;
1176 g_list_free (renderers);
1177
1178 window = ctk_builder_get_object (builder, "window1");
1179 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
1180
1181 g_object_unref (builder);
1182}
1183
1184static void
1185test_icon_view (void)
1186{
1187 CtkBuilder *builder;
1188 const gchar buffer[] =
1189 "<interface>"
1190 " <object class=\"CtkListStore\" id=\"liststore1\">"
1191 " <columns>"
1192 " <column type=\"gchararray\"/>"
1193 " <column type=\"GdkPixbuf\"/>"
1194 " </columns>"
1195 " <data>"
1196 " <row>"
1197 " <col id=\"0\">test</col>"
1198 " </row>"
1199 " </data>"
1200 " </object>"
1201 " <object class=\"CtkWindow\" id=\"window1\">"
1202 " <child>"
1203 " <object class=\"CtkIconView\" id=\"iconview1\">"
1204 " <property name=\"model\">liststore1</property>"
1205 " <property name=\"text-column\">0</property>"
1206 " <property name=\"pixbuf-column\">1</property>"
1207 " <property name=\"visible\">True</property>"
1208 " <child>"
1209 " <object class=\"CtkCellRendererText\" id=\"renderer1\"/>"
1210 " <attributes>"
1211 " <attribute name=\"text\">0</attribute>"
1212 " </attributes>"
1213 " </child>"
1214 " </object>"
1215 " </child>"
1216 " </object>"
1217 "</interface>";
1218 GObject *window, *iconview;
1219
1220 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
1221 iconview = ctk_builder_get_object (builder, "iconview1");
1222 g_assert (iconview)do { if (iconview) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 1222, ((const char*) (__func__)), "iconview"
); } while (0)
;
1223 g_assert (CTK_IS_ICON_VIEW (iconview))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((iconview)); GType __t = ((ctk_icon_view_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1223, (
(const char*) (__func__)), "CTK_IS_ICON_VIEW (iconview)"); } while
(0)
;
1224
1225 window = ctk_builder_get_object (builder, "window1");
1226 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
1227 g_object_unref (builder);
1228}
1229
1230static void
1231test_combo_box (void)
1232{
1233 CtkBuilder *builder;
1234 const gchar buffer[] =
1235 "<interface>"
1236 " <object class=\"CtkListStore\" id=\"liststore1\">"
1237 " <columns>"
1238 " <column type=\"guint\"/>"
1239 " <column type=\"gchararray\"/>"
1240 " </columns>"
1241 " <data>"
1242 " <row>"
1243 " <col id=\"0\">1</col>"
1244 " <col id=\"1\">Foo</col>"
1245 " </row>"
1246 " <row>"
1247 " <col id=\"0\">2</col>"
1248 " <col id=\"1\">Bar</col>"
1249 " </row>"
1250 " </data>"
1251 " </object>"
1252 " <object class=\"CtkWindow\" id=\"window1\">"
1253 " <child>"
1254 " <object class=\"CtkComboBox\" id=\"combobox1\">"
1255 " <property name=\"model\">liststore1</property>"
1256 " <property name=\"visible\">True</property>"
1257 " <child>"
1258 " <object class=\"CtkCellRendererText\" id=\"renderer1\"/>"
1259 " <attributes>"
1260 " <attribute name=\"text\">0</attribute>"
1261 " </attributes>"
1262 " </child>"
1263 " <child>"
1264 " <object class=\"CtkCellRendererText\" id=\"renderer2\"/>"
1265 " <attributes>"
1266 " <attribute name=\"text\">1</attribute>"
1267 " </attributes>"
1268 " </child>"
1269 " </object>"
1270 " </child>"
1271 " </object>"
1272 "</interface>";
1273 GObject *window, *combobox;
1274
1275 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
1276 combobox = ctk_builder_get_object (builder, "combobox1");
1277 g_assert (combobox)do { if (combobox) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 1277, ((const char*) (__func__)), "combobox"
); } while (0)
;
1278
1279 window = ctk_builder_get_object (builder, "window1");
1280 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
1281
1282 g_object_unref (builder);
1283}
1284
1285#if 0
1286static void
1287test_combo_box_entry (void)
1288{
1289 CtkBuilder *builder;
1290 const gchar buffer[] =
1291 "<interface>"
1292 " <object class=\"CtkListStore\" id=\"liststore1\">"
1293 " <columns>"
1294 " <column type=\"guint\"/>"
1295 " <column type=\"gchararray\"/>"
1296 " </columns>"
1297 " <data>"
1298 " <row>"
1299 " <col id=\"0\">1</col>"
1300 " <col id=\"1\">Foo</col>"
1301 " </row>"
1302 " <row>"
1303 " <col id=\"0\">2</col>"
1304 " <col id=\"1\">Bar</col>"
1305 " </row>"
1306 " </data>"
1307 " </object>"
1308 " <object class=\"CtkWindow\" id=\"window1\">"
1309 " <child>"
1310 " <object class=\"CtkComboBox\" id=\"comboboxentry1\">"
1311 " <property name=\"model\">liststore1</property>"
1312 " <property name=\"has-entry\">True</property>"
1313 " <property name=\"visible\">True</property>"
1314 " <child>"
1315 " <object class=\"CtkCellRendererText\" id=\"renderer1\"/>"
1316 " <attributes>"
1317 " <attribute name=\"text\">0</attribute>"
1318 " </attributes>"
1319 " </child>"
1320 " <child>"
1321 " <object class=\"CtkCellRendererText\" id=\"renderer2\"/>"
1322 " <attributes>"
1323 " <attribute name=\"text\">1</attribute>"
1324 " </attributes>"
1325 " </child>"
1326 " </object>"
1327 " </child>"
1328 " </object>"
1329 "</interface>";
1330 GObject *window, *combobox, *renderer;
1331 gchar *text;
1332
1333 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
1334 combobox = ctk_builder_get_object (builder, "comboboxentry1");
1335 g_assert (combobox)do { if (combobox) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 1335, ((const char*) (__func__)), "combobox"
); } while (0)
;
1336
1337 renderer = ctk_builder_get_object (builder, "renderer2");
1338 g_assert (renderer)do { if (renderer) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 1338, ((const char*) (__func__)), "renderer"
); } while (0)
;
1339 g_object_get (renderer, "text", &text, NULL((void*)0));
1340 g_assert (text)do { if (text) ; else g_assertion_message_expr (((gchar*) 0),
"builder.c", 1340, ((const char*) (__func__)), "text"); } while
(0)
;
1341 g_assert (strcmp (text, "Bar") == 0)do { if (strcmp (text, "Bar") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1341, ((const char*) (__func__))
, "strcmp (text, \"Bar\") == 0"); } while (0)
;
1342 g_free (text);
1343
1344 renderer = ctk_builder_get_object (builder, "renderer1");
1345 g_assert (renderer)do { if (renderer) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 1345, ((const char*) (__func__)), "renderer"
); } while (0)
;
1346 g_object_get (renderer, "text", &text, NULL((void*)0));
1347 g_assert (text)do { if (text) ; else g_assertion_message_expr (((gchar*) 0),
"builder.c", 1347, ((const char*) (__func__)), "text"); } while
(0)
;
1348 g_assert (strcmp (text, "2") == 0)do { if (strcmp (text, "2") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1348, ((const char*) (__func__))
, "strcmp (text, \"2\") == 0"); } while (0)
;
1349 g_free (text);
1350
1351 window = ctk_builder_get_object (builder, "window1");
1352 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
1353
1354 g_object_unref (builder);
1355}
1356#endif
1357
1358static void
1359test_cell_view (void)
1360{
1361 CtkBuilder *builder;
1362 const gchar *buffer =
1363 "<interface>"
1364 " <object class=\"CtkListStore\" id=\"liststore1\">"
1365 " <columns>"
1366 " <column type=\"gchararray\"/>"
1367 " </columns>"
1368 " <data>"
1369 " <row>"
1370 " <col id=\"0\">test</col>"
1371 " </row>"
1372 " </data>"
1373 " </object>"
1374 " <object class=\"CtkWindow\" id=\"window1\">"
1375 " <child>"
1376 " <object class=\"CtkCellView\" id=\"cellview1\">"
1377 " <property name=\"visible\">True</property>"
1378 " <property name=\"model\">liststore1</property>"
1379 " <accelerator key=\"f\" modifiers=\"CDK_CONTROL_MASK\" signal=\"grab_focus\"/>"
1380 " <child>"
1381 " <object class=\"CtkCellRendererText\" id=\"renderer1\"/>"
1382 " <attributes>"
1383 " <attribute name=\"text\">0</attribute>"
1384 " </attributes>"
1385 " </child>"
1386 " </object>"
1387 " </child>"
1388 " </object>"
1389 "</interface>";
1390 GObject *cellview;
1391 GObject *model, *window;
1392 CtkTreePath *path;
1393 GList *renderers;
1394
1395 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
1396 cellview = ctk_builder_get_object (builder, "cellview1");
1397 g_assert (builder)do { if (builder) ; else g_assertion_message_expr (((gchar*) 0
), "builder.c", 1397, ((const char*) (__func__)), "builder");
} while (0)
;
1398 g_assert (cellview)do { if (cellview) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 1398, ((const char*) (__func__)), "cellview"
); } while (0)
;
1399 g_assert (CTK_IS_CELL_VIEW (cellview))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((cellview)); GType __t = ((ctk_cell_view_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1399, (
(const char*) (__func__)), "CTK_IS_CELL_VIEW (cellview)"); } while
(0)
;
1400 g_object_get (cellview, "model", &model, NULL((void*)0));
1401 g_assert (model)do { if (model) ; else g_assertion_message_expr (((gchar*) 0)
, "builder.c", 1401, ((const char*) (__func__)), "model"); } while
(0)
;
1402 g_assert (CTK_IS_TREE_MODEL (model))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((model)); GType __t = ((ctk_tree_model_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1402, (
(const char*) (__func__)), "CTK_IS_TREE_MODEL (model)"); } while
(0)
;
1403 g_object_unref (model);
1404 path = ctk_tree_path_new_first ();
1405 ctk_cell_view_set_displayed_row (CTK_CELL_VIEW (cellview)((((CtkCellView*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((cellview)), ((ctk_cell_view_get_type ()))))))
, path);
1406
1407 renderers = ctk_cell_layout_get_cells (CTK_CELL_LAYOUT (cellview)((((CtkCellLayout*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((cellview)), ((ctk_cell_layout_get_type ()))))))
);
1408 g_assert (renderers)do { if (renderers) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1408, ((const char*) (__func__)), "renderers"
); } while (0)
;
1409 g_assert (g_list_length (renderers) == 1)do { if (g_list_length (renderers) == 1) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1409, ((const char*) (__func__))
, "g_list_length (renderers) == 1"); } while (0)
;
1410
1411 window = ctk_builder_get_object (builder, "window1");
1412 g_assert (window)do { if (window) ; else g_assertion_message_expr (((gchar*) 0
), "builder.c", 1412, ((const char*) (__func__)), "window"); }
while (0)
;
1413 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
1414
1415 g_object_unref (builder);
1416}
1417
1418static void
1419test_dialog (void)
1420{
1421 CtkBuilder * builder;
1422 const gchar buffer1[] =
1423 "<interface>"
1424 " <object class=\"CtkDialog\" id=\"dialog1\">"
1425 " <child internal-child=\"vbox\">"
1426 " <object class=\"CtkVBox\" id=\"dialog1-vbox\">"
1427 " <child internal-child=\"action_area\">"
1428 " <object class=\"CtkHButtonBox\" id=\"dialog1-action_area\">"
1429 " <child>"
1430 " <object class=\"CtkButton\" id=\"button_cancel\"/>"
1431 " </child>"
1432 " <child>"
1433 " <object class=\"CtkButton\" id=\"button_ok\"/>"
1434 " </child>"
1435 " </object>"
1436 " </child>"
1437 " </object>"
1438 " </child>"
1439 " <action-widgets>"
1440 " <action-widget response=\"3\">button_ok</action-widget>"
1441 " <action-widget response=\"-5\">button_cancel</action-widget>"
1442 " </action-widgets>"
1443 " </object>"
1444 "</interface>";
1445
1446 GObject *dialog1;
1447 GObject *button_ok;
1448 GObject *button_cancel;
1449
1450 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
1451 dialog1 = ctk_builder_get_object (builder, "dialog1");
1452 button_ok = ctk_builder_get_object (builder, "button_ok");
1453 g_assert (ctk_dialog_get_response_for_widget (CTK_DIALOG (dialog1), CTK_WIDGET (button_ok)) == 3)do { if (ctk_dialog_get_response_for_widget (((((CtkDialog*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((dialog1
)), ((ctk_dialog_get_type ())))))), ((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((button_ok)), ((ctk_widget_get_type ())))
)))) == 3) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1453, ((const char*) (__func__)), "ctk_dialog_get_response_for_widget (CTK_DIALOG (dialog1), CTK_WIDGET (button_ok)) == 3"
); } while (0)
;
1454 button_cancel = ctk_builder_get_object (builder, "button_cancel");
1455 g_assert (ctk_dialog_get_response_for_widget (CTK_DIALOG (dialog1), CTK_WIDGET (button_cancel)) == -5)do { if (ctk_dialog_get_response_for_widget (((((CtkDialog*) (
void *) g_type_check_instance_cast ((GTypeInstance*) ((dialog1
)), ((ctk_dialog_get_type ())))))), ((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((button_cancel)), ((ctk_widget_get_type (
)))))))) == -5) ; else g_assertion_message_expr (((gchar*) 0)
, "builder.c", 1455, ((const char*) (__func__)), "ctk_dialog_get_response_for_widget (CTK_DIALOG (dialog1), CTK_WIDGET (button_cancel)) == -5"
); } while (0)
;
1456
1457 ctk_widget_destroy (CTK_WIDGET (dialog1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((dialog1)), ((ctk_widget_get_type ()))))))
);
1458 g_object_unref (builder);
1459}
1460
1461static void
1462test_message_dialog (void)
1463{
1464 CtkBuilder * builder;
1465 const gchar buffer1[] =
1466 "<interface>"
1467 " <object class=\"CtkMessageDialog\" id=\"dialog1\">"
1468 " <child internal-child=\"message_area\">"
1469 " <object class=\"CtkVBox\" id=\"dialog-message-area\">"
1470 " <child>"
1471 " <object class=\"CtkExpander\" id=\"expander\"/>"
1472 " </child>"
1473 " </object>"
1474 " </child>"
1475 " </object>"
1476 "</interface>";
1477
1478 GObject *dialog1;
1479 GObject *expander;
1480
1481 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
1482 dialog1 = ctk_builder_get_object (builder, "dialog1");
1483 expander = ctk_builder_get_object (builder, "expander");
1484 g_assert (CTK_IS_EXPANDER (expander))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((expander)); GType __t = ((ctk_expander_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1484, (
(const char*) (__func__)), "CTK_IS_EXPANDER (expander)"); } while
(0)
;
1485 g_assert (ctk_widget_get_parent (CTK_WIDGET (expander)) == ctk_message_dialog_get_message_area (CTK_MESSAGE_DIALOG (dialog1)))do { if (ctk_widget_get_parent (((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((expander)), ((ctk_widget_get_type ()))))
))) == ctk_message_dialog_get_message_area (((((CtkMessageDialog
*) (void *) g_type_check_instance_cast ((GTypeInstance*) ((dialog1
)), ((ctk_message_dialog_get_type ())))))))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1485, ((const char*) (__func__))
, "ctk_widget_get_parent (CTK_WIDGET (expander)) == ctk_message_dialog_get_message_area (CTK_MESSAGE_DIALOG (dialog1))"
); } while (0)
;
1486
1487 ctk_widget_destroy (CTK_WIDGET (dialog1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((dialog1)), ((ctk_widget_get_type ()))))))
);
1488 g_object_unref (builder);
1489}
1490
1491static void
1492test_accelerators (void)
1493{
1494 CtkBuilder *builder;
1495 const gchar *buffer =
1496 "<interface>"
1497 " <object class=\"CtkWindow\" id=\"window1\">"
1498 " <child>"
1499 " <object class=\"CtkButton\" id=\"button1\">"
1500 " <accelerator key=\"q\" modifiers=\"CDK_CONTROL_MASK\" signal=\"clicked\"/>"
1501 " </object>"
1502 " </child>"
1503 " </object>"
1504 "</interface>";
1505 const gchar *buffer2 =
1506 "<interface>"
1507 " <object class=\"CtkWindow\" id=\"window1\">"
1508 " <child>"
1509 " <object class=\"CtkTreeView\" id=\"treeview1\">"
1510 " <signal name=\"cursor-changed\" handler=\"ctk_main_quit\"/>"
1511 " <accelerator key=\"f\" modifiers=\"CDK_CONTROL_MASK\" signal=\"grab_focus\"/>"
1512 " </object>"
1513 " </child>"
1514 " </object>"
1515 "</interface>";
1516 GObject *window1;
1517 GSList *accel_groups;
1518 GObject *accel_group;
1519
1520 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
1521 window1 = ctk_builder_get_object (builder, "window1");
1522 g_assert (window1)do { if (window1) ; else g_assertion_message_expr (((gchar*) 0
), "builder.c", 1522, ((const char*) (__func__)), "window1");
} while (0)
;
1523 g_assert (CTK_IS_WINDOW (window1))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((window1)); GType __t = ((ctk_window_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1523, (
(const char*) (__func__)), "CTK_IS_WINDOW (window1)"); } while
(0)
;
1524
1525 accel_groups = ctk_accel_groups_from_object (window1);
1526 g_assert (g_slist_length (accel_groups) == 1)do { if (g_slist_length (accel_groups) == 1) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1526, ((const char*) (__func__))
, "g_slist_length (accel_groups) == 1"); } while (0)
;
1527 accel_group = g_slist_nth_data (accel_groups, 0);
1528 g_assert (accel_group)do { if (accel_group) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 1528, ((const char*) (__func__)), "accel_group"
); } while (0)
;
1529
1530 ctk_widget_destroy (CTK_WIDGET (window1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window1)), ((ctk_widget_get_type ()))))))
);
1531 g_object_unref (builder);
1532
1533 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
1534 window1 = ctk_builder_get_object (builder, "window1");
1535 g_assert (window1)do { if (window1) ; else g_assertion_message_expr (((gchar*) 0
), "builder.c", 1535, ((const char*) (__func__)), "window1");
} while (0)
;
1536 g_assert (CTK_IS_WINDOW (window1))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((window1)); GType __t = ((ctk_window_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1536, (
(const char*) (__func__)), "CTK_IS_WINDOW (window1)"); } while
(0)
;
1537
1538 accel_groups = ctk_accel_groups_from_object (window1);
1539 g_assert (g_slist_length (accel_groups) == 1)do { if (g_slist_length (accel_groups) == 1) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1539, ((const char*) (__func__))
, "g_slist_length (accel_groups) == 1"); } while (0)
;
1540 accel_group = g_slist_nth_data (accel_groups, 0);
1541 g_assert (accel_group)do { if (accel_group) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 1541, ((const char*) (__func__)), "accel_group"
); } while (0)
;
1542
1543 ctk_widget_destroy (CTK_WIDGET (window1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window1)), ((ctk_widget_get_type ()))))))
);
1544 g_object_unref (builder);
1545}
1546
1547static void
1548test_widget (void)
1549{
1550 const gchar *buffer =
1551 "<interface>"
1552 " <object class=\"CtkWindow\" id=\"window1\">"
1553 " <child>"
1554 " <object class=\"CtkButton\" id=\"button1\">"
1555 " <property name=\"can-focus\">True</property>"
1556 " <property name=\"has-focus\">True</property>"
1557 " </object>"
1558 " </child>"
1559 " </object>"
1560 "</interface>";
1561 const gchar *buffer2 =
1562 "<interface>"
1563 " <object class=\"CtkWindow\" id=\"window1\">"
1564 " <child>"
1565 " <object class=\"CtkButton\" id=\"button1\">"
1566 " <property name=\"can-default\">True</property>"
1567 " <property name=\"has-default\">True</property>"
1568 " </object>"
1569 " </child>"
1570 " </object>"
1571 "</interface>";
1572 const gchar *buffer3 =
1573 "<interface>"
1574 " <object class=\"CtkWindow\" id=\"window1\">"
1575 " <child>"
1576 " <object class=\"CtkVBox\" id=\"vbox1\">"
1577 " <child>"
1578 " <object class=\"CtkLabel\" id=\"label1\">"
1579 " <child internal-child=\"accessible\">"
1580 " <object class=\"AtkObject\" id=\"a11y-label1\">"
1581 " <property name=\"AtkObject::accessible-name\">A Label</property>"
1582 " </object>"
1583 " </child>"
1584 " <accessibility>"
1585 " <relation target=\"button1\" type=\"label-for\"/>"
1586 " </accessibility>"
1587 " </object>"
1588 " </child>"
1589 " <child>"
1590 " <object class=\"CtkButton\" id=\"button1\">"
1591 " <accessibility>"
1592 " <action action_name=\"click\" description=\"Sliff\"/>"
1593 " <action action_name=\"clack\" translatable=\"yes\">Sniff</action>"
1594 " </accessibility>"
1595 " </object>"
1596 " </child>"
1597 " </object>"
1598 " </child>"
1599 " </object>"
1600 "</interface>";
1601 CtkBuilder *builder;
1602 GObject *window1, *button1, *label1;
1603 AtkObject *accessible;
1604 AtkRelationSet *relation_set;
1605 AtkRelation *relation;
1606 char *name;
1607
1608 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
1609 button1 = ctk_builder_get_object (builder, "button1");
1610
1611#if 0
1612 g_assert (ctk_widget_has_focus (CTK_WIDGET (button1)))do { if (ctk_widget_has_focus (((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((button1)), ((ctk_widget_get_type ())))))
))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1612, ((const char*) (__func__)), "ctk_widget_has_focus (CTK_WIDGET (button1))"
); } while (0)
;
1613#endif
1614 window1 = ctk_builder_get_object (builder, "window1");
1615 ctk_widget_destroy (CTK_WIDGET (window1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window1)), ((ctk_widget_get_type ()))))))
);
1616
1617 g_object_unref (builder);
1618
1619 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
1620 button1 = ctk_builder_get_object (builder, "button1");
1621
1622 g_assert (ctk_widget_get_receives_default (CTK_WIDGET (button1)))do { if (ctk_widget_get_receives_default (((((CtkWidget*) (void
*) g_type_check_instance_cast ((GTypeInstance*) ((button1)),
((ctk_widget_get_type ())))))))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1622, ((const char*) (__func__))
, "ctk_widget_get_receives_default (CTK_WIDGET (button1))"); }
while (0)
;
1623
1624 g_object_unref (builder);
1625
1626 builder = builder_new_from_string (buffer3, -1, NULL((void*)0));
1627
1628 window1 = ctk_builder_get_object (builder, "window1");
1629 label1 = ctk_builder_get_object (builder, "label1");
1630
1631 accessible = ctk_widget_get_accessible (CTK_WIDGET (label1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((label1)), ((ctk_widget_get_type ()))))))
);
1632 relation_set = atk_object_ref_relation_set (accessible);
1633 g_return_if_fail (atk_relation_set_get_n_relations (relation_set) == 1)do { if ((atk_relation_set_get_n_relations (relation_set) == 1
)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const
char*) (__func__)), "atk_relation_set_get_n_relations (relation_set) == 1"
); return; } } while (0)
;
1634 relation = atk_relation_set_get_relation (relation_set, 0);
1635 g_return_if_fail (relation != NULL)do { if ((relation != ((void*)0))) { } else { g_return_if_fail_warning
(((gchar*) 0), ((const char*) (__func__)), "relation != NULL"
); return; } } while (0)
;
1636 g_return_if_fail (ATK_IS_RELATION (relation))do { if (((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((relation)); GType __t = ((atk_relation_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; })))))) { }
else { g_return_if_fail_warning (((gchar*) 0), ((const char*
) (__func__)), "ATK_IS_RELATION (relation)"); return; } } while
(0)
;
1637 g_return_if_fail (atk_relation_get_relation_type (relation) != ATK_RELATION_LABELLED_BY)do { if ((atk_relation_get_relation_type (relation) != ATK_RELATION_LABELLED_BY
)) { } else { g_return_if_fail_warning (((gchar*) 0), ((const
char*) (__func__)), "atk_relation_get_relation_type (relation) != ATK_RELATION_LABELLED_BY"
); return; } } while (0)
;
1638 g_object_unref (relation_set);
1639
1640 g_object_get (G_OBJECT (accessible)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((accessible)), (((GType) ((20) << (2))))))))
, "accessible-name", &name, NULL((void*)0));
1641 g_return_if_fail (strcmp (name, "A Label") == 0)do { if ((strcmp (name, "A Label") == 0)) { } else { g_return_if_fail_warning
(((gchar*) 0), ((const char*) (__func__)), "strcmp (name, \"A Label\") == 0"
); return; } } while (0)
;
1642 g_free (name);
1643
1644 ctk_widget_destroy (CTK_WIDGET (window1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window1)), ((ctk_widget_get_type ()))))))
);
1645 g_object_unref (builder);
1646}
1647
1648static void
1649test_window (void)
1650{
1651 const gchar *buffer1 =
1652 "<interface>"
1653 " <object class=\"CtkWindow\" id=\"window1\">"
1654 " <property name=\"title\"></property>"
1655 " </object>"
1656 "</interface>";
1657 const gchar *buffer2 =
1658 "<interface>"
1659 " <object class=\"CtkWindow\" id=\"window1\">"
1660 " </object>"
1661 "</interface>";
1662 CtkBuilder *builder;
1663 GObject *window1;
1664 gchar *title;
1665
1666 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
1667 window1 = ctk_builder_get_object (builder, "window1");
1668 g_object_get (window1, "title", &title, NULL((void*)0));
1669 g_assert (strcmp (title, "") == 0)do { if (strcmp (title, "") == 0) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1669, ((const char*) (__func__))
, "strcmp (title, \"\") == 0"); } while (0)
;
1670 g_free (title);
1671 ctk_widget_destroy (CTK_WIDGET (window1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window1)), ((ctk_widget_get_type ()))))))
);
1672 g_object_unref (builder);
1673
1674 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
1675 window1 = ctk_builder_get_object (builder, "window1");
1676 ctk_widget_destroy (CTK_WIDGET (window1)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window1)), ((ctk_widget_get_type ()))))))
);
1677 g_object_unref (builder);
1678}
1679
1680static void
1681test_value_from_string (void)
1682{
1683 GValue value = G_VALUE_INIT{ 0, { { 0 } } };
1684 GError *error = NULL((void*)0);
1685 CtkBuilder *builder;
1686
1687 builder = ctk_builder_new ();
1688
1689 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_STRING, "test", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((16) << (2))), "test", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1689, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_STRING, \"test\", &value, &error)"
); } while (0)
;
1690 g_assert (G_VALUE_HOLDS_STRING (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((16) << (2)))
); gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1690, ((const char*) (__func__)), "G_VALUE_HOLDS_STRING (&value)"
); } while (0)
;
1691 g_assert (strcmp (g_value_get_string (&value), "test") == 0)do { if (strcmp (g_value_get_string (&value), "test") == 0
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1691, ((const char*) (__func__)), "strcmp (g_value_get_string (&value), \"test\") == 0"
); } while (0)
;
1692 g_value_unset (&value);
1693
1694 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "true", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "true", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1694, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"true\", &value, &error)"
); } while (0)
;
1695 g_assert (G_VALUE_HOLDS_BOOLEAN (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((5) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1695, ((const char*) (__func__)), "G_VALUE_HOLDS_BOOLEAN (&value)"
); } while (0)
;
1696 g_assert (g_value_get_boolean (&value) == TRUE)do { if (g_value_get_boolean (&value) == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1696, ((const char*) (__func__))
, "g_value_get_boolean (&value) == TRUE"); } while (0)
;
1697 g_value_unset (&value);
1698
1699 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "false", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "false", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1699, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"false\", &value, &error)"
); } while (0)
;
1700 g_assert (G_VALUE_HOLDS_BOOLEAN (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((5) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1700, ((const char*) (__func__)), "G_VALUE_HOLDS_BOOLEAN (&value)"
); } while (0)
;
1701 g_assert (g_value_get_boolean (&value) == FALSE)do { if (g_value_get_boolean (&value) == (0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1701, ((const char*) (__func__))
, "g_value_get_boolean (&value) == FALSE"); } while (0)
;
1702 g_value_unset (&value);
1703
1704 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "yes", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "yes", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1704, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"yes\", &value, &error)"
); } while (0)
;
1705 g_assert (G_VALUE_HOLDS_BOOLEAN (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((5) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1705, ((const char*) (__func__)), "G_VALUE_HOLDS_BOOLEAN (&value)"
); } while (0)
;
1706 g_assert (g_value_get_boolean (&value) == TRUE)do { if (g_value_get_boolean (&value) == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1706, ((const char*) (__func__))
, "g_value_get_boolean (&value) == TRUE"); } while (0)
;
1707 g_value_unset (&value);
1708
1709 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "no", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "no", &value, &error)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1709, ((const char*) (__func__))
, "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"no\", &value, &error)"
); } while (0)
;
1710 g_assert (G_VALUE_HOLDS_BOOLEAN (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((5) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1710, ((const char*) (__func__)), "G_VALUE_HOLDS_BOOLEAN (&value)"
); } while (0)
;
1711 g_assert (g_value_get_boolean (&value) == FALSE)do { if (g_value_get_boolean (&value) == (0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1711, ((const char*) (__func__))
, "g_value_get_boolean (&value) == FALSE"); } while (0)
;
1712 g_value_unset (&value);
1713
1714 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "0", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "0", &value, &error)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1714, ((const char*) (__func__))
, "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"0\", &value, &error)"
); } while (0)
;
1715 g_assert (G_VALUE_HOLDS_BOOLEAN (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((5) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1715, ((const char*) (__func__)), "G_VALUE_HOLDS_BOOLEAN (&value)"
); } while (0)
;
1716 g_assert (g_value_get_boolean (&value) == FALSE)do { if (g_value_get_boolean (&value) == (0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1716, ((const char*) (__func__))
, "g_value_get_boolean (&value) == FALSE"); } while (0)
;
1717 g_value_unset (&value);
1718
1719 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "1", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "1", &value, &error)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1719, ((const char*) (__func__))
, "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"1\", &value, &error)"
); } while (0)
;
1720 g_assert (G_VALUE_HOLDS_BOOLEAN (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((5) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1720, ((const char*) (__func__)), "G_VALUE_HOLDS_BOOLEAN (&value)"
); } while (0)
;
1721 g_assert (g_value_get_boolean (&value) == TRUE)do { if (g_value_get_boolean (&value) == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1721, ((const char*) (__func__))
, "g_value_get_boolean (&value) == TRUE"); } while (0)
;
1722 g_value_unset (&value);
1723
1724 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "tRuE", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "tRuE", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1724, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"tRuE\", &value, &error)"
); } while (0)
;
1725 g_assert (G_VALUE_HOLDS_BOOLEAN (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((5) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1725, ((const char*) (__func__)), "G_VALUE_HOLDS_BOOLEAN (&value)"
); } while (0)
;
1726 g_assert (g_value_get_boolean (&value) == TRUE)do { if (g_value_get_boolean (&value) == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1726, ((const char*) (__func__))
, "g_value_get_boolean (&value) == TRUE"); } while (0)
;
1727 g_value_unset (&value);
1728
1729 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "blaurgh", &value, &error) == FALSE)do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "blaurgh", &value, &error) == (
0)) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1729, ((const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"blaurgh\", &value, &error) == FALSE"
); } while (0)
;
1730 g_value_unset (&value);
1731 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 1731, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
1732 g_error_free (error);
1733 error = NULL((void*)0);
1734
1735 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "yess", &value, &error) == FALSE)do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "yess", &value, &error) == (0)
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1735, ((const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"yess\", &value, &error) == FALSE"
); } while (0)
;
1736 g_value_unset (&value);
1737 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 1737, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
1738 g_error_free (error);
1739 error = NULL((void*)0);
1740
1741 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "trueee", &value, &error) == FALSE)do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "trueee", &value, &error) == (
0)) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1741, ((const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"trueee\", &value, &error) == FALSE"
); } while (0)
;
1742 g_value_unset (&value);
1743 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 1743, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
1744 g_error_free (error);
1745 error = NULL((void*)0);
1746
1747 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, "", &value, &error) == FALSE)do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((5) << (2))), "", &value, &error) == (0)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1747, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_BOOLEAN, \"\", &value, &error) == FALSE"
); } while (0)
;
1748 g_value_unset (&value);
1749 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 1749, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
1750 g_error_free (error);
1751 error = NULL((void*)0);
1752
1753 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_INT, "12345", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((6) << (2))), "12345", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1753, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_INT, \"12345\", &value, &error)"
); } while (0)
;
1754 g_assert (G_VALUE_HOLDS_INT (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((6) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1754, ((const char*) (__func__)), "G_VALUE_HOLDS_INT (&value)"
); } while (0)
;
1755 g_assert (g_value_get_int (&value) == 12345)do { if (g_value_get_int (&value) == 12345) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1755, ((const char*) (__func__))
, "g_value_get_int (&value) == 12345"); } while (0)
;
1756 g_value_unset (&value);
1757
1758 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_LONG, "9912345", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((8) << (2))), "9912345", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1758, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_LONG, \"9912345\", &value, &error)"
); } while (0)
;
1759 g_assert (G_VALUE_HOLDS_LONG (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((8) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1759, ((const char*) (__func__)), "G_VALUE_HOLDS_LONG (&value)"
); } while (0)
;
1760 g_assert (g_value_get_long (&value) == 9912345)do { if (g_value_get_long (&value) == 9912345) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1760, ((const char*) (__func__))
, "g_value_get_long (&value) == 9912345"); } while (0)
;
1761 g_value_unset (&value);
1762
1763 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_UINT, "2345", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((7) << (2))), "2345", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1763, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_UINT, \"2345\", &value, &error)"
); } while (0)
;
1764 g_assert (G_VALUE_HOLDS_UINT (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((7) << (2))))
; gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1764, ((const char*) (__func__)), "G_VALUE_HOLDS_UINT (&value)"
); } while (0)
;
1765 g_assert (g_value_get_uint (&value) == 2345)do { if (g_value_get_uint (&value) == 2345) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1765, ((const char*) (__func__))
, "g_value_get_uint (&value) == 2345"); } while (0)
;
1766 g_value_unset (&value);
1767
1768 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_INT64, "-2345", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((10) << (2))), "-2345", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1768, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_INT64, \"-2345\", &value, &error)"
); } while (0)
;
1769 g_assert (G_VALUE_HOLDS_INT64 (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((10) << (2)))
); gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1769, ((const char*) (__func__)), "G_VALUE_HOLDS_INT64 (&value)"
); } while (0)
;
1770 g_assert (g_value_get_int64 (&value) == -2345)do { if (g_value_get_int64 (&value) == -2345) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1770, ((const char*) (__func__))
, "g_value_get_int64 (&value) == -2345"); } while (0)
;
1771 g_value_unset (&value);
1772
1773 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_UINT64, "2345", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((11) << (2))), "2345", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1773, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_UINT64, \"2345\", &value, &error)"
); } while (0)
;
1774 g_assert (G_VALUE_HOLDS_UINT64 (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((11) << (2)))
); gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1774, ((const char*) (__func__)), "G_VALUE_HOLDS_UINT64 (&value)"
); } while (0)
;
1775 g_assert (g_value_get_uint64 (&value) == 2345)do { if (g_value_get_uint64 (&value) == 2345) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1775, ((const char*) (__func__))
, "g_value_get_uint64 (&value) == 2345"); } while (0)
;
1776 g_value_unset (&value);
1777
1778 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_FLOAT, "1.454", &value, &error))do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((14) << (2))), "1.454", &value, &error)) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 1778, (
(const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_FLOAT, \"1.454\", &value, &error)"
); } while (0)
;
1779 g_assert (G_VALUE_HOLDS_FLOAT (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((14) << (2)))
); gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1779, ((const char*) (__func__)), "G_VALUE_HOLDS_FLOAT (&value)"
); } while (0)
;
1780 g_assert (fabs (g_value_get_float (&value) - 1.454) < 0.00001)do { if (fabs (g_value_get_float (&value) - 1.454) < 0.00001
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1780, ((const char*) (__func__)), "fabs (g_value_get_float (&value) - 1.454) < 0.00001"
); } while (0)
;
1781 g_value_unset (&value);
1782
1783 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_FLOAT, "abc", &value, &error) == FALSE)do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((14) << (2))), "abc", &value, &error) == (0)
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1783, ((const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_FLOAT, \"abc\", &value, &error) == FALSE"
); } while (0)
;
1784 g_value_unset (&value);
1785 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 1785, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
1786 g_error_free (error);
1787 error = NULL((void*)0);
1788
1789 g_assert (ctk_builder_value_from_string_type (builder, G_TYPE_INT, "/-+,abc", &value, &error) == FALSE)do { if (ctk_builder_value_from_string_type (builder, ((GType
) ((6) << (2))), "/-+,abc", &value, &error) == (
0)) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 1789, ((const char*) (__func__)), "ctk_builder_value_from_string_type (builder, G_TYPE_INT, \"/-+,abc\", &value, &error) == FALSE"
); } while (0)
;
1790 g_value_unset (&value);
1791 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 1791, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
1792 g_error_free (error);
1793 error = NULL((void*)0);
1794
1795 g_assert (ctk_builder_value_from_string_type (builder, CTK_TYPE_WINDOW_TYPE, "toplevel", &value, &error) == TRUE)do { if (ctk_builder_value_from_string_type (builder, (ctk_window_type_get_type
()), "toplevel", &value, &error) == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1795, ((const char*) (__func__))
, "ctk_builder_value_from_string_type (builder, CTK_TYPE_WINDOW_TYPE, \"toplevel\", &value, &error) == TRUE"
); } while (0)
;
1796 g_assert (G_VALUE_HOLDS_ENUM (&value))do { if ((((__extension__ ({ const GValue *__val = (const GValue
*) ((&value)); GType __t = (((GType) ((12) << (2)))
); gboolean __r; if (!__val) __r = (0); else if (__val->g_type
== __t) __r = (!(0)); else __r = g_type_check_value_holds (__val
, __t); __r; }))))) ; else g_assertion_message_expr (((gchar*
) 0), "builder.c", 1796, ((const char*) (__func__)), "G_VALUE_HOLDS_ENUM (&value)"
); } while (0)
;
1797 g_assert (g_value_get_enum (&value) == CTK_WINDOW_TOPLEVEL)do { if (g_value_get_enum (&value) == CTK_WINDOW_TOPLEVEL
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1797, ((const char*) (__func__)), "g_value_get_enum (&value) == CTK_WINDOW_TOPLEVEL"
); } while (0)
;
1798 g_value_unset (&value);
1799
1800 g_assert (ctk_builder_value_from_string_type (builder, CTK_TYPE_WINDOW_TYPE, "sliff", &value, &error) == FALSE)do { if (ctk_builder_value_from_string_type (builder, (ctk_window_type_get_type
()), "sliff", &value, &error) == (0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1800, ((const char*) (__func__))
, "ctk_builder_value_from_string_type (builder, CTK_TYPE_WINDOW_TYPE, \"sliff\", &value, &error) == FALSE"
); } while (0)
;
1801 g_value_unset (&value);
1802 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 1802, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
1803 g_error_free (error);
1804 error = NULL((void*)0);
1805
1806 g_assert (ctk_builder_value_from_string_type (builder, CTK_TYPE_WINDOW_TYPE, "foobar", &value, &error) == FALSE)do { if (ctk_builder_value_from_string_type (builder, (ctk_window_type_get_type
()), "foobar", &value, &error) == (0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1806, ((const char*) (__func__))
, "ctk_builder_value_from_string_type (builder, CTK_TYPE_WINDOW_TYPE, \"foobar\", &value, &error) == FALSE"
); } while (0)
;
1807 g_value_unset (&value);
1808 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_INVALID_VALUE)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_INVALID_VALUE) g_assertion_message_error
(((gchar*) 0), "builder.c", 1808, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_INVALID_VALUE
); } while (0)
;
1809 g_error_free (error);
1810 error = NULL((void*)0);
1811
1812 g_object_unref (builder);
1813}
1814
1815static gboolean model_freed = FALSE(0);
1816
1817static void
1818model_weakref (gpointer data,
1819 GObject *model)
1820{
1821 model_freed = TRUE(!(0));
1822}
1823
1824static void
1825test_reference_counting (void)
1826{
1827 CtkBuilder *builder;
1828 const gchar buffer1[] =
1829 "<interface>"
1830 " <object class=\"CtkListStore\" id=\"liststore1\"/>"
1831 " <object class=\"CtkListStore\" id=\"liststore2\"/>"
1832 " <object class=\"CtkWindow\" id=\"window1\">"
1833 " <child>"
1834 " <object class=\"CtkTreeView\" id=\"treeview1\">"
1835 " <property name=\"model\">liststore1</property>"
1836 " </object>"
1837 " </child>"
1838 " </object>"
1839 "</interface>";
1840 const gchar buffer2[] =
1841 "<interface>"
1842 " <object class=\"CtkVBox\" id=\"vbox1\">"
1843 " <child>"
1844 " <object class=\"CtkLabel\" id=\"label1\"/>"
1845 " <packing>"
1846 " <property name=\"pack-type\">start</property>"
1847 " </packing>"
1848 " </child>"
1849 " </object>"
1850 "</interface>";
1851 GObject *window, *treeview, *model;
1852
1853 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
1854 window = ctk_builder_get_object (builder, "window1");
1855 treeview = ctk_builder_get_object (builder, "treeview1");
1856 model = ctk_builder_get_object (builder, "liststore1");
1857 g_object_unref (builder);
1858
1859 g_object_weak_ref (model, (GWeakNotify)model_weakref, NULL((void*)0));
1860
1861 g_assert (model_freed == FALSE)do { if (model_freed == (0)) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 1861, ((const char*) (__func__)), "model_freed == FALSE"
); } while (0)
;
1862 ctk_tree_view_set_model (CTK_TREE_VIEW (treeview)((((CtkTreeView*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((treeview)), ((ctk_tree_view_get_type ()))))))
, NULL((void*)0));
1863 g_assert (model_freed == TRUE)do { if (model_freed == (!(0))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1863, ((const char*) (__func__))
, "model_freed == TRUE"); } while (0)
;
1864
1865 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
1866
1867 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
1868 g_object_unref (builder);
1869}
1870
1871static void
1872test_icon_factory (void)
1873{
1874 CtkBuilder *builder;
1875 const gchar buffer1[] =
1876 "<interface>"
1877 " <object class=\"CtkIconFactory\" id=\"iconfactory1\">"
1878 " <sources>"
1879 " <source stock-id=\"apple-red\" filename=\"apple-red.png\"/>"
1880 " </sources>"
1881 " </object>"
1882 "</interface>";
1883 const gchar buffer2[] =
1884 "<interface>"
1885 " <object class=\"CtkIconFactory\" id=\"iconfactory1\">"
1886 " <sources>"
1887 " <source stock-id=\"sliff\" direction=\"rtl\" state=\"active\""
1888 " size=\"menu\" filename=\"sloff.png\"/>"
1889 " <source stock-id=\"sliff\" direction=\"ltr\" state=\"selected\""
1890 " size=\"dnd\" filename=\"slurf.png\"/>"
1891 " </sources>"
1892 " </object>"
1893 "</interface>";
1894 GObject *factory;
1895 CtkIconSet *icon_set;
1896 CtkIconSource *icon_source;
1897 CtkWidget *image;
1898
1899 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
1900 factory = ctk_builder_get_object (builder, "iconfactory1");
1901 g_assert (factory != NULL)do { if (factory != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1901, ((const char*) (__func__))
, "factory != NULL"); } while (0)
;
1902
1903 icon_set = ctk_icon_factory_lookup (CTK_ICON_FACTORY (factory)((((CtkIconFactory*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((factory)), ((ctk_icon_factory_get_type ()))))))
, "apple-red");
1904 g_assert (icon_set != NULL)do { if (icon_set != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1904, ((const char*) (__func__))
, "icon_set != NULL"); } while (0)
;
1905 ctk_icon_factory_add_default (CTK_ICON_FACTORY (factory)((((CtkIconFactory*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((factory)), ((ctk_icon_factory_get_type ()))))))
);
1906 G_GNUC_BEGIN_IGNORE_DEPRECATIONSclang diagnostic push clang diagnostic ignored "-Wdeprecated-declarations"
;
1907 image = ctk_image_new_from_stock ("apple-red", CTK_ICON_SIZE_BUTTON);
1908 G_GNUC_END_IGNORE_DEPRECATIONSclang diagnostic pop ;
1909 g_assert (image != NULL)do { if (image != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1909, ((const char*) (__func__))
, "image != NULL"); } while (0)
;
1910 g_object_ref_sink (image)((__typeof__ (image)) (g_object_ref_sink) (image));
1911 g_object_unref (image);
1912
1913 g_object_unref (builder);
1914
1915 builder = builder_new_from_string (buffer2, -1, NULL((void*)0));
1916 factory = ctk_builder_get_object (builder, "iconfactory1");
1917 g_assert (factory != NULL)do { if (factory != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1917, ((const char*) (__func__))
, "factory != NULL"); } while (0)
;
1918
1919 icon_set = ctk_icon_factory_lookup (CTK_ICON_FACTORY (factory)((((CtkIconFactory*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((factory)), ((ctk_icon_factory_get_type ()))))))
, "sliff");
1920 g_assert (icon_set != NULL)do { if (icon_set != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1920, ((const char*) (__func__))
, "icon_set != NULL"); } while (0)
;
1921 g_assert (g_slist_length (icon_set->sources) == 2)do { if (g_slist_length (icon_set->sources) == 2) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 1921, ((const char*) (__func__))
, "g_slist_length (icon_set->sources) == 2"); } while (0)
;
1922
1923 icon_source = icon_set->sources->data;
1924 g_assert (ctk_icon_source_get_direction (icon_source) == CTK_TEXT_DIR_RTL)do { if (ctk_icon_source_get_direction (icon_source) == CTK_TEXT_DIR_RTL
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1924, ((const char*) (__func__)), "ctk_icon_source_get_direction (icon_source) == CTK_TEXT_DIR_RTL"
); } while (0)
;
1925 g_assert (ctk_icon_source_get_state (icon_source) == CTK_STATE_ACTIVE)do { if (ctk_icon_source_get_state (icon_source) == CTK_STATE_ACTIVE
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1925, ((const char*) (__func__)), "ctk_icon_source_get_state (icon_source) == CTK_STATE_ACTIVE"
); } while (0)
;
1926 g_assert (ctk_icon_source_get_size (icon_source) == CTK_ICON_SIZE_MENU)do { if (ctk_icon_source_get_size (icon_source) == CTK_ICON_SIZE_MENU
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1926, ((const char*) (__func__)), "ctk_icon_source_get_size (icon_source) == CTK_ICON_SIZE_MENU"
); } while (0)
;
1927 g_assert (g_str_has_suffix (ctk_icon_source_get_filename (icon_source), "sloff.png"))do { if ((__builtin_constant_p ("sloff.png")? __extension__ (
{ const char * const __str = (ctk_icon_source_get_filename (icon_source
)); const char * const __suffix = ("sloff.png"); gboolean __result
= (0); if (__str == ((void*)0) || __suffix == ((void*)0)) __result
= (g_str_has_suffix) (__str, __suffix); else { const size_t __str_len
= strlen (((__str) + !(__str))); const size_t __suffix_len =
strlen (((__suffix) + !(__suffix))); if (__str_len >= __suffix_len
) __result = memcmp (__str + __str_len - __suffix_len, ((__suffix
) + !(__suffix)), __suffix_len) == 0; } __result; }) : (g_str_has_suffix
) (ctk_icon_source_get_filename (icon_source), "sloff.png") )
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1927, ((const char*) (__func__)), "g_str_has_suffix (ctk_icon_source_get_filename (icon_source), \"sloff.png\")"
); } while (0)
;
1928
1929 icon_source = icon_set->sources->next->data;
1930 g_assert (ctk_icon_source_get_direction (icon_source) == CTK_TEXT_DIR_LTR)do { if (ctk_icon_source_get_direction (icon_source) == CTK_TEXT_DIR_LTR
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1930, ((const char*) (__func__)), "ctk_icon_source_get_direction (icon_source) == CTK_TEXT_DIR_LTR"
); } while (0)
;
1931 g_assert (ctk_icon_source_get_state (icon_source) == CTK_STATE_SELECTED)do { if (ctk_icon_source_get_state (icon_source) == CTK_STATE_SELECTED
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1931, ((const char*) (__func__)), "ctk_icon_source_get_state (icon_source) == CTK_STATE_SELECTED"
); } while (0)
;
1932 g_assert (ctk_icon_source_get_size (icon_source) == CTK_ICON_SIZE_DND)do { if (ctk_icon_source_get_size (icon_source) == CTK_ICON_SIZE_DND
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1932, ((const char*) (__func__)), "ctk_icon_source_get_size (icon_source) == CTK_ICON_SIZE_DND"
); } while (0)
;
1933 g_assert (g_str_has_suffix (ctk_icon_source_get_filename (icon_source), "slurf.png"))do { if ((__builtin_constant_p ("slurf.png")? __extension__ (
{ const char * const __str = (ctk_icon_source_get_filename (icon_source
)); const char * const __suffix = ("slurf.png"); gboolean __result
= (0); if (__str == ((void*)0) || __suffix == ((void*)0)) __result
= (g_str_has_suffix) (__str, __suffix); else { const size_t __str_len
= strlen (((__str) + !(__str))); const size_t __suffix_len =
strlen (((__suffix) + !(__suffix))); if (__str_len >= __suffix_len
) __result = memcmp (__str + __str_len - __suffix_len, ((__suffix
) + !(__suffix)), __suffix_len) == 0; } __result; }) : (g_str_has_suffix
) (ctk_icon_source_get_filename (icon_source), "slurf.png") )
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
1933, ((const char*) (__func__)), "g_str_has_suffix (ctk_icon_source_get_filename (icon_source), \"slurf.png\")"
); } while (0)
;
1934
1935 g_object_unref (builder);
1936}
1937
1938typedef struct {
1939 gboolean weight;
1940 gboolean foreground;
1941 gboolean underline;
1942 gboolean size;
1943 gboolean font_desc;
1944 gboolean language;
1945} FoundAttrs;
1946
1947static gboolean
1948filter_pango_attrs (PangoAttribute *attr,
1949 gpointer data)
1950{
1951 FoundAttrs *found = (FoundAttrs *)data;
1952
1953 if (attr->klass->type == PANGO_ATTR_WEIGHT)
1954 found->weight = TRUE(!(0));
1955 else if (attr->klass->type == PANGO_ATTR_FOREGROUND)
1956 found->foreground = TRUE(!(0));
1957 else if (attr->klass->type == PANGO_ATTR_UNDERLINE)
1958 found->underline = TRUE(!(0));
1959 /* Make sure optional start/end properties are working */
1960 else if (attr->klass->type == PANGO_ATTR_SIZE &&
1961 attr->start_index == 5 &&
1962 attr->end_index == 10)
1963 found->size = TRUE(!(0));
1964 else if (attr->klass->type == PANGO_ATTR_FONT_DESC)
1965 found->font_desc = TRUE(!(0));
1966 else if (attr->klass->type == PANGO_ATTR_LANGUAGE)
1967 found->language = TRUE(!(0));
1968
1969 return TRUE(!(0));
1970}
1971
1972static void
1973test_pango_attributes (void)
1974{
1975 CtkBuilder *builder;
1976 FoundAttrs found = { 0, };
1977 const gchar buffer[] =
1978 "<interface>"
1979 " <object class=\"CtkLabel\" id=\"label1\">"
1980 " <attributes>"
1981 " <attribute name=\"weight\" value=\"PANGO_WEIGHT_BOLD\"/>"
1982 " <attribute name=\"foreground\" value=\"DarkSlateGray\"/>"
1983 " <attribute name=\"underline\" value=\"True\"/>"
1984 " <attribute name=\"size\" value=\"4\" start=\"5\" end=\"10\"/>"
1985 " <attribute name=\"font-desc\" value=\"Sans Italic 22\"/>"
1986 " <attribute name=\"language\" value=\"pt_BR\"/>"
1987 " </attributes>"
1988 " </object>"
1989 "</interface>";
1990 const gchar err_buffer1[] =
1991 "<interface>"
1992 " <object class=\"CtkLabel\" id=\"label1\">"
1993 " <attributes>"
1994 " <attribute name=\"weight\"/>"
1995 " </attributes>"
1996 " </object>"
1997 "</interface>";
1998 const gchar err_buffer2[] =
1999 "<interface>"
2000 " <object class=\"CtkLabel\" id=\"label1\">"
2001 " <attributes>"
2002 " <attribute name=\"weight\" value=\"PANGO_WEIGHT_BOLD\" unrecognized=\"True\"/>"
2003 " </attributes>"
2004 " </object>"
2005 "</interface>";
2006
2007 GObject *label;
2008 GError *error = NULL((void*)0);
2009 PangoAttrList *attrs, *filtered;
2010
2011 /* Test attributes are set */
2012 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
2013 label = ctk_builder_get_object (builder, "label1");
2014 g_assert (label != NULL)do { if (label != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2014, ((const char*) (__func__))
, "label != NULL"); } while (0)
;
2015
2016 attrs = ctk_label_get_attributes (CTK_LABEL (label)((((CtkLabel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((label)), ((ctk_label_get_type ()))))))
);
2017 g_assert (attrs != NULL)do { if (attrs != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2017, ((const char*) (__func__))
, "attrs != NULL"); } while (0)
;
2018
2019 filtered = pango_attr_list_filter (attrs, filter_pango_attrs, &found);
2020 g_assert (filtered)do { if (filtered) ; else g_assertion_message_expr (((gchar*)
0), "builder.c", 2020, ((const char*) (__func__)), "filtered"
); } while (0)
;
2021 pango_attr_list_unref (filtered);
2022
2023 g_assert (found.weight)do { if (found.weight) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 2023, ((const char*) (__func__)), "found.weight"
); } while (0)
;
2024 g_assert (found.foreground)do { if (found.foreground) ; else g_assertion_message_expr ((
(gchar*) 0), "builder.c", 2024, ((const char*) (__func__)), "found.foreground"
); } while (0)
;
2025 g_assert (found.underline)do { if (found.underline) ; else g_assertion_message_expr (((
gchar*) 0), "builder.c", 2025, ((const char*) (__func__)), "found.underline"
); } while (0)
;
2026 g_assert (found.size)do { if (found.size) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 2026, ((const char*) (__func__)), "found.size"
); } while (0)
;
2027 g_assert (found.language)do { if (found.language) ; else g_assertion_message_expr (((gchar
*) 0), "builder.c", 2027, ((const char*) (__func__)), "found.language"
); } while (0)
;
2028 g_assert (found.font_desc)do { if (found.font_desc) ; else g_assertion_message_expr (((
gchar*) 0), "builder.c", 2028, ((const char*) (__func__)), "found.font_desc"
); } while (0)
;
2029
2030 g_object_unref (builder);
2031
2032 /* Test errors are set */
2033 builder = ctk_builder_new ();
2034 ctk_builder_add_from_string (builder, err_buffer1, -1, &error);
2035 label = ctk_builder_get_object (builder, "label1");
Value stored to 'label' is never read
2036 g_assert_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_MISSING_ATTRIBUTE)do { if (!error || (error)->domain != g_markup_error_quark
() || (error)->code != G_MARKUP_ERROR_MISSING_ATTRIBUTE) g_assertion_message_error
(((gchar*) 0), "builder.c", 2036, ((const char*) (__func__))
, "error", error, g_markup_error_quark (), G_MARKUP_ERROR_MISSING_ATTRIBUTE
); } while (0)
;
2037 g_object_unref (builder);
2038 g_error_free (error);
2039 error = NULL((void*)0);
2040
2041 builder = ctk_builder_new ();
2042 ctk_builder_add_from_string (builder, err_buffer2, -1, &error);
2043 label = ctk_builder_get_object (builder, "label1");
2044
2045 g_assert_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE)do { if (!error || (error)->domain != g_markup_error_quark
() || (error)->code != G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE) g_assertion_message_error
(((gchar*) 0), "builder.c", 2045, ((const char*) (__func__))
, "error", error, g_markup_error_quark (), G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE
); } while (0)
;
2046 g_object_unref (builder);
2047 g_error_free (error);
2048}
2049
2050static void
2051test_requires (void)
2052{
2053 CtkBuilder *builder;
2054 GError *error = NULL((void*)0);
2055 gchar *buffer;
2056 const gchar buffer_fmt[] =
2057 "<interface>"
2058 " <requires lib=\"ctk+\" version=\"%d.%d\"/>"
2059 "</interface>";
2060
2061 buffer = g_strdup_printf (buffer_fmt, CTK_MAJOR_VERSION(3), CTK_MINOR_VERSION(25) + 1);
2062 builder = ctk_builder_new ();
2063 ctk_builder_add_from_string (builder, buffer, -1, &error);
2064 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_VERSION_MISMATCH)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_VERSION_MISMATCH
) g_assertion_message_error (((gchar*) 0), "builder.c", 2064,
((const char*) (__func__)), "error", error, (ctk_builder_error_quark
()), CTK_BUILDER_ERROR_VERSION_MISMATCH); } while (0)
;
2065 g_object_unref (builder);
2066 g_error_free (error);
2067 g_free (buffer);
2068}
2069
2070static void
2071test_add_objects (void)
2072{
2073 CtkBuilder *builder;
2074 GError *error;
2075 gint ret;
2076 GObject *obj;
2077 CtkUIManager *manager;
2078 CtkWidget *menubar;
2079 GObject *menu, *label;
2080 GList *children;
2081 gchar *objects[2] = {"mainbox", NULL((void*)0)};
2082 gchar *objects2[3] = {"mainbox", "window2", NULL((void*)0)};
2083 gchar *objects3[3] = {"uimgr1", "menubar1"};
2084 gchar *objects4[2] = {"uimgr1", NULL((void*)0)};
2085 const gchar buffer[] =
2086 "<interface>"
2087 " <object class=\"CtkWindow\" id=\"window\">"
2088 " <child>"
2089 " <object class=\"CtkVBox\" id=\"mainbox\">"
2090 " <property name=\"visible\">True</property>"
2091 " <child>"
2092 " <object class=\"CtkLabel\" id=\"label1\">"
2093 " <property name=\"visible\">True</property>"
2094 " <property name=\"label\" translatable=\"no\">first label</property>"
2095 " </object>"
2096 " </child>"
2097 " <child>"
2098 " <object class=\"CtkLabel\" id=\"label2\">"
2099 " <property name=\"visible\">True</property>"
2100 " <property name=\"label\" translatable=\"no\">second label</property>"
2101 " </object>"
2102 " <packing>"
2103 " <property name=\"position\">1</property>"
2104 " </packing>"
2105 " </child>"
2106 " </object>"
2107 " </child>"
2108 " </object>"
2109 " <object class=\"CtkWindow\" id=\"window2\">"
2110 " <child>"
2111 " <object class=\"CtkLabel\" id=\"label3\">"
2112 " <property name=\"label\" translatable=\"no\">second label</property>"
2113 " </object>"
2114 " </child>"
2115 " </object>"
2116 "<interface/>";
2117 const gchar buffer2[] =
2118 "<interface>"
2119 " <object class=\"CtkUIManager\" id=\"uimgr1\">"
2120 " <child>"
2121 " <object class=\"CtkActionGroup\" id=\"ag1\">"
2122 " <child>"
2123 " <object class=\"CtkAction\" id=\"file\">"
2124 " <property name=\"label\">_File</property>"
2125 " </object>"
2126 " <accelerator key=\"n\" modifiers=\"CDK_CONTROL_MASK\"/>"
2127 " </child>"
2128 " </object>"
2129 " </child>"
2130 " <ui>"
2131 " <menubar name=\"menubar1\">"
2132 " <menu action=\"file\">"
2133 " </menu>"
2134 " </menubar>"
2135 " </ui>"
2136 " </object>"
2137 " <object class=\"CtkWindow\" id=\"window1\">"
2138 " <child>"
2139 " <object class=\"CtkMenuBar\" id=\"menubar1\" constructor=\"uimgr1\"/>"
2140 " </child>"
2141 " </object>"
2142 "</interface>";
2143
2144 error = NULL((void*)0);
2145 builder = ctk_builder_new ();
2146 ret = ctk_builder_add_objects_from_string (builder, buffer, -1, objects, &error);
2147 g_assert (ret)do { if (ret) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2147, ((const char*) (__func__)), "ret"); } while (0)
;
2148 g_assert (error == NULL)do { if (error == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2148, ((const char*) (__func__))
, "error == NULL"); } while (0)
;
2149 obj = ctk_builder_get_object (builder, "window");
2150 g_assert (obj == NULL)do { if (obj == ((void*)0)) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 2150, ((const char*) (__func__)), "obj == NULL"
); } while (0)
;
2151 obj = ctk_builder_get_object (builder, "window2");
2152 g_assert (obj == NULL)do { if (obj == ((void*)0)) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 2152, ((const char*) (__func__)), "obj == NULL"
); } while (0)
;
2153 obj = ctk_builder_get_object (builder, "mainbox");
2154 g_assert (CTK_IS_WIDGET (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_widget_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2154, (
(const char*) (__func__)), "CTK_IS_WIDGET (obj)"); } while (0
)
;
2155 g_object_unref (builder);
2156
2157 error = NULL((void*)0);
2158 builder = ctk_builder_new ();
2159 ret = ctk_builder_add_objects_from_string (builder, buffer, -1, objects2, &error);
2160 g_assert (ret)do { if (ret) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2160, ((const char*) (__func__)), "ret"); } while (0)
;
2161 g_assert (error == NULL)do { if (error == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2161, ((const char*) (__func__))
, "error == NULL"); } while (0)
;
2162 obj = ctk_builder_get_object (builder, "window");
2163 g_assert (obj == NULL)do { if (obj == ((void*)0)) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 2163, ((const char*) (__func__)), "obj == NULL"
); } while (0)
;
2164 obj = ctk_builder_get_object (builder, "window2");
2165 g_assert (CTK_IS_WINDOW (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_window_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2165, (
(const char*) (__func__)), "CTK_IS_WINDOW (obj)"); } while (0
)
;
2166 ctk_widget_destroy (CTK_WIDGET (obj)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_widget_get_type ()))))))
);
2167 obj = ctk_builder_get_object (builder, "mainbox");
2168 g_assert (CTK_IS_WIDGET (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_widget_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2168, (
(const char*) (__func__)), "CTK_IS_WIDGET (obj)"); } while (0
)
;
2169 g_object_unref (builder);
2170
2171 /* test cherry picking a ui manager and menubar that depends on it */
2172 error = NULL((void*)0);
2173 builder = ctk_builder_new ();
2174 ret = ctk_builder_add_objects_from_string (builder, buffer2, -1, objects3, &error);
2175 g_assert (ret)do { if (ret) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2175, ((const char*) (__func__)), "ret"); } while (0)
;
2176 obj = ctk_builder_get_object (builder, "uimgr1");
2177 g_assert (CTK_IS_UI_MANAGER (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_ui_manager_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2177, (
(const char*) (__func__)), "CTK_IS_UI_MANAGER (obj)"); } while
(0)
;
2178 obj = ctk_builder_get_object (builder, "file");
2179 g_assert (CTK_IS_ACTION (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_action_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2179, (
(const char*) (__func__)), "CTK_IS_ACTION (obj)"); } while (0
)
;
2180 obj = ctk_builder_get_object (builder, "menubar1");
2181 g_assert (CTK_IS_MENU_BAR (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_menu_bar_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2181, (
(const char*) (__func__)), "CTK_IS_MENU_BAR (obj)"); } while (
0)
;
2182 menubar = CTK_WIDGET (obj)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_widget_get_type ()))))))
;
2183
2184 children = ctk_container_get_children (CTK_CONTAINER (menubar)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((menubar)), ((ctk_container_get_type ()))))))
);
2185 menu = children->data;
2186 g_assert (menu != NULL)do { if (menu != ((void*)0)) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 2186, ((const char*) (__func__)), "menu != NULL"
); } while (0)
;
2187 g_assert (CTK_IS_MENU_ITEM (menu))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((menu)); GType __t = ((ctk_menu_item_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2187, (
(const char*) (__func__)), "CTK_IS_MENU_ITEM (menu)"); } while
(0)
;
2188 g_assert (strcmp (ctk_widget_get_name (CTK_WIDGET (menu)), "file") == 0)do { if (strcmp (ctk_widget_get_name (((((CtkWidget*) (void *
) g_type_check_instance_cast ((GTypeInstance*) ((menu)), ((ctk_widget_get_type
()))))))), "file") == 0) ; else g_assertion_message_expr (((
gchar*) 0), "builder.c", 2188, ((const char*) (__func__)), "strcmp (ctk_widget_get_name (CTK_WIDGET (menu)), \"file\") == 0"
); } while (0)
;
2189 g_list_free (children);
2190
2191 label = G_OBJECT (ctk_bin_get_child (CTK_BIN (menu)))((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((ctk_bin_get_child (((((CtkBin*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((menu)), ((ctk_bin_get_type ()))))))))), (
((GType) ((20) << (2))))))))
;
2192 g_assert (label != NULL)do { if (label != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2192, ((const char*) (__func__))
, "label != NULL"); } while (0)
;
2193 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2193, (
(const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (
0)
;
2194 g_assert (strcmp (ctk_label_get_text (CTK_LABEL (label)), "File") == 0)do { if (strcmp (ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((label)), ((ctk_label_get_type ()))))))),
"File") == 0) ; else g_assertion_message_expr (((gchar*) 0),
"builder.c", 2194, ((const char*) (__func__)), "strcmp (ctk_label_get_text (CTK_LABEL (label)), \"File\") == 0"
); } while (0)
;
2195
2196 g_object_unref (builder);
2197
2198 /* test cherry picking just the ui manager */
2199 error = NULL((void*)0);
2200 builder = ctk_builder_new ();
2201 ret = ctk_builder_add_objects_from_string (builder, buffer2, -1, objects4, &error);
2202 g_assert (ret)do { if (ret) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2202, ((const char*) (__func__)), "ret"); } while (0)
;
2203 obj = ctk_builder_get_object (builder, "uimgr1");
2204 g_assert (CTK_IS_UI_MANAGER (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_ui_manager_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2204, (
(const char*) (__func__)), "CTK_IS_UI_MANAGER (obj)"); } while
(0)
;
2205 manager = CTK_UI_MANAGER (obj)((((CtkUIManager*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_ui_manager_get_type ()))))))
;
2206 obj = ctk_builder_get_object (builder, "file");
2207 g_assert (CTK_IS_ACTION (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_action_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2207, (
(const char*) (__func__)), "CTK_IS_ACTION (obj)"); } while (0
)
;
2208 menubar = ctk_ui_manager_get_widget (manager, "/menubar1");
2209 g_assert (CTK_IS_MENU_BAR (menubar))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((menubar)); GType __t = ((ctk_menu_bar_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2209, (
(const char*) (__func__)), "CTK_IS_MENU_BAR (menubar)"); } while
(0)
;
2210
2211 children = ctk_container_get_children (CTK_CONTAINER (menubar)((((CtkContainer*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((menubar)), ((ctk_container_get_type ()))))))
);
2212 menu = children->data;
2213 g_assert (menu != NULL)do { if (menu != ((void*)0)) ; else g_assertion_message_expr (
((gchar*) 0), "builder.c", 2213, ((const char*) (__func__)), "menu != NULL"
); } while (0)
;
2214 g_assert (CTK_IS_MENU_ITEM (menu))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((menu)); GType __t = ((ctk_menu_item_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2214, (
(const char*) (__func__)), "CTK_IS_MENU_ITEM (menu)"); } while
(0)
;
2215 g_assert (strcmp (ctk_widget_get_name (CTK_WIDGET (menu)), "file") == 0)do { if (strcmp (ctk_widget_get_name (((((CtkWidget*) (void *
) g_type_check_instance_cast ((GTypeInstance*) ((menu)), ((ctk_widget_get_type
()))))))), "file") == 0) ; else g_assertion_message_expr (((
gchar*) 0), "builder.c", 2215, ((const char*) (__func__)), "strcmp (ctk_widget_get_name (CTK_WIDGET (menu)), \"file\") == 0"
); } while (0)
;
2216 g_list_free (children);
2217
2218 label = G_OBJECT (ctk_bin_get_child (CTK_BIN (menu)))((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((ctk_bin_get_child (((((CtkBin*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((menu)), ((ctk_bin_get_type ()))))))))), (
((GType) ((20) << (2))))))))
;
2219 g_assert (label != NULL)do { if (label != ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2219, ((const char*) (__func__))
, "label != NULL"); } while (0)
;
2220 g_assert (CTK_IS_LABEL (label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((label)); GType __t = ((ctk_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2220, (
(const char*) (__func__)), "CTK_IS_LABEL (label)"); } while (
0)
;
2221 g_assert (strcmp (ctk_label_get_text (CTK_LABEL (label)), "File") == 0)do { if (strcmp (ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((label)), ((ctk_label_get_type ()))))))),
"File") == 0) ; else g_assertion_message_expr (((gchar*) 0),
"builder.c", 2221, ((const char*) (__func__)), "strcmp (ctk_label_get_text (CTK_LABEL (label)), \"File\") == 0"
); } while (0)
;
2222
2223 g_object_unref (builder);
2224}
2225
2226static CtkWidget *
2227get_parent_menubar (CtkWidget *menuitem)
2228{
2229 CtkMenuShell *menu_shell;
2230 CtkWidget *attach = NULL((void*)0);
2231
2232 menu_shell = CTK_MENU_SHELL (ctk_widget_get_parent (menuitem))((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((ctk_widget_get_parent (menuitem))), ((ctk_menu_shell_get_type
()))))))
;
2233
2234 g_assert (CTK_IS_MENU_SHELL (menu_shell))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((menu_shell)); GType __t = ((ctk_menu_shell_get_type ()))
; gboolean __r; if (!__inst) __r = (0); else if (__inst->g_class
&& __inst->g_class->g_type == __t) __r = (!(0)
); else __r = g_type_check_instance_is_a (__inst, __t); __r; }
))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2234, ((const char*) (__func__)), "CTK_IS_MENU_SHELL (menu_shell)"
); } while (0)
;
2235
2236 while (menu_shell && !CTK_IS_MENU_BAR (menu_shell)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (
(menu_shell)); GType __t = ((ctk_menu_bar_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))
)
2237 {
2238 if (CTK_IS_MENU (menu_shell)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (
(menu_shell)); GType __t = ((ctk_menu_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))
&&
2239 (attach = ctk_menu_get_attach_widget (CTK_MENU (menu_shell)((((CtkMenu*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((menu_shell)), ((ctk_menu_get_type ()))))))
)) != NULL((void*)0))
2240 menu_shell = CTK_MENU_SHELL (ctk_widget_get_parent (attach))((((CtkMenuShell*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((ctk_widget_get_parent (attach))), ((ctk_menu_shell_get_type
()))))))
;
2241 else
2242 menu_shell = NULL((void*)0);
2243 }
2244
2245 return menu_shell ? CTK_WIDGET (menu_shell)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((menu_shell)), ((ctk_widget_get_type ()))))))
: NULL((void*)0);
2246}
2247
2248static void
2249test_menus (void)
2250{
2251 const gchar *buffer =
2252 "<interface>"
2253 " <object class=\"CtkWindow\" id=\"window1\">"
2254 " <accel-groups>"
2255 " <group name=\"accelgroup1\"/>"
2256 " </accel-groups>"
2257 " <child>"
2258 " <object class=\"CtkVBox\" id=\"vbox1\">"
2259 " <property name=\"visible\">True</property>"
2260 " <property name=\"orientation\">vertical</property>"
2261 " <child>"
2262 " <object class=\"CtkMenuBar\" id=\"menubar1\">"
2263 " <property name=\"visible\">True</property>"
2264 " <child>"
2265 " <object class=\"CtkMenuItem\" id=\"menuitem1\">"
2266 " <property name=\"visible\">True</property>"
2267 " <property name=\"label\" translatable=\"yes\">_File</property>"
2268 " <property name=\"use_underline\">True</property>"
2269 " <child type=\"submenu\">"
2270 " <object class=\"CtkMenu\" id=\"menu1\">"
2271 " <property name=\"visible\">True</property>"
2272 " <child>"
2273 " <object class=\"CtkImageMenuItem\" id=\"imagemenuitem1\">"
2274 " <property name=\"label\">ctk-new</property>"
2275 " <property name=\"visible\">True</property>"
2276 " <property name=\"use_stock\">True</property>"
2277 " <property name=\"accel_group\">accelgroup1</property>"
2278 " </object>"
2279 " </child>"
2280 " </object>"
2281 " </child>"
2282 " </object>"
2283 " </child>"
2284 " </object>"
2285 " </child>"
2286 " </object>"
2287 " </child>"
2288 " </object>"
2289 "<object class=\"CtkAccelGroup\" id=\"accelgroup1\"/>"
2290 "</interface>";
2291
2292 const gchar *buffer1 =
2293 "<interface>"
2294 " <object class=\"CtkWindow\" id=\"window1\">"
2295 " <accel-groups>"
2296 " <group name=\"accelgroup1\"/>"
2297 " </accel-groups>"
2298 " <child>"
2299 " <object class=\"CtkVBox\" id=\"vbox1\">"
2300 " <property name=\"visible\">True</property>"
2301 " <property name=\"orientation\">vertical</property>"
2302 " <child>"
2303 " <object class=\"CtkMenuBar\" id=\"menubar1\">"
2304 " <property name=\"visible\">True</property>"
2305 " <child>"
2306 " <object class=\"CtkImageMenuItem\" id=\"imagemenuitem1\">"
2307 " <property name=\"visible\">True</property>"
2308 " <child>"
2309 " <object class=\"CtkLabel\" id=\"custom1\">"
2310 " <property name=\"visible\">True</property>"
2311 " <property name=\"label\">a label</property>"
2312 " </object>"
2313 " </child>"
2314 " </object>"
2315 " </child>"
2316 " </object>"
2317 " </child>"
2318 " </object>"
2319 " </child>"
2320 " </object>"
2321 "<object class=\"CtkAccelGroup\" id=\"accelgroup1\"/>"
2322 "</interface>";
2323 CtkBuilder *builder;
2324 CtkWidget *child;
2325 CtkWidget *window, *item;
2326 CtkAccelGroup *accel_group;
2327 CtkWidget *item_accel_label, *sample_accel_label, *sample_menu_item, *custom;
2328
2329 /* Check that the item has the correct accel label string set
2330 */
2331 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
2332 window = (CtkWidget *)ctk_builder_get_object (builder, "window1");
2333 item = (CtkWidget *)ctk_builder_get_object (builder, "imagemenuitem1");
2334 accel_group = (CtkAccelGroup *)ctk_builder_get_object (builder, "accelgroup1");
2335
2336 ctk_widget_show_all (window);
2337
2338 sample_menu_item = ctk_image_menu_item_new_from_stock (CTK_STOCK_NEW((CtkStock)"ctk-new"), accel_group);
2339
2340 child = ctk_bin_get_child (CTK_BIN (sample_menu_item)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((sample_menu_item)), ((ctk_bin_get_type ()))))))
);
2341 g_assert (child)do { if (child) ; else g_assertion_message_expr (((gchar*) 0)
, "builder.c", 2341, ((const char*) (__func__)), "child"); } while
(0)
;
2342 g_assert (CTK_IS_ACCEL_LABEL (child))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((child)); GType __t = ((ctk_accel_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2342, (
(const char*) (__func__)), "CTK_IS_ACCEL_LABEL (child)"); } while
(0)
;
2343 sample_accel_label = child;
2344 ctk_widget_show (sample_accel_label);
2345
2346 child = ctk_bin_get_child (CTK_BIN (item)((((CtkBin*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((item)), ((ctk_bin_get_type ()))))))
);
2347 g_assert (child)do { if (child) ; else g_assertion_message_expr (((gchar*) 0)
, "builder.c", 2347, ((const char*) (__func__)), "child"); } while
(0)
;
2348 g_assert (CTK_IS_ACCEL_LABEL (child))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((child)); GType __t = ((ctk_accel_label_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2348, (
(const char*) (__func__)), "CTK_IS_ACCEL_LABEL (child)"); } while
(0)
;
2349 item_accel_label = child;
2350
2351 ctk_accel_label_refetch (CTK_ACCEL_LABEL (sample_accel_label)((((CtkAccelLabel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((sample_accel_label)), ((ctk_accel_label_get_type ())))))
)
);
2352 ctk_accel_label_refetch (CTK_ACCEL_LABEL (item_accel_label)((((CtkAccelLabel*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((item_accel_label)), ((ctk_accel_label_get_type ()))))))
);
2353
2354 g_assert (ctk_label_get_text (CTK_LABEL (sample_accel_label)) != NULL)do { if (ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((sample_accel_label)), ((ctk_label_get_type
()))))))) != ((void*)0)) ; else g_assertion_message_expr (((
gchar*) 0), "builder.c", 2354, ((const char*) (__func__)), "ctk_label_get_text (CTK_LABEL (sample_accel_label)) != NULL"
); } while (0)
;
2355 g_assert (ctk_label_get_text (CTK_LABEL (item_accel_label)) != NULL)do { if (ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((item_accel_label)), ((ctk_label_get_type
()))))))) != ((void*)0)) ; else g_assertion_message_expr (((
gchar*) 0), "builder.c", 2355, ((const char*) (__func__)), "ctk_label_get_text (CTK_LABEL (item_accel_label)) != NULL"
); } while (0)
;
2356 g_assert (strcmp (ctk_label_get_text (CTK_LABEL (item_accel_label)),do { if (strcmp (ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((item_accel_label)), ((ctk_label_get_type
()))))))), ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((sample_accel_label)), ((ctk_label_get_type
())))))))) == 0) ; else g_assertion_message_expr (((gchar*) 0
), "builder.c", 2357, ((const char*) (__func__)), "strcmp (ctk_label_get_text (CTK_LABEL (item_accel_label)), ctk_label_get_text (CTK_LABEL (sample_accel_label))) == 0"
); } while (0)
2357 ctk_label_get_text (CTK_LABEL (sample_accel_label))) == 0)do { if (strcmp (ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((item_accel_label)), ((ctk_label_get_type
()))))))), ctk_label_get_text (((((CtkLabel*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((sample_accel_label)), ((ctk_label_get_type
())))))))) == 0) ; else g_assertion_message_expr (((gchar*) 0
), "builder.c", 2357, ((const char*) (__func__)), "strcmp (ctk_label_get_text (CTK_LABEL (item_accel_label)), ctk_label_get_text (CTK_LABEL (sample_accel_label))) == 0"
); } while (0)
;
2358
2359 /* Check the menu hierarchy worked here */
2360 g_assert (get_parent_menubar (item))do { if (get_parent_menubar (item)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2360, ((const char*) (__func__))
, "get_parent_menubar (item)"); } while (0)
;
2361
2362 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
2363 ctk_widget_destroy (sample_menu_item);
2364 g_object_unref (builder);
2365
2366
2367 /* Check that we can add alien children to menu items via normal
2368 * CtkContainer apis.
2369 */
2370 builder = builder_new_from_string (buffer1, -1, NULL((void*)0));
2371 window = (CtkWidget *)ctk_builder_get_object (builder, "window1");
2372 item = (CtkWidget *)ctk_builder_get_object (builder, "imagemenuitem1");
2373 custom = (CtkWidget *)ctk_builder_get_object (builder, "custom1");
2374
2375 g_assert (ctk_widget_get_parent (custom) == item)do { if (ctk_widget_get_parent (custom) == item) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2375, ((const char*) (__func__))
, "ctk_widget_get_parent (custom) == item"); } while (0)
;
2376
2377 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
2378 g_object_unref (builder);
2379}
2380
2381static void
2382test_file (const gchar *filename)
2383{
2384 CtkBuilder *builder;
2385 GError *error = NULL((void*)0);
2386 GSList *l, *objects;
2387
2388 builder = ctk_builder_new ();
2389
2390 if (!ctk_builder_add_from_file (builder, filename, &error))
2391 {
2392 g_error ("%s", error->message);
2393 g_error_free (error);
2394 return;
2395 }
2396
2397 objects = ctk_builder_get_objects (builder);
2398 for (l = objects; l; l = l->next)
2399 {
2400 GObject *obj = (GObject*)l->data;
2401
2402 if (CTK_IS_DIALOG (obj)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (
(obj)); GType __t = ((ctk_dialog_get_type ())); gboolean __r;
if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))
)
2403 {
2404 g_print ("Running dialog %s.\n",
2405 ctk_widget_get_name (CTK_WIDGET (obj)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_widget_get_type ()))))))
));
2406 ctk_dialog_run (CTK_DIALOG (obj)((((CtkDialog*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_dialog_get_type ()))))))
);
2407 }
2408 else if (CTK_IS_WINDOW (obj)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (
(obj)); GType __t = ((ctk_window_get_type ())); gboolean __r;
if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))
)
2409 {
2410 g_signal_connect (obj, "destroy", G_CALLBACK (ctk_main_quit), NULL)g_signal_connect_data ((obj), ("destroy"), (((GCallback) (ctk_main_quit
))), (((void*)0)), ((void*)0), (GConnectFlags) 0)
;
2411 g_print ("Showing %s.\n",
2412 ctk_widget_get_name (CTK_WIDGET (obj)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_widget_get_type ()))))))
));
2413 ctk_widget_show_all (CTK_WIDGET (obj)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_widget_get_type ()))))))
);
2414 }
2415 }
2416
2417 ctk_main ();
2418
2419 g_object_unref (builder);
2420}
2421
2422static void
2423test_message_area (void)
2424{
2425 CtkBuilder *builder;
2426 GObject *obj, *obj1;
2427 const gchar buffer[] =
2428 "<interface>"
2429 " <object class=\"CtkInfoBar\" id=\"infobar1\">"
2430 " <child internal-child=\"content_area\">"
2431 " <object class=\"CtkHBox\" id=\"contentarea1\">"
2432 " <child>"
2433 " <object class=\"CtkLabel\" id=\"content\">"
2434 " <property name=\"label\" translatable=\"yes\">Message</property>"
2435 " </object>"
2436 " <packing>"
2437 " <property name='expand'>False</property>"
2438 " </packing>"
2439 " </child>"
2440 " </object>"
2441 " </child>"
2442 " <child internal-child=\"action_area\">"
2443 " <object class=\"CtkVButtonBox\" id=\"actionarea1\">"
2444 " <child>"
2445 " <object class=\"CtkButton\" id=\"button_ok\">"
2446 " <property name=\"label\">ctk-ok</property>"
2447 " <property name=\"use-stock\">yes</property>"
2448 " </object>"
2449 " </child>"
2450 " </object>"
2451 " </child>"
2452 " <action-widgets>"
2453 " <action-widget response=\"1\">button_ok</action-widget>"
2454 " </action-widgets>"
2455 " </object>"
2456 "</interface>";
2457
2458 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
2459 obj = ctk_builder_get_object (builder, "infobar1");
2460 g_assert (CTK_IS_INFO_BAR (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_info_bar_get_type())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2460, (
(const char*) (__func__)), "CTK_IS_INFO_BAR (obj)"); } while (
0)
;
2461 obj1 = ctk_builder_get_object (builder, "content");
2462 g_assert (CTK_IS_LABEL (obj1))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj1)); GType __t = ((ctk_label_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2462, (
(const char*) (__func__)), "CTK_IS_LABEL (obj1)"); } while (0
)
;
2463
2464 obj1 = ctk_builder_get_object (builder, "button_ok");
2465 g_assert (CTK_IS_BUTTON (obj1))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj1)); GType __t = ((ctk_button_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2465, (
(const char*) (__func__)), "CTK_IS_BUTTON (obj1)"); } while (
0)
;
2466
2467 g_object_unref (builder);
2468}
2469
2470static void
2471test_gmenu (void)
2472{
2473 CtkBuilder *builder;
2474 GObject *obj, *obj1;
2475 const gchar buffer[] =
2476 "<interface>"
2477 " <object class=\"CtkWindow\" id=\"window\">"
2478 " </object>"
2479 " <menu id='edit-menu'>"
2480 " <section>"
2481 " <item>"
2482 " <attribute name='label'>Undo</attribute>"
2483 " <attribute name='action'>undo</attribute>"
2484 " </item>"
2485 " <item>"
2486 " <attribute name='label'>Redo</attribute>"
2487 " <attribute name='action'>redo</attribute>"
2488 " </item>"
2489 " </section>"
2490 " <section></section>"
2491 " <section>"
2492 " <attribute name='label'>Copy &amp; Paste</attribute>"
2493 " <item>"
2494 " <attribute name='label'>Cut</attribute>"
2495 " <attribute name='action'>cut</attribute>"
2496 " </item>"
2497 " <item>"
2498 " <attribute name='label'>Copy</attribute>"
2499 " <attribute name='action'>copy</attribute>"
2500 " </item>"
2501 " <item>"
2502 " <attribute name='label'>Paste</attribute>"
2503 " <attribute name='action'>paste</attribute>"
2504 " </item>"
2505 " </section>"
2506 " <item><link name='section' id='blargh'>"
2507 " <item>"
2508 " <attribute name='label'>Bold</attribute>"
2509 " <attribute name='action'>bold</attribute>"
2510 " </item>"
2511 " <submenu>"
2512 " <attribute name='label'>Language</attribute>"
2513 " <item>"
2514 " <attribute name='label'>Latin</attribute>"
2515 " <attribute name='action'>lang</attribute>"
2516 " <attribute name='target'>'latin'</attribute>"
2517 " </item>"
2518 " <item>"
2519 " <attribute name='label'>Greek</attribute>"
2520 " <attribute name='action'>lang</attribute>"
2521 " <attribute name='target'>'greek'</attribute>"
2522 " </item>"
2523 " <item>"
2524 " <attribute name='label'>Urdu</attribute>"
2525 " <attribute name='action'>lang</attribute>"
2526 " <attribute name='target'>'urdu'</attribute>"
2527 " </item>"
2528 " </submenu>"
2529 " </link></item>"
2530 " </menu>"
2531 "</interface>";
2532
2533 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
2534 obj = ctk_builder_get_object (builder, "window");
2535 g_assert (CTK_IS_WINDOW (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_window_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2535, (
(const char*) (__func__)), "CTK_IS_WINDOW (obj)"); } while (0
)
;
2536 obj1 = ctk_builder_get_object (builder, "edit-menu");
2537 g_assert (G_IS_MENU_MODEL (obj1))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj1)); GType __t = ((g_menu_model_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2537, (
(const char*) (__func__)), "G_IS_MENU_MODEL (obj1)"); } while
(0)
;
2538 obj1 = ctk_builder_get_object (builder, "blargh");
2539 g_assert (G_IS_MENU_MODEL (obj1))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj1)); GType __t = ((g_menu_model_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2539, (
(const char*) (__func__)), "G_IS_MENU_MODEL (obj1)"); } while
(0)
;
2540 g_object_unref (builder);
2541}
2542
2543static void
2544test_level_bar (void)
2545{
2546 CtkBuilder *builder;
2547 GError *error = NULL((void*)0);
2548 GObject *obj, *obj1;
2549 const gchar buffer1[] =
2550 "<interface>"
2551 " <object class=\"CtkWindow\" id=\"window\">"
2552 " <child>"
2553 " <object class=\"CtkLevelBar\" id=\"levelbar\">"
2554 " <property name=\"value\">4.70</property>"
2555 " <property name=\"min-value\">2</property>"
2556 " <property name=\"max-value\">5</property>"
2557 " <offsets>"
2558 " <offset name=\"low\" value=\"2.25\"/>"
2559 " <offset name=\"custom\" value=\"3\"/>"
2560 " <offset name=\"high\" value=\"3\"/>"
2561 " </offsets>"
2562 " </object>"
2563 " </child>"
2564 " </object>"
2565 "</interface>";
2566 const gchar buffer2[] =
2567 "<interface>"
2568 " <object class=\"CtkLevelBar\" id=\"levelbar\">"
2569 " <offsets>"
2570 " <offset name=\"low\" bogus_attr=\"foo\"/>"
2571 " </offsets>"
2572 " </object>"
2573 "</interface>";
2574 const gchar buffer3[] =
2575 "<interface>"
2576 " <object class=\"CtkLevelBar\" id=\"levelbar\">"
2577 " <offsets>"
2578 " <offset name=\"low\" value=\"1\"/>"
2579 " </offsets>"
2580 " <bogus_tag>"
2581 " </bogus_tag>"
2582 " </object>"
2583 "</interface>";
2584
2585 builder = ctk_builder_new ();
2586 ctk_builder_add_from_string (builder, buffer1, -1, &error);
2587 g_assert (error == NULL)do { if (error == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2587, ((const char*) (__func__))
, "error == NULL"); } while (0)
;
2588
2589 obj = ctk_builder_get_object (builder, "window");
2590 g_assert (CTK_IS_WINDOW (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_window_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2590, (
(const char*) (__func__)), "CTK_IS_WINDOW (obj)"); } while (0
)
;
2591 obj1 = ctk_builder_get_object (builder, "levelbar");
2592 g_assert (CTK_IS_LEVEL_BAR (obj1))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj1)); GType __t = ((ctk_level_bar_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2592, (
(const char*) (__func__)), "CTK_IS_LEVEL_BAR (obj1)"); } while
(0)
;
2593 g_object_unref (builder);
2594
2595 error = NULL((void*)0);
2596 builder = ctk_builder_new ();
2597 ctk_builder_add_from_string (builder, buffer2, -1, &error);
2598 g_assert_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_MISSING_ATTRIBUTE)do { if (!error || (error)->domain != g_markup_error_quark
() || (error)->code != G_MARKUP_ERROR_MISSING_ATTRIBUTE) g_assertion_message_error
(((gchar*) 0), "builder.c", 2598, ((const char*) (__func__))
, "error", error, g_markup_error_quark (), G_MARKUP_ERROR_MISSING_ATTRIBUTE
); } while (0)
;
2599 g_error_free (error);
2600 g_object_unref (builder);
2601
2602 error = NULL((void*)0);
2603 builder = ctk_builder_new ();
2604 ctk_builder_add_from_string (builder, buffer3, -1, &error);
2605 g_assert_error (error, CTK_BUILDER_ERROR, CTK_BUILDER_ERROR_UNHANDLED_TAG)do { if (!error || (error)->domain != (ctk_builder_error_quark
()) || (error)->code != CTK_BUILDER_ERROR_UNHANDLED_TAG) g_assertion_message_error
(((gchar*) 0), "builder.c", 2605, ((const char*) (__func__))
, "error", error, (ctk_builder_error_quark ()), CTK_BUILDER_ERROR_UNHANDLED_TAG
); } while (0)
;
2606 g_error_free (error);
2607 g_object_unref (builder);
2608}
2609
2610static GObject *external_object = NULL((void*)0), *external_object_swapped = NULL((void*)0);
2611
2612G_MODULE_EXPORT__attribute__((visibility("default"))) void
2613on_button_clicked (CtkButton *button, GObject *data)
2614{
2615 external_object = data;
2616}
2617
2618G_MODULE_EXPORT__attribute__((visibility("default"))) void
2619on_button_clicked_swapped (GObject *data, CtkButton *button)
2620{
2621 external_object_swapped = data;
2622}
2623
2624static void
2625test_expose_object (void)
2626{
2627 CtkBuilder *builder;
2628 GError *error = NULL((void*)0);
2629 CtkWidget *image;
2630 GObject *obj;
2631 const gchar buffer[] =
2632 "<interface>"
2633 " <object class=\"CtkButton\" id=\"button\">"
2634 " <property name=\"image\">external_image</property>"
2635 " <signal name=\"clicked\" handler=\"on_button_clicked\" object=\"builder\" swapped=\"no\"/>"
2636 " <signal name=\"clicked\" handler=\"on_button_clicked_swapped\" object=\"builder\"/>"
2637 " </object>"
2638 "</interface>";
2639
2640 image = ctk_image_new ();
2641 builder = ctk_builder_new ();
2642 ctk_builder_expose_object (builder, "external_image", G_OBJECT (image)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((image)), (((GType) ((20) << (2))))))))
);
2643 ctk_builder_expose_object (builder, "builder", G_OBJECT (builder)((((GObject*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((builder)), (((GType) ((20) << (2))))))))
);
2644 ctk_builder_add_from_string (builder, buffer, -1, &error);
2645 g_assert (error == NULL)do { if (error == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2645, ((const char*) (__func__))
, "error == NULL"); } while (0)
;
2646
2647 obj = ctk_builder_get_object (builder, "button");
2648 g_assert (CTK_IS_BUTTON (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_button_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2648, (
(const char*) (__func__)), "CTK_IS_BUTTON (obj)"); } while (0
)
;
2649
2650 g_assert (ctk_button_get_image (CTK_BUTTON (obj)) == image)do { if (ctk_button_get_image (((((CtkButton*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((obj)), ((ctk_button_get_type ()))))))) ==
image) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2650, ((const char*) (__func__)), "ctk_button_get_image (CTK_BUTTON (obj)) == image"
); } while (0)
;
2651
2652 /* Connect signals and fake clicked event */
2653 ctk_builder_connect_signals (builder, NULL((void*)0));
2654 ctk_button_clicked (CTK_BUTTON (obj)((((CtkButton*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_button_get_type ()))))))
);
2655
2656 g_assert (external_object == G_OBJECT (builder))do { if (external_object == ((((GObject*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((builder)), (((GType) ((20) << (2))
))))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2656, ((const char*) (__func__)), "external_object == G_OBJECT (builder)"
); } while (0)
;
2657 g_assert (external_object_swapped == G_OBJECT (builder))do { if (external_object_swapped == ((((GObject*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((builder)), (((GType) ((20) << (2))
))))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2657, ((const char*) (__func__)), "external_object_swapped == G_OBJECT (builder)"
); } while (0)
;
2658
2659 g_object_unref (builder);
2660 g_object_unref (image);
2661}
2662
2663static void
2664test_no_ids (void)
2665{
2666 CtkBuilder *builder;
2667 GError *error = NULL((void*)0);
2668 GObject *obj;
2669 const gchar buffer[] =
2670 "<interface>"
2671 " <object class=\"CtkInfoBar\">"
2672 " <child internal-child=\"content_area\">"
2673 " <object class=\"CtkHBox\">"
2674 " <child>"
2675 " <object class=\"CtkLabel\">"
2676 " <property name=\"label\" translatable=\"yes\">Message</property>"
2677 " </object>"
2678 " <packing>"
2679 " <property name='expand'>False</property>"
2680 " </packing>"
2681 " </child>"
2682 " </object>"
2683 " </child>"
2684 " <child internal-child=\"action_area\">"
2685 " <object class=\"CtkVButtonBox\">"
2686 " <child>"
2687 " <object class=\"CtkButton\" id=\"button_ok\">"
2688 " <property name=\"label\">ctk-ok</property>"
2689 " <property name=\"use-stock\">yes</property>"
2690 " </object>"
2691 " </child>"
2692 " </object>"
2693 " </child>"
2694 " <action-widgets>"
2695 " <action-widget response=\"1\">button_ok</action-widget>"
2696 " </action-widgets>"
2697 " </object>"
2698 "</interface>";
2699
2700 builder = ctk_builder_new ();
2701 ctk_builder_add_from_string (builder, buffer, -1, &error);
2702 g_assert (error == NULL)do { if (error == ((void*)0)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2702, ((const char*) (__func__))
, "error == NULL"); } while (0)
;
2703
2704 obj = ctk_builder_get_object (builder, "button_ok");
2705 g_assert (CTK_IS_BUTTON (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_button_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2705, (
(const char*) (__func__)), "CTK_IS_BUTTON (obj)"); } while (0
)
;
2706
2707 g_object_unref (builder);
2708}
2709
2710static void
2711test_property_bindings (void)
2712{
2713 const gchar *buffer =
2714 "<interface>"
2715 " <object class=\"CtkWindow\" id=\"window\">"
2716 " <child>"
2717 " <object class=\"CtkVBox\" id=\"vbox\">"
2718 " <property name=\"visible\">True</property>"
2719 " <property name=\"orientation\">vertical</property>"
2720 " <child>"
2721 " <object class=\"CtkCheckButton\" id=\"checkbutton\">"
2722 " <property name=\"active\">false</property>"
2723 " </object>"
2724 " </child>"
2725 " <child>"
2726 " <object class=\"CtkButton\" id=\"button\">"
2727 " <property name=\"sensitive\" bind-source=\"checkbutton\" bind-property=\"active\" bind-flags=\"sync-create\">false</property>"
2728 " </object>"
2729 " </child>"
2730 " <child>"
2731 " <object class=\"CtkButton\" id=\"button2\">"
2732 " <property name=\"sensitive\" bind-source=\"checkbutton\" bind-property=\"active\" />"
2733 " </object>"
2734 " </child>"
2735 " </object>"
2736 " </child>"
2737 " </object>"
2738 "</interface>";
2739
2740 CtkBuilder *builder;
2741 GObject *checkbutton, *button, *button2, *window;
2742
2743 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
2744
2745 checkbutton = ctk_builder_get_object (builder, "checkbutton");
2746 g_assert (CTK_IS_CHECK_BUTTON (checkbutton))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((checkbutton)); GType __t = ((ctk_check_button_get_type (
))); gboolean __r; if (!__inst) __r = (0); else if (__inst->
g_class && __inst->g_class->g_type == __t) __r =
(!(0)); else __r = g_type_check_instance_is_a (__inst, __t);
__r; }))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2746, ((const char*) (__func__)), "CTK_IS_CHECK_BUTTON (checkbutton)"
); } while (0)
;
2747 g_assert (!ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (checkbutton)))do { if (!ctk_toggle_button_get_active (((((CtkToggleButton*)
(void *) g_type_check_instance_cast ((GTypeInstance*) ((checkbutton
)), ((ctk_toggle_button_get_type ())))))))) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2747, ((const char*) (__func__))
, "!ctk_toggle_button_get_active (CTK_TOGGLE_BUTTON (checkbutton))"
); } while (0)
;
2748
2749 button = ctk_builder_get_object (builder, "button");
2750 g_assert (CTK_IS_BUTTON (button))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((button)); GType __t = ((ctk_button_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2750, (
(const char*) (__func__)), "CTK_IS_BUTTON (button)"); } while
(0)
;
2751 g_assert (!ctk_widget_get_sensitive (CTK_WIDGET (button)))do { if (!ctk_widget_get_sensitive (((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((button)), ((ctk_widget_get_type ()))))))
)) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2751, ((const char*) (__func__)), "!ctk_widget_get_sensitive (CTK_WIDGET (button))"
); } while (0)
;
2752
2753 button2 = ctk_builder_get_object (builder, "button2");
2754 g_assert (CTK_IS_BUTTON (button2))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((button2)); GType __t = ((ctk_button_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2754, (
(const char*) (__func__)), "CTK_IS_BUTTON (button2)"); } while
(0)
;
2755 g_assert (ctk_widget_get_sensitive (CTK_WIDGET (button2)))do { if (ctk_widget_get_sensitive (((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((button2)), ((ctk_widget_get_type ())))))
))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2755, ((const char*) (__func__)), "ctk_widget_get_sensitive (CTK_WIDGET (button2))"
); } while (0)
;
2756
2757 ctk_toggle_button_set_active (CTK_TOGGLE_BUTTON (checkbutton)((((CtkToggleButton*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((checkbutton)), ((ctk_toggle_button_get_type ()))))))
, TRUE(!(0)));
2758 g_assert (ctk_widget_get_sensitive (CTK_WIDGET (button)))do { if (ctk_widget_get_sensitive (((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((button)), ((ctk_widget_get_type ()))))))
)) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2758, ((const char*) (__func__)), "ctk_widget_get_sensitive (CTK_WIDGET (button))"
); } while (0)
;
2759 g_assert (ctk_widget_get_sensitive (CTK_WIDGET (button2)))do { if (ctk_widget_get_sensitive (((((CtkWidget*) (void *) g_type_check_instance_cast
((GTypeInstance*) ((button2)), ((ctk_widget_get_type ())))))
))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2759, ((const char*) (__func__)), "ctk_widget_get_sensitive (CTK_WIDGET (button2))"
); } while (0)
;
2760
2761 window = ctk_builder_get_object (builder, "window");
2762 ctk_widget_destroy (CTK_WIDGET (window)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((window)), ((ctk_widget_get_type ()))))))
);
2763 g_object_unref (builder);
2764}
2765
2766#define MY_CTK_GRID_TEMPLATE"<interface>\n <template class=\"MyCtkGrid\" parent=\"CtkGrid\">\n <property name=\"visible\">True</property>\n <child>\n <object class=\"CtkLabel\" id=\"label\">\n <property name=\"visible\">True</property>\n </object>\n </child>\n </template>\n</interface>\n" "\
2767<interface>\n\
2768 <template class=\"MyCtkGrid\" parent=\"CtkGrid\">\n\
2769 <property name=\"visible\">True</property>\n\
2770 <child>\n\
2771 <object class=\"CtkLabel\" id=\"label\">\n\
2772 <property name=\"visible\">True</property>\n\
2773 </object>\n\
2774 </child>\n\
2775 </template>\n\
2776</interface>\n"
2777
2778#define MY_TYPE_CTK_GRID(my_ctk_grid_get_type ()) (my_ctk_grid_get_type ())
2779#define MY_IS_CTK_GRID(obj)(((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (
(obj)); GType __t = ((my_ctk_grid_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), MY_TYPE_CTK_GRID)((__extension__ ({ GTypeInstance *__inst = (GTypeInstance*) (
(obj)); GType __t = ((my_ctk_grid_get_type ())); gboolean __r
; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; })))
)
2780
2781typedef struct
2782{
2783 CtkGridClass parent_class;
2784} MyCtkGridClass;
2785
2786typedef struct
2787{
2788 CtkLabel *label;
2789} MyCtkGridPrivate;
2790
2791typedef struct
2792{
2793 CtkGrid parent_instance;
2794 CtkLabel *label;
2795 MyCtkGridPrivate *priv;
2796} MyCtkGrid;
2797
2798G_DEFINE_TYPE_WITH_PRIVATE (MyCtkGrid, my_ctk_grid, CTK_TYPE_GRID)static void my_ctk_grid_init (MyCtkGrid *self); static void my_ctk_grid_class_init
(MyCtkGridClass *klass); static GType my_ctk_grid_get_type_once
(void); static gpointer my_ctk_grid_parent_class = ((void*)0
); static gint MyCtkGrid_private_offset; static void my_ctk_grid_class_intern_init
(gpointer klass) { my_ctk_grid_parent_class = g_type_class_peek_parent
(klass); if (MyCtkGrid_private_offset != 0) g_type_class_adjust_private_offset
(klass, &MyCtkGrid_private_offset); my_ctk_grid_class_init
((MyCtkGridClass*) klass); } __attribute__ ((__unused__)) static
inline gpointer my_ctk_grid_get_instance_private (MyCtkGrid *
self) { return (((gpointer) ((guint8*) (self) + (glong) (MyCtkGrid_private_offset
)))); } GType my_ctk_grid_get_type (void) { static GType static_g_define_type_id
= 0; if ((__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id
) == sizeof (gpointer), "Expression evaluates to false"); (void
) (0 ? (gpointer) * (&static_g_define_type_id) : ((void*)
0)); (!(__extension__ ({ _Static_assert (sizeof *(&static_g_define_type_id
) == sizeof (gpointer), "Expression evaluates to false"); __typeof__
(*(&static_g_define_type_id)) gapg_temp_newval; __typeof__
((&static_g_define_type_id)) gapg_temp_atomic = (&static_g_define_type_id
); __atomic_load (gapg_temp_atomic, &gapg_temp_newval, 5)
; gapg_temp_newval; })) && g_once_init_enter_pointer (
&static_g_define_type_id)); })) ) { GType g_define_type_id
= my_ctk_grid_get_type_once (); (__extension__ ({ _Static_assert
(sizeof *(&static_g_define_type_id) == sizeof (gpointer)
, "Expression evaluates to false"); 0 ? (void) (*(&static_g_define_type_id
) = (g_define_type_id)) : (void) 0; g_once_init_leave_pointer
((&static_g_define_type_id), (gpointer) (guintptr) (g_define_type_id
)); })) ; } return static_g_define_type_id; } __attribute__ (
(__noinline__)) static GType my_ctk_grid_get_type_once (void)
{ GType g_define_type_id = g_type_register_static_simple ((ctk_grid_get_type
()), g_intern_static_string ("MyCtkGrid"), sizeof (MyCtkGridClass
), (GClassInitFunc)(void (*)(void)) my_ctk_grid_class_intern_init
, sizeof (MyCtkGrid), (GInstanceInitFunc)(void (*)(void)) my_ctk_grid_init
, (GTypeFlags) 0); { {{ MyCtkGrid_private_offset = g_type_add_instance_private
(g_define_type_id, sizeof (MyCtkGridPrivate)); };} } return g_define_type_id
; }
;
2799
2800static void
2801my_ctk_grid_init (MyCtkGrid *grid)
2802{
2803 grid->priv = my_ctk_grid_get_instance_private (grid);
2804 ctk_widget_init_template (CTK_WIDGET (grid)((((CtkWidget*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((grid)), ((ctk_widget_get_type ()))))))
);
2805}
2806
2807static void
2808my_ctk_grid_class_init (MyCtkGridClass *klass)
2809{
2810 GBytes *template = g_bytes_new_static (MY_CTK_GRID_TEMPLATE"<interface>\n <template class=\"MyCtkGrid\" parent=\"CtkGrid\">\n <property name=\"visible\">True</property>\n <child>\n <object class=\"CtkLabel\" id=\"label\">\n <property name=\"visible\">True</property>\n </object>\n </child>\n </template>\n</interface>\n", strlen (MY_CTK_GRID_TEMPLATE"<interface>\n <template class=\"MyCtkGrid\" parent=\"CtkGrid\">\n <property name=\"visible\">True</property>\n <child>\n <object class=\"CtkLabel\" id=\"label\">\n <property name=\"visible\">True</property>\n </object>\n </child>\n </template>\n</interface>\n"));
2811 CtkWidgetClass *widget_class = CTK_WIDGET_CLASS (klass)((((CtkWidgetClass*) (void *) g_type_check_class_cast ((GTypeClass
*) ((klass)), ((ctk_widget_get_type ()))))))
;
2812
2813 ctk_widget_class_set_template (widget_class, template);
2814 ctk_widget_class_bind_template_child (widget_class, MyCtkGrid, label)ctk_widget_class_bind_template_child_full (widget_class, "label"
, (0), ((glong) __builtin_offsetof(MyCtkGrid, label)))
;
2815 ctk_widget_class_bind_template_child_private (widget_class, MyCtkGrid, label)ctk_widget_class_bind_template_child_full (widget_class, "label"
, (0), (MyCtkGrid_private_offset + (((glong) __builtin_offsetof
(MyCtkGridPrivate, label)))))
;
2816}
2817
2818static void
2819test_template ()
2820{
2821 MyCtkGrid *my_ctk_grid;
2822
2823 /* make sure the type we are trying to register does not exist */
2824 g_assert (!g_type_from_name ("MyCtkGrid"))do { if (!g_type_from_name ("MyCtkGrid")) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2824, ((const char*) (__func__))
, "!g_type_from_name (\"MyCtkGrid\")"); } while (0)
;
2825
2826 /* create the template object */
2827 my_ctk_grid = g_object_new (MY_TYPE_CTK_GRID(my_ctk_grid_get_type ()), NULL((void*)0));
2828
2829 /* Check everything is fine */
2830 g_assert (g_type_from_name ("MyCtkGrid"))do { if (g_type_from_name ("MyCtkGrid")) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2830, ((const char*) (__func__))
, "g_type_from_name (\"MyCtkGrid\")"); } while (0)
;
2831 g_assert (MY_IS_CTK_GRID (my_ctk_grid))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((my_ctk_grid)); GType __t = ((my_ctk_grid_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2831, (
(const char*) (__func__)), "MY_IS_CTK_GRID (my_ctk_grid)"); }
while (0)
;
2832 g_assert (my_ctk_grid->label == my_ctk_grid->priv->label)do { if (my_ctk_grid->label == my_ctk_grid->priv->label
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
2832, ((const char*) (__func__)), "my_ctk_grid->label == my_ctk_grid->priv->label"
); } while (0)
;
2833 g_assert (CTK_IS_LABEL (my_ctk_grid->label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((my_ctk_grid->label)); GType __t = ((ctk_label_get_type
())); gboolean __r; if (!__inst) __r = (0); else if (__inst->
g_class && __inst->g_class->g_type == __t) __r =
(!(0)); else __r = g_type_check_instance_is_a (__inst, __t);
__r; }))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2833, ((const char*) (__func__)), "CTK_IS_LABEL (my_ctk_grid->label)"
); } while (0)
;
2834 g_assert (CTK_IS_LABEL (my_ctk_grid->priv->label))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((my_ctk_grid->priv->label)); GType __t = ((ctk_label_get_type
())); gboolean __r; if (!__inst) __r = (0); else if (__inst->
g_class && __inst->g_class->g_type == __t) __r =
(!(0)); else __r = g_type_check_instance_is_a (__inst, __t);
__r; }))))) ; else g_assertion_message_expr (((gchar*) 0), "builder.c"
, 2834, ((const char*) (__func__)), "CTK_IS_LABEL (my_ctk_grid->priv->label)"
); } while (0)
;
2835}
2836
2837G_MODULE_EXPORT__attribute__((visibility("default"))) void
2838on_cellrenderertoggle1_toggled (CtkCellRendererToggle *cell)
2839{
2840}
2841
2842static void
2843test_anaconda_signal (void)
2844{
2845 CtkBuilder *builder;
2846 const gchar buffer[] =
2847 "<?xml version='1.0' encoding='UTF-8'?>"
2848 "<!-- Generated with glade 3.18.3 -->"
2849 "<interface>"
2850 " <requires lib='ctk+' version='3.12'/>"
2851 " <object class='CtkListStore' id='liststore1'>"
2852 " <columns>"
2853 " <!-- column-name use -->"
2854 " <column type='gboolean'/>"
2855 " </columns>"
2856 " </object>"
2857 " <object class='CtkWindow' id='window1'>"
2858 " <property name='can_focus'>False</property>"
2859 " <child>"
2860 " <object class='CtkTreeView' id='treeview1'>"
2861 " <property name='visible'>True</property>"
2862 " <property name='can_focus'>True</property>"
2863 " <property name='model'>liststore1</property>"
2864 " <child internal-child='selection'>"
2865 " <object class='CtkTreeSelection' id='treeview-selection1'/>"
2866 " </child>"
2867 " <child>"
2868 " <object class='CtkTreeViewColumn' id='treeviewcolumn1'>"
2869 " <property name='title' translatable='yes'>column</property>"
2870 " <child>"
2871 " <object class='CtkCellRendererToggle' id='cellrenderertoggle1'>"
2872 " <signal name='toggled' handler='on_cellrenderertoggle1_toggled' swapped='no'/>"
2873 " </object>"
2874 " <attributes>"
2875 " <attribute name='active'>0</attribute>"
2876 " </attributes>"
2877 " </child>"
2878 " </object>"
2879 " </child>"
2880 " </object>"
2881 " </child>"
2882 " </object>"
2883 "</interface>";
2884
2885 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
2886 ctk_builder_connect_signals (builder, NULL((void*)0));
2887
2888 g_object_unref (builder);
2889}
2890
2891static void
2892test_file_filter (void)
2893{
2894 CtkBuilder *builder;
2895 GObject *obj;
2896 CtkFileFilter *filter;
2897 CtkFileFilterInfo info;
2898
2899 const gchar buffer[] =
2900 "<interface>"
2901 " <object class='CtkFileFilter' id='filter1'>"
2902 " <mime-types>"
2903 " <mime-type>text/plain</mime-type>"
2904 " <mime-type>image/*</mime-type>"
2905 " </mime-types>"
2906 " <patterns>"
2907 " <pattern>*.txt</pattern>"
2908 " <pattern>*.png</pattern>"
2909 " </patterns>"
2910 " </object>"
2911 "</interface>";
2912
2913 builder = builder_new_from_string (buffer, -1, NULL((void*)0));
2914 obj = ctk_builder_get_object (builder, "filter1");
2915 g_assert (CTK_IS_FILE_FILTER (obj))do { if ((((__extension__ ({ GTypeInstance *__inst = (GTypeInstance
*) ((obj)); GType __t = ((ctk_file_filter_get_type ())); gboolean
__r; if (!__inst) __r = (0); else if (__inst->g_class &&
__inst->g_class->g_type == __t) __r = (!(0)); else __r
= g_type_check_instance_is_a (__inst, __t); __r; }))))) ; else
g_assertion_message_expr (((gchar*) 0), "builder.c", 2915, (
(const char*) (__func__)), "CTK_IS_FILE_FILTER (obj)"); } while
(0)
;
2916 filter = CTK_FILE_FILTER (obj)((((CtkFileFilter*) (void *) g_type_check_instance_cast ((GTypeInstance
*) ((obj)), ((ctk_file_filter_get_type ()))))))
;
2917 g_assert_cmpstr (ctk_file_filter_get_name (filter), ==, "filter1")do { const char *__s1 = (ctk_file_filter_get_name (filter)), *
__s2 = ("filter1"); if (g_strcmp0 (__s1, __s2) == 0) ; else g_assertion_message_cmpstr
(((gchar*) 0), "builder.c", 2917, ((const char*) (__func__))
, "ctk_file_filter_get_name (filter)" " " "==" " " "\"filter1\""
, __s1, "==", __s2); } while (0)
;
2918 g_assert (ctk_file_filter_get_needed (filter) & CTK_FILE_FILTER_MIME_TYPE)do { if (ctk_file_filter_get_needed (filter) & CTK_FILE_FILTER_MIME_TYPE
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
2918, ((const char*) (__func__)), "ctk_file_filter_get_needed (filter) & CTK_FILE_FILTER_MIME_TYPE"
); } while (0)
;
2919 g_assert (ctk_file_filter_get_needed (filter) & CTK_FILE_FILTER_DISPLAY_NAME)do { if (ctk_file_filter_get_needed (filter) & CTK_FILE_FILTER_DISPLAY_NAME
) ; else g_assertion_message_expr (((gchar*) 0), "builder.c",
2919, ((const char*) (__func__)), "ctk_file_filter_get_needed (filter) & CTK_FILE_FILTER_DISPLAY_NAME"
); } while (0)
;
2920
2921 info.filename = "test1.txt";
2922 info.display_name = "test1.txt";
2923 info.contains = CTK_FILE_FILTER_FILENAME | CTK_FILE_FILTER_DISPLAY_NAME;
2924 g_assert (ctk_file_filter_filter (filter, &info))do { if (ctk_file_filter_filter (filter, &info)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2924, ((const char*) (__func__))
, "ctk_file_filter_filter (filter, &info)"); } while (0)
;
2925
2926 info.mime_type = "application/x-pdf";
2927 info.contains = CTK_FILE_FILTER_MIME_TYPE;
2928 g_assert (!ctk_file_filter_filter (filter, &info))do { if (!ctk_file_filter_filter (filter, &info)) ; else g_assertion_message_expr
(((gchar*) 0), "builder.c", 2928, ((const char*) (__func__))
, "!ctk_file_filter_filter (filter, &info)"); } while (0)
;
2929
2930 g_object_unref (builder);
2931}
2932
2933int
2934main (int argc, char **argv)
2935{
2936 /* initialize test program */
2937 ctk_test_init (&argc, &argv);
2938
2939 if (argc > 1)
2940 {
2941 test_file (argv[1]);
2942 return 0;
2943 }
2944
2945 g_test_add_func ("/Builder/Parser", test_parser);
2946 g_test_add_func ("/Builder/Types", test_types);
2947 g_test_add_func ("/Builder/Construct-Only Properties", test_construct_only_property);
2948 g_test_add_func ("/Builder/Children", test_children);
2949 g_test_add_func ("/Builder/Child Properties", test_child_properties);
2950 g_test_add_func ("/Builder/Object Properties", test_object_properties);
2951 g_test_add_func ("/Builder/Notebook", test_notebook);
2952 g_test_add_func ("/Builder/Domain", test_domain);
2953 g_test_add_func ("/Builder/Signal Autoconnect", test_connect_signals);
2954 g_test_add_func ("/Builder/UIManager Simple", test_uimanager_simple);
2955 g_test_add_func ("/Builder/Spin Button", test_spin_button);
2956 g_test_add_func ("/Builder/SizeGroup", test_sizegroup);
2957 g_test_add_func ("/Builder/ListStore", test_list_store);
2958 g_test_add_func ("/Builder/TreeStore", test_tree_store);
2959 g_test_add_func ("/Builder/TreeView Column", test_treeview_column);
2960 g_test_add_func ("/Builder/IconView", test_icon_view);
2961 g_test_add_func ("/Builder/ComboBox", test_combo_box);
2962#if 0
2963 g_test_add_func ("/Builder/ComboBox Entry", test_combo_box_entry);
2964#endif
2965 g_test_add_func ("/Builder/CellView", test_cell_view);
2966 g_test_add_func ("/Builder/Dialog", test_dialog);
2967 g_test_add_func ("/Builder/Accelerators", test_accelerators);
2968 g_test_add_func ("/Builder/Widget", test_widget);
2969 g_test_add_func ("/Builder/Value From String", test_value_from_string);
2970 g_test_add_func ("/Builder/Reference Counting", test_reference_counting);
2971 g_test_add_func ("/Builder/Window", test_window);
2972 g_test_add_func ("/Builder/IconFactory", test_icon_factory);
2973 g_test_add_func ("/Builder/PangoAttributes", test_pango_attributes);
2974 g_test_add_func ("/Builder/Requires", test_requires);
2975 g_test_add_func ("/Builder/AddObjects", test_add_objects);
2976 g_test_add_func ("/Builder/Menus", test_menus);
2977 g_test_add_func ("/Builder/MessageArea", test_message_area);
2978 g_test_add_func ("/Builder/MessageDialog", test_message_dialog);
2979 g_test_add_func ("/Builder/GMenu", test_gmenu);
2980 g_test_add_func ("/Builder/LevelBar", test_level_bar);
2981 g_test_add_func ("/Builder/Expose Object", test_expose_object);
2982 g_test_add_func ("/Builder/Template", test_template);
2983 g_test_add_func ("/Builder/No IDs", test_no_ids);
2984 g_test_add_func ("/Builder/Property Bindings", test_property_bindings);
2985 g_test_add_func ("/Builder/anaconda-signal", test_anaconda_signal);
2986 g_test_add_func ("/Builder/FileFilter", test_file_filter);
2987
2988 return g_test_run();
2989}
2990