From: José Bollo Date: Mon, 1 Aug 2016 13:04:54 +0000 (+0200) Subject: test: add test of 'json_object_to_json_string_length' X-Git-Tag: json-c-0.13-20171207~136^2^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1fceb2207aed183c4855b3ad48ec886bbb06ae85;p=json-c test: add test of 'json_object_to_json_string_length' The test is implied in test1. The idea is to check that the returned lengths and strings are identical to what is expected to return the already tested function 'json_object_to_json_string_ext'. Signed-off-by: José Bollo --- diff --git a/tests/test1.c b/tests/test1.c index 3cbd186..05956d1 100644 --- a/tests/test1.c +++ b/tests/test1.c @@ -28,7 +28,27 @@ static int sort_fn (const void *j1, const void *j2) } #ifdef TEST_FORMATTED -#define json_object_to_json_string(obj) json_object_to_json_string_ext(obj,sflags) +static const char *to_json_string(json_object *obj, int flags) +{ + size_t length; + char *copy; + const char *result; + + result = json_object_to_json_string_length(obj, flags, &length); + copy = strndup(result, length); + if (copy == NULL) + printf("to_json_string: Allocation failed!\n"); + else { + result = json_object_to_json_string_ext(obj, flags); + if (length != strlen(result)) + printf("to_json_string: Length mismatch!\n"); + if (strcmp(copy, result) != 0) + printf("to_json_string: Comparison Failed!\n"); + free(copy); + } + return result; +} +#define json_object_to_json_string(obj) to_json_string(obj,sflags) #else /* no special define */ #endif