From 9d6fbde0c478f8e1ec3e382a529bf2aa45bc8966 Mon Sep 17 00:00:00 2001 From: Jacob Enget Date: Mon, 6 Jun 2016 13:44:44 -0500 Subject: [PATCH 1/2] Adds test that fails when validating array elements --- tests.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests.c b/tests.c index 2b4c4d8..8a658a5 100644 --- a/tests.c +++ b/tests.c @@ -382,9 +382,13 @@ void test_suite_7(void) { JSON_Value *val_from_file = json_parse_file("tests/test_5.txt"); JSON_Value *schema = json_value_init_object(); JSON_Object *schema_obj = json_value_get_object(schema); + JSON_Array *interests_arr = NULL; json_object_set_string(schema_obj, "first", ""); json_object_set_string(schema_obj, "last", ""); json_object_set_number(schema_obj, "age", 0); + json_object_set_value(schema_obj, "interests", json_value_init_array()); + interests_arr = json_object_get_array(schema_obj, "interests"); + json_array_append_string(interests_arr, ""); json_object_set_null(schema_obj, "favorites"); TEST(json_validate(schema, val_from_file) == JSONSuccess); json_object_set_string(schema_obj, "age", ""); From 1c1b77aa7e055f4f7d755522c6a7ce08d0b3a461 Mon Sep 17 00:00:00 2001 From: Jacob Enget Date: Mon, 6 Jun 2016 13:45:14 -0500 Subject: [PATCH 2/2] Fixes typo causing problems with array element validation --- parson.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parson.c b/parson.c index 7d62549..2983a33 100644 --- a/parson.c +++ b/parson.c @@ -1646,7 +1646,7 @@ JSON_Status json_validate(const JSON_Value *schema, const JSON_Value *value) { temp_schema_value = json_array_get_value(schema_array, 0); for (i = 0; i < json_array_get_count(value_array); i++) { temp_value = json_array_get_value(value_array, i); - if (json_validate(temp_schema_value, temp_value) == 0) { + if (json_validate(temp_schema_value, temp_value) == JSONFailure) { return JSONFailure; } }