in tests.c [248:311]
void test_suite_3(void) {
puts("Testing valid strings:");
TEST(json_parse_string("{\"lorem\":\"ipsum\"}") != NULL);
TEST(json_parse_string("[\"lorem\"]") != NULL);
TEST(json_parse_string("null") != NULL);
TEST(json_parse_string("true") != NULL);
TEST(json_parse_string("false") != NULL);
TEST(json_parse_string("\"string\"") != NULL);
TEST(json_parse_string("123") != NULL);
puts("Test UTF-16 parsing:");
TEST(STREQ(json_string(json_parse_string("\"\\u0024x\"")), "$x"));
TEST(STREQ(json_string(json_parse_string("\"\\u00A2x\"")), "¢x"));
TEST(STREQ(json_string(json_parse_string("\"\\u20ACx\"")), "€x"));
TEST(STREQ(json_string(json_parse_string("\"\\uD801\\uDC37x\"")), "𐐷x"));
puts("Testing invalid strings:");
malloc_count = 0;
TEST(json_parse_string(NULL) == NULL);
TEST(json_parse_string("") == NULL); /* empty string */
TEST(json_parse_string("[\"lorem\",]") == NULL);
TEST(json_parse_string("{\"lorem\":\"ipsum\",}") == NULL);
TEST(json_parse_string("{lorem:ipsum}") == NULL);
TEST(json_parse_string("[,]") == NULL);
TEST(json_parse_string("[,") == NULL);
TEST(json_parse_string("[") == NULL);
TEST(json_parse_string("]") == NULL);
TEST(json_parse_string("{\"a\":0,\"a\":0}") == NULL); /* duplicate keys */
TEST(json_parse_string("{:,}") == NULL);
TEST(json_parse_string("{,}") == NULL);
TEST(json_parse_string("{,") == NULL);
TEST(json_parse_string("{:") == NULL);
TEST(json_parse_string("{") == NULL);
TEST(json_parse_string("}") == NULL);
TEST(json_parse_string("x") == NULL);
TEST(json_parse_string("{:\"no name\"}") == NULL);
TEST(json_parse_string("[,\"no first value\"]") == NULL);
TEST(json_parse_string("{\"key\"\"value\"}") == NULL);
TEST(json_parse_string("{\"a\"}") == NULL);
TEST(json_parse_string("[\"\\u00zz\"]") == NULL); /* invalid utf value */
TEST(json_parse_string("[\"\\u00\"]") == NULL); /* invalid utf value */
TEST(json_parse_string("[\"\\u\"]") == NULL); /* invalid utf value */
TEST(json_parse_string("[\"\\\"]") == NULL); /* control character */
TEST(json_parse_string("[\"\"\"]") == NULL); /* control character */
TEST(json_parse_string("[\"\0\"]") == NULL); /* control character */
TEST(json_parse_string("[\"\a\"]") == NULL); /* control character */
TEST(json_parse_string("[\"\b\"]") == NULL); /* control character */
TEST(json_parse_string("[\"\t\"]") == NULL); /* control character */
TEST(json_parse_string("[\"\n\"]") == NULL); /* control character */
TEST(json_parse_string("[\"\f\"]") == NULL); /* control character */
TEST(json_parse_string("[\"\r\"]") == NULL); /* control character */
TEST(json_parse_string("[0x2]") == NULL); /* hex */
TEST(json_parse_string("[0X2]") == NULL); /* HEX */
TEST(json_parse_string("[07]") == NULL); /* octals */
TEST(json_parse_string("[0070]") == NULL);
TEST(json_parse_string("[07.0]") == NULL);
TEST(json_parse_string("[-07]") == NULL);
TEST(json_parse_string("[-007]") == NULL);
TEST(json_parse_string("[-07.0]") == NULL);
TEST(json_parse_string("[\"\\uDF67\\uD834\"]") == NULL); /* wrong order surrogate pair */
TEST(json_parse_string("[1.7976931348623157e309]") == NULL);
TEST(json_parse_string("[-1.7976931348623157e309]") == NULL);
TEST(malloc_count == 0);
}