From d63d27b195a5849f2fc2fa43f3657f1d27bad3ce Mon Sep 17 00:00:00 2001 From: Martin Domig Date: Mon, 25 Nov 2024 16:17:35 +0100 Subject: [PATCH] Add test for g_settings_schema_has_key on extended schema The test checks that the keys of the base schema do all exist in the extended schema. Signed-off-by: Martin Domig --- gio/tests/gsettings.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c index cb98dd322..053a542fc 100644 --- a/gio/tests/gsettings.c +++ b/gio/tests/gsettings.c @@ -3248,6 +3248,21 @@ test_extended_schema (void) g_settings_schema_unref (schema); } +static void +test_extended_schema_has_key (void) +{ + GSettingsSchema *schema; + GSettings *settings; + + settings = g_settings_new_with_path ("org.gtk.test.extends.extended", "/test/extends/"); + g_object_get (settings, "settings-schema", &schema, NULL); + g_assert_true (g_settings_schema_has_key (schema, "int32")); + g_assert_true (g_settings_schema_has_key (schema, "string")); + g_assert_true (g_settings_schema_has_key (schema, "another-int32")); + g_object_unref (settings); + g_settings_schema_unref (schema); +} + int main (int argc, char *argv[]) { @@ -3429,6 +3444,7 @@ main (int argc, char *argv[]) g_test_add_func ("/gsettings/memory-backend", test_memory_backend); g_test_add_func ("/gsettings/read-descriptions", test_read_descriptions); g_test_add_func ("/gsettings/test-extended-schema", test_extended_schema); + g_test_add_func ("/gsettings/test-extended-schema-has-key", test_extended_schema_has_key); g_test_add_func ("/gsettings/default-value", test_default_value); g_test_add_func ("/gsettings/per-desktop", test_per_desktop); g_test_add_func ("/gsettings/per-desktop/subprocess", test_per_desktop_subprocess);