Browse Source

Increased the test coverage of json_object_iterator.c from 0% to 100%

tags/json-c-0.14-20200419
chenguoping dota17 5 years ago
parent
commit
f56c5c1a60
4 changed files with 57 additions and 1 deletions
  1. +2
    -1
      tests/CMakeLists.txt
  2. +40
    -0
      tests/test_object_iterator.c
  3. +14
    -0
      tests/test_object_iterator.expected
  4. +1
    -0
      tests/test_object_iterator.test

+ 2
- 1
tests/CMakeLists.txt View File

@@ -33,7 +33,8 @@ foreach(TESTNAME
test_set_serializer test_set_serializer
test_set_value test_set_value
test_util_file test_util_file
test_visit)
test_visit
test_object_iterator)


add_executable(${TESTNAME} ${TESTNAME}.c) add_executable(${TESTNAME} ${TESTNAME}.c)
add_test(NAME ${TESTNAME} COMMAND ${PROJECT_SOURCE_DIR}/tests/${TESTNAME}.test) add_test(NAME ${TESTNAME} COMMAND ${PROJECT_SOURCE_DIR}/tests/${TESTNAME}.test)


+ 40
- 0
tests/test_object_iterator.c View File

@@ -0,0 +1,40 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "config.h"

#include "json_object.h"
#include "json_tokener.h"
#include "json_object_iterator.h"

int main(int atgc, char **argv)
{
const char *input = "{\n\
\"string_of_digits\": \"123\",\n\
\"regular_number\": 222,\n\
\"decimal_number\": 99.55,\n\
\"boolean_true\": true,\n\
\"boolean_false\": false,\n\
\"big_number\": 2147483649,\n\
\"a_null\": null,\n\
}";

struct json_object *new_obj;
struct json_object_iterator it;
struct json_object_iterator itEnd;

it = json_object_iter_init_default();
new_obj = json_tokener_parse(input);
it = json_object_iter_begin(new_obj);
itEnd = json_object_iter_end(new_obj);

while (!json_object_iter_equal(&it,&itEnd)) {
printf("%s\n",json_object_iter_peek_name(&it));
printf("%s\n",json_object_to_json_string(json_object_iter_peek_value(&it)));
json_object_iter_next(&it);
}

json_object_put(new_obj);

return 0;
}

+ 14
- 0
tests/test_object_iterator.expected View File

@@ -0,0 +1,14 @@
string_of_digits
"123"
regular_number
222
decimal_number
99.55
boolean_true
true
boolean_false
false
big_number
2147483649
a_null
null

+ 1
- 0
tests/test_object_iterator.test View File

@@ -0,0 +1 @@
test_basic.test

Loading…
Cancel
Save