|
|
|
@ -139,6 +139,32 @@ static void test_update()
|
|
|
|
|
json_decref(object);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void test_set_many_keys()
|
|
|
|
|
{
|
|
|
|
|
json_t *object, *value;
|
|
|
|
|
const char *keys = "abcdefghijklmnopqrstuvwxyz";
|
|
|
|
|
char buf[2];
|
|
|
|
|
size_t i;
|
|
|
|
|
|
|
|
|
|
object = json_object();
|
|
|
|
|
if (!object)
|
|
|
|
|
fail("unable to create object");
|
|
|
|
|
|
|
|
|
|
value = json_string("a");
|
|
|
|
|
if (!value)
|
|
|
|
|
fail("unable to create string");
|
|
|
|
|
|
|
|
|
|
buf[1] = '\0';
|
|
|
|
|
for (i = 0; i < strlen(keys); i++) {
|
|
|
|
|
buf[0] = keys[i];
|
|
|
|
|
if (json_object_set(object, buf, value))
|
|
|
|
|
fail("unable to set object key");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
json_decref(object);
|
|
|
|
|
json_decref(value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void test_conditional_updates()
|
|
|
|
|
{
|
|
|
|
|
json_t *object, *other;
|
|
|
|
@ -374,6 +400,12 @@ static void test_misc()
|
|
|
|
|
if(!json_object_set(object, NULL, string))
|
|
|
|
|
fail("able to set NULL key");
|
|
|
|
|
|
|
|
|
|
if(json_object_del(object, "a"))
|
|
|
|
|
fail("unable to del the only key");
|
|
|
|
|
|
|
|
|
|
if(json_object_set(object, "a", string))
|
|
|
|
|
fail("unable to set value");
|
|
|
|
|
|
|
|
|
|
if(!json_object_set(object, "a", NULL))
|
|
|
|
|
fail("able to set NULL value");
|
|
|
|
|
|
|
|
|
@ -518,6 +550,7 @@ static void run_tests()
|
|
|
|
|
test_misc();
|
|
|
|
|
test_clear();
|
|
|
|
|
test_update();
|
|
|
|
|
test_set_many_keys();
|
|
|
|
|
test_conditional_updates();
|
|
|
|
|
test_circular();
|
|
|
|
|
test_set_nocheck();
|
|
|
|
|