summaryrefslogtreecommitdiff
path: root/json-glib/tests/object.c
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dave@treblig.org>2017-03-05 01:25:18 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2017-03-11 15:48:42 +0000
commit799e1651b463bf127e6a99573e20331f6d7399b3 (patch)
tree647420d1bd668a4bb6aa57061057911a3520b26d /json-glib/tests/object.c
parentc7b7b18e39522d8718e1d5118fe34d9b1c9707a0 (diff)
downloadjson-glib-799e1651b463bf127e6a99573e20331f6d7399b3.tar.gz
Allow empty string as object member name
Commit 028e540 disallowed empty member names in objects, however they are unfortunately valid JSON. This patch reenables an empty string as a member name. Tests are updated to allow the empty string case, and to test the use of an empty string in generation, iteration etc. https://bugzilla.gnome.org/show_bug.cgi?id=747279
Diffstat (limited to 'json-glib/tests/object.c')
-rw-r--r--json-glib/tests/object.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/json-glib/tests/object.c b/json-glib/tests/object.c
index 54b5934..03a478c 100644
--- a/json-glib/tests/object.c
+++ b/json-glib/tests/object.c
@@ -64,6 +64,9 @@ test_set_member (void)
json_object_set_object_member (object, "Object", NULL);
g_assert (json_object_get_null_member (object, "Object") == TRUE);
+ json_object_set_object_member (object, "", NULL);
+ g_assert (json_object_get_null_member (object, "") == TRUE);
+
json_object_unref (object);
}
@@ -95,7 +98,8 @@ static const struct {
{ "boolean", JSON_NODE_VALUE, G_TYPE_BOOLEAN },
{ "string", JSON_NODE_VALUE, G_TYPE_STRING },
{ "double", JSON_NODE_VALUE, G_TYPE_DOUBLE },
- { "null", JSON_NODE_NULL, G_TYPE_INVALID }
+ { "null", JSON_NODE_NULL, G_TYPE_INVALID },
+ { "", JSON_NODE_VALUE, G_TYPE_INT64 }
};
static void
@@ -131,6 +135,7 @@ test_foreach_member (void)
json_object_set_string_member (object, "string", "hello");
json_object_set_double_member (object, "double", 3.14159);
json_object_set_null_member (object, "null");
+ json_object_set_int_member (object, "", 0);
json_object_foreach_member (object, verify_foreach, &fixture);
@@ -155,6 +160,7 @@ test_iter (void)
json_object_set_string_member (object, "string", "hello");
json_object_set_double_member (object, "double", 3.14159);
json_object_set_null_member (object, "null");
+ json_object_set_int_member (object, "", 0);
json_object_iter_init (&iter, object);