diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c index f0bd89f06..18d28c25d 100644 --- a/gio/tests/gsettings.c +++ b/gio/tests/gsettings.c @@ -335,6 +335,7 @@ test_complex_types (void) gchar *s; gint i1, i2; GVariantIter *iter = NULL; + GVariant *v = NULL; settings = g_settings_new ("org.gtk.test.complex-types"); @@ -370,6 +371,22 @@ test_complex_types (void) g_assert (!g_variant_iter_next (iter, "i", &i1)); g_variant_iter_free (iter); + g_settings_get (settings, "test-dict", "a{sau}", &iter); + g_assert_cmpint (g_variant_iter_n_children (iter), ==, 2); + g_assert (g_variant_iter_next (iter, "{&s@au}", &s, &v)); + g_assert_cmpstr (s, ==, "AC"); + g_assert_cmpstr ((char *)g_variant_get_type (v), ==, "au"); + g_variant_unref (v); + g_assert (g_variant_iter_next (iter, "{&s@au}", &s, &v)); + g_assert_cmpstr (s, ==, "IV"); + g_assert_cmpstr ((char *)g_variant_get_type (v), ==, "au"); + g_variant_unref (v); + g_variant_iter_free (iter); + + v = g_settings_get_value (settings, "test-dict"); + g_assert_cmpstr ((char *)g_variant_get_type (v), ==, "a{sau}"); + g_variant_unref (v); + g_object_unref (settings); } diff --git a/gio/tests/org.gtk.test.gschema.xml.orig b/gio/tests/org.gtk.test.gschema.xml.orig index bda05a25c..c07558335 100644 --- a/gio/tests/org.gtk.test.gschema.xml.orig +++ b/gio/tests/org.gtk.test.gschema.xml.orig @@ -66,6 +66,14 @@ [0,1,2,3,4,5] + + + { + "AC": [0,0, 0,0,0,0,0,0], + "IV": [0,0, 0,0,0,0,0,0] + } + +