Created
November 23, 2014 02:38
-
-
Save stephenmathieson/858eca4c552c72320633 to your computer and use it in GitHub Desktop.
parson tests via https://gist.github.com/kgabis/a0719a1b642fe0def1a8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
stephen@uklt:~/parson$ make | |
gcc -O0 -g -Wall -Wextra -std=c89 -pedantic-errors -o test tests.c parson.c | |
./test | |
(val = json_parse_file("tests/test_1_1.txt")) != NULL - OK | |
json_value_equals(json_parse_string(json_serialize_to_string(val)), val)- OK | |
(val = json_parse_file("tests/test_1_2.txt")) != NULL - OK | |
json_value_equals(json_parse_string(json_serialize_to_string(val)), val)- OK | |
(val = json_parse_file("tests/test_1_3.txt")) != NULL - OK | |
json_value_equals(json_parse_string(json_serialize_to_string(val)), val)- OK | |
(val = json_parse_file_with_comments("tests/test_1_1.txt")) != NULL - OK | |
json_value_equals(json_parse_string(json_serialize_to_string(val)), val)- OK | |
(val = json_parse_file_with_comments("tests/test_1_2.txt")) != NULL - OK | |
json_value_equals(json_parse_string(json_serialize_to_string(val)), val)- OK | |
(val = json_parse_file_with_comments("tests/test_1_3.txt")) != NULL - OK | |
json_value_equals(json_parse_string(json_serialize_to_string(val)), val)- OK | |
root_value - OK | |
json_value_get_type(root_value) == JSONObject - OK | |
STREQ(json_object_get_string(root_object, "string"), "lorem ipsum") - OK | |
STREQ(json_object_get_string(root_object, "utf string"), "lorem ipsum") - OK | |
STREQ(json_object_get_string(root_object, "utf-8 string"), "ã‚ã„ã†ãˆãÂÅ ")- FAIL | |
STREQ(json_object_get_string(root_object, "surrogate string"), "loremð„žipsumð§lorem")- FAIL | |
json_object_get_number(root_object, "positive one") == 1.0 - OK | |
json_object_get_number(root_object, "negative one") == -1.0 - OK | |
fabs(json_object_get_number(root_object, "hard to parse number") - (-0.000314)) < 0.000001- OK | |
json_object_get_boolean(root_object, "boolean true") == 1 - OK | |
json_object_get_boolean(root_object, "boolean false") == 0 - OK | |
json_value_get_type(json_object_get_value(root_object, "null")) == JSONNull- OK | |
STREQ(json_array_get_string(array, 0), "lorem") - OK | |
STREQ(json_array_get_string(array, 1), "ipsum") - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_object_get_array(root_object, "non existent array") == NULL - OK | |
STREQ(json_object_dotget_string(root_object, "object.nested string"), "str")- OK | |
json_object_dotget_boolean(root_object, "object.nested true") == 1 - OK | |
json_object_dotget_boolean(root_object, "object.nested false") == 0 - OK | |
json_object_dotget_value(root_object, "object.nested null") != NULL - OK | |
json_object_dotget_number(root_object, "object.nested number") == 123 - OK | |
json_object_dotget_value(root_object, "should.be.null") == NULL - OK | |
json_object_dotget_value(root_object, "should.be.null.") == NULL - OK | |
json_object_dotget_value(root_object, ".") == NULL - OK | |
json_object_dotget_value(root_object, "") == NULL - OK | |
array != NULL - OK | |
json_array_get_count(array) > 1 - OK | |
STREQ(json_array_get_string(array, 0), "lorem") - OK | |
STREQ(json_array_get_string(array, 1), "ipsum") - OK | |
json_object_dotget_boolean(root_object, "nested true") - OK | |
STREQ(json_object_get_string(root_object, "/**/"), "comment") - OK | |
STREQ(json_object_get_string(root_object, "//"), "comment") - OK | |
STREQ(json_object_get_string(root_object, "url"), "https://www.example.com/search?q=12345")- OK | |
STREQ(json_object_get_string(root_object, "escaped chars"), "\" \\ /") - OK | |
json_value_equals(root_value, json_parse_string(json_serialize_to_string(root_value)))- OK | |
root_value - OK | |
json_value_get_type(root_value) == JSONObject - OK | |
STREQ(json_object_get_string(root_object, "string"), "lorem ipsum") - OK | |
STREQ(json_object_get_string(root_object, "utf string"), "lorem ipsum") - OK | |
STREQ(json_object_get_string(root_object, "utf-8 string"), "ã‚ã„ã†ãˆãÂÅ ")- FAIL | |
STREQ(json_object_get_string(root_object, "surrogate string"), "loremð„žipsumð§lorem")- FAIL | |
json_object_get_number(root_object, "positive one") == 1.0 - OK | |
json_object_get_number(root_object, "negative one") == -1.0 - OK | |
fabs(json_object_get_number(root_object, "hard to parse number") - (-0.000314)) < 0.000001- OK | |
json_object_get_boolean(root_object, "boolean true") == 1 - OK | |
json_object_get_boolean(root_object, "boolean false") == 0 - OK | |
json_value_get_type(json_object_get_value(root_object, "null")) == JSONNull- OK | |
STREQ(json_array_get_string(array, 0), "lorem") - OK | |
STREQ(json_array_get_string(array, 1), "ipsum") - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_array_get_number(array, i) == (i * i) - OK | |
json_object_get_array(root_object, "non existent array") == NULL - OK | |
STREQ(json_object_dotget_string(root_object, "object.nested string"), "str")- OK | |
json_object_dotget_boolean(root_object, "object.nested true") == 1 - OK | |
json_object_dotget_boolean(root_object, "object.nested false") == 0 - OK | |
json_object_dotget_value(root_object, "object.nested null") != NULL - OK | |
json_object_dotget_number(root_object, "object.nested number") == 123 - OK | |
json_object_dotget_value(root_object, "should.be.null") == NULL - OK | |
json_object_dotget_value(root_object, "should.be.null.") == NULL - OK | |
json_object_dotget_value(root_object, ".") == NULL - OK | |
json_object_dotget_value(root_object, "") == NULL - OK | |
array != NULL - OK | |
json_array_get_count(array) > 1 - OK | |
STREQ(json_array_get_string(array, 0), "lorem") - OK | |
STREQ(json_array_get_string(array, 1), "ipsum") - OK | |
json_object_dotget_boolean(root_object, "nested true") - OK | |
STREQ(json_object_get_string(root_object, "/**/"), "comment") - OK | |
STREQ(json_object_get_string(root_object, "//"), "comment") - OK | |
STREQ(json_object_get_string(root_object, "url"), "https://www.example.com/search?q=12345")- OK | |
STREQ(json_object_get_string(root_object, "escaped chars"), "\" \\ /") - OK | |
json_value_equals(root_value, json_parse_string(json_serialize_to_string(root_value)))- OK | |
Testing invalid strings: | |
json_parse_string(NULL) == NULL - OK | |
json_parse_string("") == NULL - OK | |
json_parse_string("[\"lorem\",]") == NULL - OK | |
json_parse_string("{\"lorem\":\"ipsum\",}") == NULL - OK | |
json_parse_string("{lorem:ipsum}") == NULL - OK | |
json_parse_string("[,]") == NULL - OK | |
json_parse_string("[,") == NULL - OK | |
json_parse_string("[") == NULL - OK | |
json_parse_string("]") == NULL - OK | |
json_parse_string("{\"a\":0,\"a\":0}") == NULL - OK | |
json_parse_string("{:,}") == NULL - OK | |
json_parse_string("{,}") == NULL - OK | |
json_parse_string("{,") == NULL - OK | |
json_parse_string("{:") == NULL - OK | |
json_parse_string("{") == NULL - OK | |
json_parse_string("}") == NULL - OK | |
json_parse_string("x") == NULL - OK | |
json_parse_string("\"string\"") == NULL - OK | |
json_parse_string("{:\"no name\"}") == NULL - OK | |
json_parse_string("[,\"no first value\"]") == NULL - OK | |
json_parse_string("[\"\\u00zz\"]") == NULL - OK | |
json_parse_string("[\"\\u00\"]") == NULL - OK | |
json_parse_string("[\"\\u\"]") == NULL - OK | |
json_parse_string("[\"\\\"]") == NULL - OK | |
json_parse_string("[\"\"\"]") == NULL - OK | |
json_parse_string("[\"\0\"]") == NULL - OK | |
json_parse_string("[\"\a\"]") == NULL - OK | |
json_parse_string("[\"\b\"]") == NULL - OK | |
json_parse_string("[\"\t\"]") == NULL - OK | |
json_parse_string("[\"\n\"]") == NULL - OK | |
json_parse_string("[\"\f\"]") == NULL - OK | |
json_parse_string("[\"\r\"]") == NULL - OK | |
json_parse_string(nested_20x) == NULL - OK | |
json_parse_string("[0x2]") == NULL - OK | |
json_parse_string("[0X2]") == NULL - OK | |
json_parse_string("[07]") == NULL - OK | |
json_parse_string("[0070]") == NULL - OK | |
json_parse_string("[07.0]") == NULL - OK | |
json_parse_string("[-07]") == NULL - OK | |
json_parse_string("[-007]") == NULL - OK | |
json_parse_string("[-07.0]") == NULL - OK | |
json_parse_string("[\"\\uDF67\\uD834\"]") == NULL - OK | |
Testing tests/test_2.txt: | |
json_value_equals(a, a) - OK | |
a_copy != NULL - OK | |
json_value_equals(a, a_copy) - OK | |
json_object_set_string(obj, "first", "John") == JSONSuccess - OK | |
json_object_set_string(obj, "last", "Doe") == JSONSuccess - OK | |
json_object_set_number(obj, "age", 25) == JSONSuccess - OK | |
json_object_set_boolean(obj, "registered", 1) == JSONSuccess - OK | |
json_object_set_value(obj, "interests", json_value_init_array()) == JSONSuccess- OK | |
json_array_append_string(json_object_get_array(obj, "interests"), "Writing") == JSONSuccess- OK | |
json_array_append_string(json_object_get_array(obj, "interests"), "Mountain Biking") == JSONSuccess- OK | |
json_array_replace_string(json_object_get_array(obj, "interests"), 0, "Reading") == JSONSuccess- OK | |
json_object_dotset_string(obj, "favorites.color", "blue") == JSONSuccess- OK | |
json_object_dotset_string(obj, "favorites.sport", "running") == JSONSuccess- OK | |
json_object_dotset_string(obj, "favorites.fruit", "apple") == JSONSuccess- OK | |
json_object_dotremove(obj, "favorites.fruit") == JSONSuccess - OK | |
json_object_set_string(obj, "utf string", "\\u006corem\\u0020ipsum") == JSONSuccess- OK | |
json_object_set_string(obj, "utf-8 string", "ã‚ã„ã†ãˆãÂÅ ") == JSONSuccess- OK | |
json_object_set_string(obj, "surrogate string", "lorem\\uD834\\uDD1Eipsum\\uD834\\uDF67lorem") == JSONSuccess- OK | |
json_value_equals(val_from_file, val) - FAIL | |
json_value_equals(a, b) - OK | |
!json_value_equals(a, b) - OK | |
json_value_equals(a, b) - OK | |
!json_value_equals(a, b) - OK | |
json_validate(schema, val_from_file) == JSONSuccess - OK | |
json_validate(schema, val_from_file) == JSONFailure - OK | |
json_serialize_to_file(a, temp_filename) == JSONSuccess - OK | |
json_value_equals(a, b) - OK | |
Tests failed: 5 | |
Tests passed: 166 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment