aboutsummaryrefslogtreecommitdiff
path: root/test/suites/api/test_object.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/suites/api/test_object.c')
-rw-r--r--test/suites/api/test_object.c48
1 files changed, 12 insertions, 36 deletions
diff --git a/test/suites/api/test_object.c b/test/suites/api/test_object.c
index 01cc8fd..c5b97e3 100644
--- a/test/suites/api/test_object.c
+++ b/test/suites/api/test_object.c
@@ -275,11 +275,7 @@ static void test_set_nocheck()
static void test_iterators()
{
- int i;
json_t *object, *foo, *bar, *baz;
- const char *iter_keys[3];
- int have_key[3] = { 0, 0, 0 };
- json_t *iter_values[3];
void *iter;
if(json_object_iter(NULL))
@@ -306,50 +302,30 @@ static void test_iterators()
iter = json_object_iter(object);
if(!iter)
fail("unable to get iterator");
- iter_keys[0] = json_object_iter_key(iter);
- iter_values[0] = json_object_iter_value(iter);
+ if (strcmp(json_object_iter_key(iter), "a") != 0)
+ fail("iterating doesn't yield keys in order");
+ if (json_object_iter_value(iter) != foo)
+ fail("iterating doesn't yield values in order");
iter = json_object_iter_next(object, iter);
if(!iter)
fail("unable to increment iterator");
- iter_keys[1] = json_object_iter_key(iter);
- iter_values[1] = json_object_iter_value(iter);
+ if (strcmp(json_object_iter_key(iter), "b") != 0)
+ fail("iterating doesn't yield keys in order");
+ if (json_object_iter_value(iter) != bar)
+ fail("iterating doesn't yield values in order");
iter = json_object_iter_next(object, iter);
if(!iter)
fail("unable to increment iterator");
- iter_keys[2] = json_object_iter_key(iter);
- iter_values[2] = json_object_iter_value(iter);
+ if (strcmp(json_object_iter_key(iter), "c") != 0)
+ fail("iterating doesn't yield keys in order");
+ if (json_object_iter_value(iter) != baz)
+ fail("iterating doesn't yield values in order");
if(json_object_iter_next(object, iter) != NULL)
fail("able to iterate over the end");
- /* Check that keys have correct values */
- for (i = 0; i < 3; i++) {
- if (strcmp(iter_keys[i], "a") == 0) {
- if (iter_values[i] != foo)
- fail("wrong value for iter key a");
- else
- have_key[0] = 1;
- } else if (strcmp(iter_keys[i], "b") == 0) {
- if (iter_values[i] != bar)
- fail("wrong value for iter key b");
- else
- have_key[1] = 1;
- } else if (strcmp(iter_keys[i], "c") == 0) {
- if (iter_values[i] != baz)
- fail("wrong value for iter key c");
- else
- have_key[2] = 1;
- }
- }
-
- /* Check that we got all keys */
- for(i = 0; i < 3; i++) {
- if(!have_key[i])
- fail("a key wasn't iterated over");
- }
-
if(json_object_iter_at(object, "foo"))
fail("json_object_iter_at() succeeds for non-existent key");