13 settings = g_settings_new ("org.gtk.test");
15 g_settings_get (settings, "greeting", "s", &str);
16 g_assert_cmpstr (str, ==, "Hello, earthlings");
18 g_settings_set (settings, "greeting", "s", "goodbye world");
19 g_settings_get (settings, "greeting", "s", &str);
20 g_assert_cmpstr (str, ==, "goodbye world");
24 if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
26 settings = g_settings_new ("org.gtk.test");
27 g_settings_set (settings, "greeting", "i", 555);
30 g_test_trap_assert_failed ();
31 g_test_trap_assert_stderr ("*correct_type*");
33 g_settings_get (settings, "greeting", "s", &str);
34 g_assert_cmpstr (str, ==, "goodbye world");
38 g_settings_set (settings, "greeting", "s", "this is the end");
39 g_object_unref (settings);
43 test_unknown_key (void)
45 if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
50 settings = g_settings_new ("org.gtk.test");
51 value = g_settings_get_value (settings, "no_such_key");
53 g_assert (value == NULL);
55 g_object_unref (settings);
57 g_test_trap_assert_failed ();
58 g_test_trap_assert_stderr ("*does not contain*");
64 if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
68 settings = g_settings_new ("no.such.schema");
70 g_assert (settings == NULL);
73 g_test_trap_assert_failed ();
74 g_test_trap_assert_stderr ("*Settings schema 'no.such.schema' is not installed*");
78 test_wrong_type (void)
80 if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
85 settings = g_settings_new ("org.gtk.test");
87 g_settings_get (settings, "greeting", "o", &str);
89 g_assert (str == NULL);
91 g_test_trap_assert_failed ();
92 g_test_trap_assert_stderr ("*CRITICAL*");
94 if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
98 settings = g_settings_new ("org.gtk.test");
100 g_settings_set (settings, "greetings", "o", "/a/path");
102 g_test_trap_assert_failed ();
103 g_test_trap_assert_stderr ("*CRITICAL*");
107 test_basic_types (void)
121 settings = g_settings_new ("org.gtk.test.basic-types");
123 g_settings_get (settings, "test-boolean", "b", &b);
124 g_assert_cmpint (b, ==, 1);
126 g_settings_set (settings, "test-boolean", "b", 0);
127 g_settings_get (settings, "test-boolean", "b", &b);
128 g_assert_cmpint (b, ==, 0);
130 g_settings_get (settings, "test-byte", "y", &byte);
131 g_assert_cmpint (byte, ==, 25);
133 g_settings_set (settings, "test-byte", "y", G_MAXUINT8);
134 g_settings_get (settings, "test-byte", "y", &byte);
135 g_assert_cmpint (byte, ==, G_MAXUINT8);
137 g_settings_get (settings, "test-int16", "n", &i16);
138 g_assert_cmpint (i16, ==, -1234);
140 g_settings_set (settings, "test-int16", "n", G_MININT16);
141 g_settings_get (settings, "test-int16", "n", &i16);
142 g_assert_cmpint (i16, ==, G_MININT16);
144 g_settings_set (settings, "test-int16", "n", G_MAXINT16);
145 g_settings_get (settings, "test-int16", "n", &i16);
146 g_assert_cmpint (i16, ==, G_MAXINT16);
148 g_settings_get (settings, "test-uint16", "q", &u16);
149 g_assert_cmpuint (u16, ==, 1234);
151 g_settings_set (settings, "test-uint16", "q", G_MAXUINT16);
152 g_settings_get (settings, "test-uint16", "q", &u16);
153 g_assert_cmpuint (u16, ==, G_MAXUINT16);
155 g_settings_get (settings, "test-int32", "i", &i32);
156 g_assert_cmpint (i32, ==, -123456);
158 g_settings_set (settings, "test-int32", "i", G_MININT32);
159 g_settings_get (settings, "test-int32", "i", &i32);
160 g_assert_cmpint (i32, ==, G_MININT32);
162 g_settings_set (settings, "test-int32", "i", G_MAXINT32);
163 g_settings_get (settings, "test-int32", "i", &i32);
164 g_assert_cmpint (i32, ==, G_MAXINT32);
166 g_settings_get (settings, "test-uint32", "u", &u32);
167 g_assert_cmpuint (u32, ==, 123456);
169 g_settings_set (settings, "test-uint32", "u", G_MAXUINT32);
170 g_settings_get (settings, "test-uint32", "u", &u32);
171 g_assert_cmpuint (u32, ==, G_MAXUINT32);
173 g_settings_get (settings, "test-int64", "x", &i64);
174 g_assert_cmpuint (i64, ==, -123456789);
176 g_settings_set (settings, "test-int64", "x", G_MININT64);
177 g_settings_get (settings, "test-int64", "x", &i64);
178 g_assert_cmpuint (i64, ==, G_MININT64);
180 g_settings_set (settings, "test-int64", "x", G_MAXINT64);
181 g_settings_get (settings, "test-int64", "x", &i64);
182 g_assert_cmpuint (i64, ==, G_MAXINT64);
184 g_settings_get (settings, "test-uint64", "t", &u64);
185 g_assert_cmpuint (u64, ==, 123456789);
187 g_settings_set (settings, "test-uint64", "t", G_MAXUINT64);
188 g_settings_get (settings, "test-uint64", "t", &u64);
189 g_assert_cmpuint (u64, ==, G_MAXUINT64);
191 g_settings_get (settings, "test-double", "d", &d);
192 g_assert_cmpfloat (d, ==, 123.456);
194 g_settings_set (settings, "test-double", "d", G_MINDOUBLE);
195 g_settings_get (settings, "test-double", "d", &d);
196 g_assert_cmpfloat (d, ==, G_MINDOUBLE);
198 g_settings_set (settings, "test-double", "d", G_MAXDOUBLE);
199 g_settings_get (settings, "test-double", "d", &d);
200 g_assert_cmpfloat (d, ==, G_MAXDOUBLE);
202 g_settings_get (settings, "test-string", "s", &str);
203 g_assert_cmpstr (str, ==, "a string, it seems");
207 g_settings_get (settings, "test-objectpath", "o", &str);
208 g_assert_cmpstr (str, ==, "/a/object/path");
209 g_object_unref (settings);
215 test_complex_types (void)
220 GVariantIter *iter = NULL;
222 settings = g_settings_new ("org.gtk.test.complex-types");
224 g_settings_get (settings, "test-tuple", "(s(ii))", &s, &i1, &i2);
225 g_assert_cmpstr (s, ==, "one");
226 g_assert_cmpint (i1,==, 2);
227 g_assert_cmpint (i2,==, 3);
231 g_settings_set (settings, "test-tuple", "(s(ii))", "none", 0, 0);
232 g_settings_get (settings, "test-tuple", "(s(ii))", &s, &i1, &i2);
233 g_assert_cmpstr (s, ==, "none");
234 g_assert_cmpint (i1,==, 0);
235 g_assert_cmpint (i2,==, 0);
239 g_settings_get (settings, "test-array", "ai", &iter);
240 g_assert_cmpint (g_variant_iter_n_children (iter), ==, 6);
241 g_assert (g_variant_iter_next (iter, "i", &i1));
242 g_assert_cmpint (i1, ==, 0);
243 g_assert (g_variant_iter_next (iter, "i", &i1));
244 g_assert_cmpint (i1, ==, 1);
245 g_assert (g_variant_iter_next (iter, "i", &i1));
246 g_assert_cmpint (i1, ==, 2);
247 g_assert (g_variant_iter_next (iter, "i", &i1));
248 g_assert_cmpint (i1, ==, 3);
249 g_assert (g_variant_iter_next (iter, "i", &i1));
250 g_assert_cmpint (i1, ==, 4);
251 g_assert (g_variant_iter_next (iter, "i", &i1));
252 g_assert_cmpint (i1, ==, 5);
253 g_assert (!g_variant_iter_next (iter, "i", &i1));
254 g_variant_iter_free (iter);
256 g_object_unref (settings);
259 static gboolean changed_cb_called;
262 changed_cb (GSettings *settings,
266 changed_cb_called = TRUE;
268 g_assert_cmpstr (key, ==, data);
275 GSettings *settings2;
277 settings = g_settings_new ("org.gtk.test");
279 g_signal_connect (settings, "changed",
280 G_CALLBACK (changed_cb), "greeting");
282 changed_cb_called = FALSE;
284 g_settings_set (settings, "greeting", "s", "new greeting");
285 g_assert (changed_cb_called);
287 settings2 = g_settings_new ("org.gtk.test");
289 changed_cb_called = FALSE;
291 g_settings_set (settings2, "greeting", "s", "hi");
292 g_assert (changed_cb_called);
294 g_object_unref (settings2);
295 g_object_unref (settings);
298 static gboolean changed_cb_called2;
301 changed_cb2 (GSettings *settings,
312 test_delay_apply (void)
315 GSettings *settings2;
318 settings = g_settings_new ("org.gtk.test");
319 settings2 = g_settings_new ("org.gtk.test");
321 g_settings_set (settings2, "greeting", "s", "top o' the morning");
323 changed_cb_called = FALSE;
324 changed_cb_called2 = FALSE;
326 g_signal_connect (settings, "changed",
327 G_CALLBACK (changed_cb2), &changed_cb_called);
328 g_signal_connect (settings2, "changed",
329 G_CALLBACK (changed_cb2), &changed_cb_called2);
331 g_settings_delay (settings);
333 g_settings_set (settings, "greeting", "s", "greetings from test_delay_apply");
335 g_assert (changed_cb_called);
336 g_assert (!changed_cb_called2);
338 g_settings_get (settings, "greeting", "s", &str);
339 g_assert_cmpstr (str, ==, "greetings from test_delay_apply");
343 g_settings_get (settings2, "greeting", "s", &str);
344 g_assert_cmpstr (str, ==, "top o' the morning");
348 g_assert (g_settings_get_has_unapplied (settings));
349 g_assert (!g_settings_get_has_unapplied (settings2));
351 changed_cb_called = FALSE;
352 changed_cb_called2 = FALSE;
354 g_settings_apply (settings);
356 g_assert (!changed_cb_called);
357 g_assert (changed_cb_called2);
359 g_settings_get (settings, "greeting", "s", &str);
360 g_assert_cmpstr (str, ==, "greetings from test_delay_apply");
364 g_settings_get (settings2, "greeting", "s", &str);
365 g_assert_cmpstr (str, ==, "greetings from test_delay_apply");
369 g_assert (!g_settings_get_has_unapplied (settings));
370 g_assert (!g_settings_get_has_unapplied (settings2));
372 g_object_unref (settings2);
373 g_object_unref (settings);
377 test_delay_revert (void)
380 GSettings *settings2;
383 settings = g_settings_new ("org.gtk.test");
384 settings2 = g_settings_new ("org.gtk.test");
386 g_settings_set (settings2, "greeting", "s", "top o' the morning");
388 g_settings_delay (settings);
390 g_settings_set (settings, "greeting", "s", "greetings from test_delay_revert");
392 g_settings_get (settings, "greeting", "s", &str);
393 g_assert_cmpstr (str, ==, "greetings from test_delay_revert");
397 g_settings_get (settings2, "greeting", "s", &str);
398 g_assert_cmpstr (str, ==, "top o' the morning");
402 g_settings_revert (settings);
404 g_settings_get (settings, "greeting", "s", &str);
405 g_assert_cmpstr (str, ==, "top o' the morning");
409 g_settings_get (settings2, "greeting", "s", &str);
410 g_assert_cmpstr (str, ==, "top o' the morning");
414 g_object_unref (settings2);
415 g_object_unref (settings);
419 keys_changed_cb (GSettings *settings,
425 g_assert_cmpint (n_keys, ==, 2);
427 g_assert ((keys[0] == g_quark_from_static_string ("greeting") &&
428 keys[1] == g_quark_from_static_string ("farewell")) ||
429 (keys[1] == g_quark_from_static_string ("greeting") &&
430 keys[0] == g_quark_from_static_string ("farewell")));
432 g_settings_get (settings, "greeting", "s", &str);
433 g_assert_cmpstr (str, ==, "greetings from test_atomic");
437 g_settings_get (settings, "farewell", "s", &str);
438 g_assert_cmpstr (str, ==, "atomic bye-bye");
447 GSettings *settings2;
450 settings = g_settings_new ("org.gtk.test");
451 settings2 = g_settings_new ("org.gtk.test");
453 g_settings_set (settings2, "greeting", "s", "top o' the morning");
455 changed_cb_called = FALSE;
456 changed_cb_called2 = FALSE;
458 g_signal_connect (settings2, "change-event",
459 G_CALLBACK (keys_changed_cb), NULL);
461 g_settings_delay (settings);
463 g_settings_set (settings, "greeting", "s", "greetings from test_atomic");
464 g_settings_set (settings, "farewell", "s", "atomic bye-bye");
466 g_settings_apply (settings);
468 g_settings_get (settings, "greeting", "s", &str);
469 g_assert_cmpstr (str, ==, "greetings from test_atomic");
473 g_settings_get (settings, "farewell", "s", &str);
474 g_assert_cmpstr (str, ==, "atomic bye-bye");
478 g_settings_get (settings2, "greeting", "s", &str);
479 g_assert_cmpstr (str, ==, "greetings from test_atomic");
483 g_settings_get (settings2, "farewell", "s", &str);
484 g_assert_cmpstr (str, ==, "atomic bye-bye");
488 g_object_unref (settings2);
489 g_object_unref (settings);
499 bindtextdomain ("test", ".");
500 bind_textdomain_codeset ("test", "UTF-8");
502 locale = g_strdup (setlocale (LC_MESSAGES, NULL));
504 settings = g_settings_new ("org.gtk.test.localized");
506 setlocale (LC_MESSAGES, "C");
507 str = g_settings_get_string (settings, "error-message");
508 setlocale (LC_MESSAGES, locale);
510 g_assert_cmpstr (str, ==, "Unnamed");
514 setlocale (LC_MESSAGES, "de_DE");
515 str = g_settings_get_string (settings, "error-message");
516 setlocale (LC_MESSAGES, locale);
518 g_assert_cmpstr (str, ==, "Unbenannt");
519 g_object_unref (settings);
527 test_l10n_context (void)
533 bindtextdomain ("test", ".");
534 bind_textdomain_codeset ("test", "UTF-8");
536 locale = g_strdup (setlocale (LC_MESSAGES, NULL));
538 settings = g_settings_new ("org.gtk.test.localized");
540 setlocale (LC_MESSAGES, "C");
541 g_settings_get (settings, "backspace", "s", &str);
542 setlocale (LC_MESSAGES, locale);
544 g_assert_cmpstr (str, ==, "BackSpace");
548 setlocale (LC_MESSAGES, "de_DE");
549 g_settings_get (settings, "backspace", "s", &str);
550 setlocale (LC_MESSAGES, locale);
552 g_assert_cmpstr (str, ==, "Löschen");
553 g_object_unref (settings);
571 GObject parent_instance;
581 GObjectClass parent_class;
584 G_DEFINE_TYPE (TestObject, test_object, G_TYPE_OBJECT)
587 test_object_init (TestObject *object)
592 test_object_finalize (GObject *object)
594 TestObject *testo = (TestObject*)object;
595 g_free (testo->string_prop);
596 G_OBJECT_CLASS (test_object_parent_class)->finalize (object);
600 test_object_get_property (GObject *object,
605 TestObject *test_object = (TestObject *)object;
610 g_value_set_boolean (value, test_object->bool_prop);
613 g_value_set_int (value, test_object->int_prop);
616 g_value_set_double (value, test_object->double_prop);
619 g_value_set_string (value, test_object->string_prop);
622 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
628 test_object_set_property (GObject *object,
633 TestObject *test_object = (TestObject *)object;
638 test_object->bool_prop = g_value_get_boolean (value);
641 test_object->int_prop = g_value_get_int (value);
644 test_object->double_prop = g_value_get_double (value);
647 g_free (test_object->string_prop);
648 test_object->string_prop = g_value_dup_string (value);
651 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
657 test_object_class_init (TestObjectClass *class)
659 GObjectClass *gobject_class = G_OBJECT_CLASS (class);
661 gobject_class->get_property = test_object_get_property;
662 gobject_class->set_property = test_object_set_property;
663 gobject_class->finalize = test_object_finalize;
665 g_object_class_install_property (gobject_class, PROP_BOOL,
666 g_param_spec_boolean ("bool", "", "", FALSE, G_PARAM_READWRITE));
667 g_object_class_install_property (gobject_class, PROP_INT,
668 g_param_spec_int ("int", "", "", -G_MAXINT, G_MAXINT, 0, G_PARAM_READWRITE));
669 g_object_class_install_property (gobject_class, PROP_DOUBLE,
670 g_param_spec_double ("double", "", "", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
671 g_object_class_install_property (gobject_class, PROP_STRING,
672 g_param_spec_string ("string", "", "", NULL, G_PARAM_READWRITE));
676 test_object_new (void)
678 return (TestObject*)g_object_new (test_object_get_type (), NULL);
682 test_simple_binding (void)
691 settings = g_settings_new ("org.gtk.test.binding");
692 obj = test_object_new ();
694 g_settings_bind (settings, "bool", obj, "bool", G_SETTINGS_BIND_DEFAULT);
696 g_object_set (obj, "bool", TRUE, NULL);
697 g_assert_cmpint (g_settings_get_boolean (settings, "bool"), ==, TRUE);
699 g_settings_set_boolean (settings, "bool", FALSE);
700 g_object_get (obj, "bool", &b, NULL);
701 g_assert_cmpint (b, ==, FALSE);
703 g_settings_bind (settings, "int", obj, "int", G_SETTINGS_BIND_DEFAULT);
705 g_object_set (obj, "int", 12345, NULL);
706 g_assert_cmpint (g_settings_get_int (settings, "int"), ==, 12345);
708 g_settings_set_int (settings, "int", 54321);
709 g_object_get (obj, "int", &i, NULL);
710 g_assert_cmpint (i, ==, 54321);
712 g_settings_bind (settings, "string", obj, "string", G_SETTINGS_BIND_DEFAULT);
714 g_object_set (obj, "string", "bu ba", NULL);
715 s = g_settings_get_string (settings, "string");
716 g_assert_cmpstr (s, ==, "bu ba");
719 g_settings_set_string (settings, "string", "bla bla");
720 g_object_get (obj, "string", &s, NULL);
721 g_assert_cmpstr (s, ==, "bla bla");
724 g_settings_bind (settings, "double", obj, "double", G_SETTINGS_BIND_DEFAULT);
726 g_object_set (obj, "double", 203e7, NULL);
727 g_assert_cmpfloat (g_settings_get_double (settings, "double"), ==, 203e7);
729 g_settings_set_double (settings, "double", 207e3);
730 g_object_get (obj, "double", &d, NULL);
731 g_assert_cmpfloat (d, ==, 207e3);
733 g_object_unref (obj);
734 g_object_unref (settings);
738 test_directional_binding (void)
745 settings = g_settings_new ("org.gtk.test.binding");
746 obj = test_object_new ();
748 g_object_set (obj, "bool", FALSE, NULL);
749 g_settings_set_boolean (settings, "bool", FALSE);
751 g_settings_bind (settings, "bool", obj, "bool", G_SETTINGS_BIND_GET);
753 g_settings_set_boolean (settings, "bool", TRUE);
754 g_object_get (obj, "bool", &b, NULL);
755 g_assert_cmpint (b, ==, TRUE);
757 g_object_set (obj, "bool", FALSE, NULL);
758 g_assert_cmpint (g_settings_get_boolean (settings, "bool"), ==, TRUE);
760 g_object_set (obj, "int", 20, NULL);
761 g_settings_set_int (settings, "int", 20);
763 g_settings_bind (settings, "int", obj, "int", G_SETTINGS_BIND_SET);
765 g_object_set (obj, "int", 32, NULL);
766 g_assert_cmpint (g_settings_get_int (settings, "int"), ==, 32);
768 g_settings_set_int (settings, "int", 20);
769 g_object_get (obj, "int", &i, NULL);
770 g_assert_cmpint (i, ==, 32);
772 g_object_unref (obj);
773 g_object_unref (settings);
777 test_typesafe_binding (void)
779 if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDERR))
784 settings = g_settings_new ("org.gtk.test.binding");
785 obj = test_object_new ();
787 g_settings_bind (settings, "string", obj, "int", G_SETTINGS_BIND_DEFAULT);
789 g_object_unref (obj);
790 g_object_unref (settings);
792 g_test_trap_assert_failed ();
793 g_test_trap_assert_stderr ("*not compatible*");
797 string_to_bool (GValue *value,
803 s = g_variant_get_string (variant, NULL);
804 g_value_set_boolean (value, g_strcmp0 (s, "true") == 0);
810 bool_to_string (const GValue *value,
811 const GVariantType *expected_type,
814 if (g_value_get_boolean (value))
815 return g_variant_new_string ("true");
817 return g_variant_new_string ("false");
821 test_custom_binding (void)
828 settings = g_settings_new ("org.gtk.test.binding");
829 obj = test_object_new ();
831 g_settings_set_string (settings, "string", "true");
833 g_settings_bind_with_mapping (settings, "string",
835 G_SETTINGS_BIND_DEFAULT,
840 g_settings_set_string (settings, "string", "false");
841 g_object_get (obj, "bool", &b, NULL);
842 g_assert_cmpint (b, ==, FALSE);
844 g_settings_set_string (settings, "string", "not true");
845 g_object_get (obj, "bool", &b, NULL);
846 g_assert_cmpint (b, ==, FALSE);
848 g_object_set (obj, "bool", TRUE, NULL);
849 s = g_settings_get_string (settings, "string");
850 g_assert_cmpstr (s, ==, "true");
852 g_object_unref (obj);
853 g_object_unref (settings);
857 test_no_change_binding (void)
863 settings = g_settings_new ("org.gtk.test.binding");
864 obj = test_object_new ();
866 g_object_set (obj, "bool", TRUE, NULL);
867 g_settings_set_boolean (settings, "bool", FALSE);
869 g_settings_bind (settings, "bool", obj, "bool", G_SETTINGS_BIND_GET_NO_CHANGES);
871 g_object_get (obj, "bool", &b, NULL);
872 g_assert_cmpint (b, ==, FALSE);
874 g_settings_set_boolean (settings, "bool", TRUE);
875 g_object_get (obj, "bool", &b, NULL);
876 g_assert_cmpint (b, ==, FALSE);
878 g_settings_set_boolean (settings, "bool", FALSE);
879 g_object_set (obj, "bool", TRUE, NULL);
880 b = g_settings_get_boolean (settings, "bool");
881 g_assert_cmpint (b, ==, TRUE);
883 g_object_unref (obj);
884 g_object_unref (settings);
888 main (int argc, char *argv[])
890 g_setenv ("GSETTINGS_SCHEMA_DIR", ".", TRUE);
891 g_setenv ("GSETTINGS_BACKEND", "memory", TRUE);
893 g_remove ("./store");
896 g_test_init (&argc, &argv, NULL);
898 g_test_add_func ("/gsettings/basic", test_basic);
899 g_test_add_func ("/gsettings/no-schema", test_no_schema);
900 g_test_add_func ("/gsettings/unknown-key", test_unknown_key);
901 g_test_add_func ("/gsettings/wrong-type", test_wrong_type);
902 g_test_add_func ("/gsettings/basic-types", test_basic_types);
903 g_test_add_func ("/gsettings/complex-types", test_complex_types);
904 g_test_add_func ("/gsettings/changes", test_changes);
905 g_test_add_func ("/gsettings/l10n", test_l10n);
906 g_test_add_func ("/gsettings/l10n-context", test_l10n_context);
907 g_test_add_func ("/gsettings/delay-apply", test_delay_apply);
908 g_test_add_func ("/gsettings/delay-revert", test_delay_revert);
909 g_test_add_func ("/gsettings/atomic", test_atomic);
910 g_test_add_func ("/gsettings/simple-binding", test_simple_binding);
911 g_test_add_func ("/gsettings/directional-binding", test_directional_binding);
912 g_test_add_func ("/gsettings/typesafe-binding", test_typesafe_binding);
913 g_test_add_func ("/gsettings/custom-binding", test_custom_binding);
914 g_test_add_func ("/gsettings/no-change-binding", test_no_change_binding);
916 return g_test_run ();