tests: json: relax some test cases

Some JSON parsers do not like bare types outside of objects or arrays
or do validation of object key uniqueness.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Ján Tomko 2024-02-08 16:50:49 +01:00
parent 1371aeb281
commit 0290dbeac7

View File

@ -550,9 +550,9 @@ mymain(void)
"[\"The meaning of life\"]"); "[\"The meaning of life\"]");
DO_TEST_PARSE_FAIL("unterminated string", "[ \"The meaning of lif ]"); DO_TEST_PARSE_FAIL("unterminated string", "[ \"The meaning of lif ]");
DO_TEST_PARSE("integer", "1", NULL); DO_TEST_PARSE("integer", "[1]", NULL);
DO_TEST_PARSE("boolean", "true", NULL); DO_TEST_PARSE("boolean", "[true]", NULL);
DO_TEST_PARSE("null", "null", NULL); DO_TEST_PARSE("null", "[null]", NULL);
DO_TEST_PARSE("[]", "[]", NULL); DO_TEST_PARSE("[]", "[]", NULL);
DO_TEST_PARSE("escaping symbols", "[\"\\\"\\t\\n\\\\\"]", NULL); DO_TEST_PARSE("escaping symbols", "[\"\\\"\\t\\n\\\\\"]", NULL);
@ -574,14 +574,11 @@ mymain(void)
DO_TEST_PARSE_FAIL("array of an object with an array as a key", DO_TEST_PARSE_FAIL("array of an object with an array as a key",
"[ {[\"key1\", \"key2\"]: \"value\"} ]"); "[ {[\"key1\", \"key2\"]: \"value\"} ]");
DO_TEST_PARSE_FAIL("object with unterminated key", "{ \"key:7 }"); DO_TEST_PARSE_FAIL("object with unterminated key", "{ \"key:7 }");
DO_TEST_PARSE_FAIL("duplicate key", "{ \"a\": 1, \"a\": 1 }");
DO_TEST_FULL("lookup on array", Lookup, DO_TEST_FULL("lookup on array", Lookup,
"[ 1 ]", NULL, false); "[ 1 ]", NULL, false);
DO_TEST_FULL("lookup on string", Lookup, DO_TEST_FULL("lookup on string", Lookup,
"\"str\"", NULL, false); "\"str\"", NULL, false);
DO_TEST_FULL("lookup on integer", Lookup,
"1", NULL, false);
DO_TEST_FULL("lookup with missing key", Lookup, DO_TEST_FULL("lookup with missing key", Lookup,
"{ }", NULL, false); "{ }", NULL, false);
DO_TEST_FULL("lookup with wrong type", Lookup, DO_TEST_FULL("lookup with wrong type", Lookup,