@@ -9,25 +9,22 @@ | |||||
static int sort_fn (const void *j1, const void *j2) | static int sort_fn (const void *j1, const void *j2) | ||||
{ | { | ||||
json_object * const *jso1, * const *jso2; | |||||
int i1, i2; | |||||
jso1 = (json_object* const*)j1; | |||||
jso2 = (json_object* const*)j2; | |||||
if (!*jso1 && !*jso2) { | |||||
return 0; | |||||
} | |||||
if (!*jso1) { | |||||
return -1; | |||||
} | |||||
if (!*jso2) { | |||||
return 1; | |||||
} | |||||
i1 = json_object_get_int(*jso1); | |||||
i2 = json_object_get_int(*jso2); | |||||
return i1 - i2; | |||||
json_object * const *jso1, * const *jso2; | |||||
int i1, i2; | |||||
jso1 = (json_object* const*)j1; | |||||
jso2 = (json_object* const*)j2; | |||||
if (!*jso1 && !*jso2) | |||||
return 0; | |||||
if (!*jso1) | |||||
return -1; | |||||
if (!*jso2) | |||||
return 1; | |||||
i1 = json_object_get_int(*jso1); | |||||
i2 = json_object_get_int(*jso2); | |||||
return i1 - i2; | |||||
} | } | ||||
#ifdef TEST_FORMATTED | #ifdef TEST_FORMATTED | ||||
@@ -38,88 +35,92 @@ static int sort_fn (const void *j1, const void *j2) | |||||
int main(int argc, char **argv) | int main(int argc, char **argv) | ||||
{ | { | ||||
json_object *my_string, *my_int, *my_object, *my_array; | |||||
int i; | |||||
json_object *my_string, *my_int, *my_object, *my_array; | |||||
int i; | |||||
#ifdef TEST_FORMATTED | #ifdef TEST_FORMATTED | ||||
int sflags = 0; | int sflags = 0; | ||||
#endif | #endif | ||||
MC_SET_DEBUG(1); | |||||
MC_SET_DEBUG(1); | |||||
#ifdef TEST_FORMATTED | #ifdef TEST_FORMATTED | ||||
sflags = parse_flags(argc, argv); | sflags = parse_flags(argc, argv); | ||||
#endif | #endif | ||||
my_string = json_object_new_string("\t"); | |||||
printf("my_string=%s\n", json_object_get_string(my_string)); | |||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string)); | |||||
json_object_put(my_string); | |||||
my_string = json_object_new_string("\\"); | |||||
printf("my_string=%s\n", json_object_get_string(my_string)); | |||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string)); | |||||
json_object_put(my_string); | |||||
my_string = json_object_new_string("foo"); | |||||
printf("my_string=%s\n", json_object_get_string(my_string)); | |||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string)); | |||||
my_int = json_object_new_int(9); | |||||
printf("my_int=%d\n", json_object_get_int(my_int)); | |||||
printf("my_int.to_string()=%s\n", json_object_to_json_string(my_int)); | |||||
my_array = json_object_new_array(); | |||||
json_object_array_add(my_array, json_object_new_int(1)); | |||||
json_object_array_add(my_array, json_object_new_int(2)); | |||||
json_object_array_add(my_array, json_object_new_int(3)); | |||||
json_object_array_put_idx(my_array, 4, json_object_new_int(5)); | |||||
printf("my_array=\n"); | |||||
for(i=0; i < json_object_array_length(my_array); i++) { | |||||
json_object *obj = json_object_array_get_idx(my_array, i); | |||||
printf("\t[%d]=%s\n", i, json_object_to_json_string(obj)); | |||||
} | |||||
printf("my_array.to_string()=%s\n", json_object_to_json_string(my_array)); | |||||
json_object_put(my_array); | |||||
my_array = json_object_new_array(); | |||||
json_object_array_add(my_array, json_object_new_int(3)); | |||||
json_object_array_add(my_array, json_object_new_int(1)); | |||||
json_object_array_add(my_array, json_object_new_int(2)); | |||||
json_object_array_put_idx(my_array, 4, json_object_new_int(0)); | |||||
printf("my_array=\n"); | |||||
for(i=0; i < json_object_array_length(my_array); i++) { | |||||
json_object *obj = json_object_array_get_idx(my_array, i); | |||||
printf("\t[%d]=%s\n", i, json_object_to_json_string(obj)); | |||||
} | |||||
printf("my_array.to_string()=%s\n", json_object_to_json_string(my_array)); | |||||
json_object_array_sort(my_array, sort_fn); | |||||
printf("my_array=\n"); | |||||
for(i=0; i < json_object_array_length(my_array); i++) { | |||||
json_object *obj = json_object_array_get_idx(my_array, i); | |||||
printf("\t[%d]=%s\n", i, json_object_to_json_string(obj)); | |||||
} | |||||
printf("my_array.to_string()=%s\n", json_object_to_json_string(my_array)); | |||||
my_object = json_object_new_object(); | |||||
json_object_object_add(my_object, "abc", json_object_new_int(12)); | |||||
json_object_object_add(my_object, "foo", json_object_new_string("bar")); | |||||
json_object_object_add(my_object, "bool0", json_object_new_boolean(0)); | |||||
json_object_object_add(my_object, "bool1", json_object_new_boolean(1)); | |||||
json_object_object_add(my_object, "baz", json_object_new_string("bang")); | |||||
json_object_object_add(my_object, "baz", json_object_new_string("fark")); | |||||
json_object_object_del(my_object, "baz"); | |||||
/*json_object_object_add(my_object, "arr", my_array);*/ | |||||
printf("my_object=\n"); | |||||
json_object_object_foreach(my_object, key, val) { | |||||
printf("\t%s: %s\n", key, json_object_to_json_string(val)); | |||||
} | |||||
printf("my_object.to_string()=%s\n", json_object_to_json_string(my_object)); | |||||
json_object_put(my_string); | |||||
json_object_put(my_int); | |||||
json_object_put(my_object); | |||||
json_object_put(my_array); | |||||
return 0; | |||||
my_string = json_object_new_string("\t"); | |||||
printf("my_string=%s\n", json_object_get_string(my_string)); | |||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string)); | |||||
json_object_put(my_string); | |||||
my_string = json_object_new_string("\\"); | |||||
printf("my_string=%s\n", json_object_get_string(my_string)); | |||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string)); | |||||
json_object_put(my_string); | |||||
my_string = json_object_new_string("foo"); | |||||
printf("my_string=%s\n", json_object_get_string(my_string)); | |||||
printf("my_string.to_string()=%s\n", json_object_to_json_string(my_string)); | |||||
my_int = json_object_new_int(9); | |||||
printf("my_int=%d\n", json_object_get_int(my_int)); | |||||
printf("my_int.to_string()=%s\n", json_object_to_json_string(my_int)); | |||||
my_array = json_object_new_array(); | |||||
json_object_array_add(my_array, json_object_new_int(1)); | |||||
json_object_array_add(my_array, json_object_new_int(2)); | |||||
json_object_array_add(my_array, json_object_new_int(3)); | |||||
json_object_array_put_idx(my_array, 4, json_object_new_int(5)); | |||||
printf("my_array=\n"); | |||||
for(i=0; i < json_object_array_length(my_array); i++) | |||||
{ | |||||
json_object *obj = json_object_array_get_idx(my_array, i); | |||||
printf("\t[%d]=%s\n", i, json_object_to_json_string(obj)); | |||||
} | |||||
printf("my_array.to_string()=%s\n", json_object_to_json_string(my_array)); | |||||
json_object_put(my_array); | |||||
my_array = json_object_new_array(); | |||||
json_object_array_add(my_array, json_object_new_int(3)); | |||||
json_object_array_add(my_array, json_object_new_int(1)); | |||||
json_object_array_add(my_array, json_object_new_int(2)); | |||||
json_object_array_put_idx(my_array, 4, json_object_new_int(0)); | |||||
printf("my_array=\n"); | |||||
for(i=0; i < json_object_array_length(my_array); i++) | |||||
{ | |||||
json_object *obj = json_object_array_get_idx(my_array, i); | |||||
printf("\t[%d]=%s\n", i, json_object_to_json_string(obj)); | |||||
} | |||||
printf("my_array.to_string()=%s\n", json_object_to_json_string(my_array)); | |||||
json_object_array_sort(my_array, sort_fn); | |||||
printf("my_array=\n"); | |||||
for(i=0; i < json_object_array_length(my_array); i++) | |||||
{ | |||||
json_object *obj = json_object_array_get_idx(my_array, i); | |||||
printf("\t[%d]=%s\n", i, json_object_to_json_string(obj)); | |||||
} | |||||
printf("my_array.to_string()=%s\n", json_object_to_json_string(my_array)); | |||||
my_object = json_object_new_object(); | |||||
json_object_object_add(my_object, "abc", json_object_new_int(12)); | |||||
json_object_object_add(my_object, "foo", json_object_new_string("bar")); | |||||
json_object_object_add(my_object, "bool0", json_object_new_boolean(0)); | |||||
json_object_object_add(my_object, "bool1", json_object_new_boolean(1)); | |||||
json_object_object_add(my_object, "baz", json_object_new_string("bang")); | |||||
json_object_object_add(my_object, "baz", json_object_new_string("fark")); | |||||
json_object_object_del(my_object, "baz"); | |||||
/*json_object_object_add(my_object, "arr", my_array);*/ | |||||
printf("my_object=\n"); | |||||
json_object_object_foreach(my_object, key, val) | |||||
{ | |||||
printf("\t%s: %s\n", key, json_object_to_json_string(val)); | |||||
} | |||||
printf("my_object.to_string()=%s\n", json_object_to_json_string(my_object)); | |||||
json_object_put(my_string); | |||||
json_object_put(my_int); | |||||
json_object_put(my_object); | |||||
json_object_put(my_array); | |||||
return 0; | |||||
} | } |
@@ -15,20 +15,20 @@ | |||||
int main(int argc, char **argv) | int main(int argc, char **argv) | ||||
{ | { | ||||
json_object *new_obj; | |||||
json_object *new_obj; | |||||
#ifdef TEST_FORMATTED | #ifdef TEST_FORMATTED | ||||
int sflags = 0; | int sflags = 0; | ||||
#endif | #endif | ||||
MC_SET_DEBUG(1); | |||||
MC_SET_DEBUG(1); | |||||
#ifdef TEST_FORMATTED | #ifdef TEST_FORMATTED | ||||
sflags = parse_flags(argc, argv); | sflags = parse_flags(argc, argv); | ||||
#endif | #endif | ||||
new_obj = json_tokener_parse("/* more difficult test case */ { \"glossary\": { \"title\": \"example glossary\", \"GlossDiv\": { \"title\": \"S\", \"GlossList\": [ { \"ID\": \"SGML\", \"SortAs\": \"SGML\", \"GlossTerm\": \"Standard Generalized Markup Language\", \"Acronym\": \"SGML\", \"Abbrev\": \"ISO 8879:1986\", \"GlossDef\": \"A meta-markup language, used to create markup languages such as DocBook.\", \"GlossSeeAlso\": [\"GML\", \"XML\", \"markup\"] } ] } } }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("/* more difficult test case */ { \"glossary\": { \"title\": \"example glossary\", \"GlossDiv\": { \"title\": \"S\", \"GlossList\": [ { \"ID\": \"SGML\", \"SortAs\": \"SGML\", \"GlossTerm\": \"Standard Generalized Markup Language\", \"Acronym\": \"SGML\", \"Abbrev\": \"ISO 8879:1986\", \"GlossDef\": \"A meta-markup language, used to create markup languages such as DocBook.\", \"GlossSeeAlso\": [\"GML\", \"XML\", \"markup\"] } ] } } }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
return 0; | |||||
return 0; | |||||
} | } |
@@ -1,6 +1,6 @@ | |||||
/* | /* | ||||
* gcc -o utf8 utf8.c -I/home/y/include -L./.libs -ljson | * gcc -o utf8 utf8.c -I/home/y/include -L./.libs -ljson | ||||
*/ | |||||
*/ | |||||
#include <stdio.h> | #include <stdio.h> | ||||
#include <string.h> | #include <string.h> | ||||
@@ -10,40 +10,44 @@ | |||||
#include "json_object.h" | #include "json_object.h" | ||||
#include "json_tokener.h" | #include "json_tokener.h" | ||||
void print_hex( const char* s) { | |||||
const char *iter = s; | |||||
unsigned char ch; | |||||
while ((ch = *iter++) != 0) { | |||||
if( ',' != ch) | |||||
printf("%x ", ch); | |||||
else | |||||
printf( ","); | |||||
} | |||||
printf("\n"); | |||||
void print_hex( const char* s) | |||||
{ | |||||
const char *iter = s; | |||||
unsigned char ch; | |||||
while ((ch = *iter++) != 0) | |||||
{ | |||||
if( ',' != ch) | |||||
printf("%x ", ch); | |||||
else | |||||
printf( ","); | |||||
} | |||||
printf("\n"); | |||||
} | } | ||||
int main() { | |||||
const char *input = "\"\\ud840\\udd26,\\ud840\\udd27,\\ud800\\udd26,\\ud800\\udd27\""; | |||||
const char *expected = "\xF0\xA0\x84\xA6,\xF0\xA0\x84\xA7,\xF0\x90\x84\xA6,\xF0\x90\x84\xA7"; | |||||
struct json_object *parse_result = json_tokener_parse((char*)input); | |||||
const char *unjson = json_object_get_string(parse_result); | |||||
int main() | |||||
{ | |||||
const char *input = "\"\\ud840\\udd26,\\ud840\\udd27,\\ud800\\udd26,\\ud800\\udd27\""; | |||||
const char *expected = "\xF0\xA0\x84\xA6,\xF0\xA0\x84\xA7,\xF0\x90\x84\xA6,\xF0\x90\x84\xA7"; | |||||
struct json_object *parse_result = json_tokener_parse((char*)input); | |||||
const char *unjson = json_object_get_string(parse_result); | |||||
printf("input: %s\n", input); | |||||
printf("input: %s\n", input); | |||||
int strings_match = !strcmp( expected, unjson); | |||||
int strings_match = !strcmp( expected, unjson); | |||||
int retval = 0; | int retval = 0; | ||||
if (strings_match) { | |||||
printf("JSON parse result is correct: %s\n", unjson); | |||||
printf("PASS\n"); | |||||
} else { | |||||
printf("JSON parse result doesn't match expected string\n"); | |||||
printf("expected string bytes: "); | |||||
print_hex( expected); | |||||
printf("parsed string bytes: "); | |||||
print_hex( unjson); | |||||
printf("FAIL\n"); | |||||
retval = 1; | |||||
} | |||||
if (strings_match) | |||||
{ | |||||
printf("JSON parse result is correct: %s\n", unjson); | |||||
printf("PASS\n"); | |||||
} else { | |||||
printf("JSON parse result doesn't match expected string\n"); | |||||
printf("expected string bytes: "); | |||||
print_hex( expected); | |||||
printf("parsed string bytes: "); | |||||
print_hex( unjson); | |||||
printf("FAIL\n"); | |||||
retval = 1; | |||||
} | |||||
json_object_put(parse_result); | json_object_put(parse_result); | ||||
return retval; | return retval; | ||||
} | } |
@@ -58,9 +58,9 @@ int main(int argc, char **argv) | |||||
checktype(new_obj, "big_number"); | checktype(new_obj, "big_number"); | ||||
checktype(new_obj, "a_null"); | checktype(new_obj, "a_null"); | ||||
json_object_put(new_obj); | |||||
json_object_put(new_obj); | |||||
return 0; | |||||
return 0; | |||||
} | } | ||||
static void getit(struct json_object *new_obj, const char *field) | static void getit(struct json_object *new_obj, const char *field) | ||||
@@ -9,27 +9,29 @@ | |||||
#include "json_inttypes.h" | #include "json_inttypes.h" | ||||
#include "json_object.h" | #include "json_object.h" | ||||
int main() { | |||||
// this test has a space after the null character. check that it's still included | |||||
const char *input = " \0 "; | |||||
const char *expected = "\" \\u0000 \""; | |||||
struct json_object *string = json_object_new_string_len(input, 3); | |||||
const char *json = json_object_to_json_string(string); | |||||
int main() | |||||
{ | |||||
// this test has a space after the null character. check that it's still included | |||||
const char *input = " \0 "; | |||||
const char *expected = "\" \\u0000 \""; | |||||
struct json_object *string = json_object_new_string_len(input, 3); | |||||
const char *json = json_object_to_json_string(string); | |||||
int strings_match = !strcmp( expected, json); | |||||
int retval = 0; | |||||
if (strings_match) { | |||||
printf("JSON write result is correct: %s\n", json); | |||||
printf("PASS\n"); | |||||
} else { | |||||
printf("JSON write result doesn't match expected string\n"); | |||||
printf("expected string: "); | |||||
printf("%s\n", expected); | |||||
printf("parsed string: "); | |||||
printf("%s\n", json); | |||||
printf("FAIL\n"); | |||||
retval=1; | |||||
} | |||||
json_object_put(string); | |||||
return retval; | |||||
int strings_match = !strcmp( expected, json); | |||||
int retval = 0; | |||||
if (strings_match) | |||||
{ | |||||
printf("JSON write result is correct: %s\n", json); | |||||
printf("PASS\n"); | |||||
} else { | |||||
printf("JSON write result doesn't match expected string\n"); | |||||
printf("expected string: "); | |||||
printf("%s\n", expected); | |||||
printf("parsed string: "); | |||||
printf("%s\n", json); | |||||
printf("FAIL\n"); | |||||
retval=1; | |||||
} | |||||
json_object_put(string); | |||||
return retval; | |||||
} | } |
@@ -25,83 +25,83 @@ int main(int argc, char **argv) | |||||
static void test_basic_parse() | static void test_basic_parse() | ||||
{ | { | ||||
json_object *new_obj; | |||||
json_object *new_obj; | |||||
new_obj = json_tokener_parse("\"\003\""); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("\"\003\""); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("/* hello */\"foo\""); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("/* hello */\"foo\""); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("// hello\n\"foo\""); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("// hello\n\"foo\""); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("\"\\u0041\\u0042\\u0043\""); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("\"\\u0041\\u0042\\u0043\""); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("null"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("null"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("True"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("True"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("12"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("12"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("12.3"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("12.3"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[\"\\n\"]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[\"\\n\"]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[\"\\nabc\\n\"]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[\"\\nabc\\n\"]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[null]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[null]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[false]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[false]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[\"abc\",null,\"def\",12]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("[\"abc\",null,\"def\",12]"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{}"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{}"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{ \"foo\": \"bar\" }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{ \"foo\": \"bar\" }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{ \"foo\": \"bar\", \"baz\": null, \"bool0\": true }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{ \"foo\": \"bar\", \"baz\": null, \"bool0\": true }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{ \"foo\": [null, \"foo\"] }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{ \"foo\": [null, \"foo\"] }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{ \"abc\": 12, \"foo\": \"bar\", \"bool0\": false, \"bool1\": true, \"arr\": [ 1, 2, 3, null, 5 ] }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
new_obj = json_tokener_parse("{ \"abc\": 12, \"foo\": \"bar\", \"bool0\": false, \"bool1\": true, \"arr\": [ 1, 2, 3, null, 5 ] }"); | |||||
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj)); | |||||
json_object_put(new_obj); | |||||
} | } | ||||
static void test_verbose_parse() | static void test_verbose_parse() | ||||
@@ -121,7 +121,7 @@ static void test_verbose_parse() | |||||
new_obj = json_tokener_parse_verbose("foo", &error); | new_obj = json_tokener_parse_verbose("foo", &error); | ||||
assert (new_obj == NULL); | assert (new_obj == NULL); | ||||
/* b/c the string starts with 'f' parsing return a boolean error */ | |||||
/* b/c the string starts with 'f' parsing return a boolean error */ | |||||
assert (error == json_tokener_error_parse_boolean); | assert (error == json_tokener_error_parse_boolean); | ||||
printf("json_tokener_parse_versbose() OK\n"); | printf("json_tokener_parse_versbose() OK\n"); | ||||
@@ -14,7 +14,7 @@ static void test_printbuf_memset_length(void); | |||||
static void test_basic_printbuf_memset() | static void test_basic_printbuf_memset() | ||||
{ | { | ||||
struct printbuf *pb; | struct printbuf *pb; | ||||
printf("%s: starting test\n", __func__); | printf("%s: starting test\n", __func__); | ||||
pb = printbuf_new(); | pb = printbuf_new(); | ||||
sprintbuf(pb, "blue:%d", 1); | sprintbuf(pb, "blue:%d", 1); | ||||
@@ -104,7 +104,7 @@ static void test_printbuf_memappend(int *before_resize) | |||||
memset(data, 'X', *before_resize + 1); | memset(data, 'X', *before_resize + 1); | ||||
printbuf_memappend_fast(pb, data, *before_resize + 1); | printbuf_memappend_fast(pb, data, *before_resize + 1); | ||||
printf("Append to just after resize: %d, [%s]\n", printbuf_length(pb), pb->buf); | printf("Append to just after resize: %d, [%s]\n", printbuf_length(pb), pb->buf); | ||||
free(data); | free(data); | ||||
printbuf_free(pb); | printbuf_free(pb); | ||||
@@ -63,7 +63,7 @@ int main(int argc, char **argv) | |||||
printf("my_object.to_string(custom serializer)=%s\n", json_object_to_json_string(my_object)); | printf("my_object.to_string(custom serializer)=%s\n", json_object_to_json_string(my_object)); | ||||
printf("Next line of output should be from the custom freeit function:\n"); | printf("Next line of output should be from the custom freeit function:\n"); | ||||
freeit_was_called = 0; | |||||
freeit_was_called = 0; | |||||
json_object_put(my_object); | json_object_put(my_object); | ||||
assert(freeit_was_called); | assert(freeit_was_called); | ||||