diff --git a/rjp++/tests/output.cpp b/rjp++/tests/output.cpp index b4ae311..88aac59 100644 --- a/rjp++/tests/output.cpp +++ b/rjp++/tests/output.cpp @@ -195,6 +195,22 @@ RJP_value* case_25(void){ return obj; } */ +rjp::value case_26(void){ + return rjp::string_val("string"_ss); +} +rjp::value case_27(void){ + return rjp::string_val(""_ss); +} +rjp::value case_28(void){ + rjp::object obj; + obj.add("key"_ss, "string"_ss); + return rjp::cast(obj); +} +rjp::value case_29(void){ + rjp::object obj; + obj.add("key"_ss, ""_ss); + return rjp::cast(obj); +} static test_pair tests[] = { {case_1, "null", RJP_FORMAT_NONE}, @@ -223,6 +239,69 @@ static test_pair tests[] = { {case_24, "{\"key\":{\"subkey\":false,\"subkey2\":true}}", RJP_FORMAT_NONE}, {case_25, "{\"key\":{\"subkey2\":true,\"subkey\":false}}", RJP_FORMAT_NONE}, */ + {case_26, "\"string\"", RJP_FORMAT_NONE}, + {case_27, "\"\"", RJP_FORMAT_NONE}, + {case_28, "{\"key\":\"string\"}", RJP_FORMAT_NONE}, + {case_29, "{\"key\":\"\"}", RJP_FORMAT_NONE}, + + {case_8, "{\"key\":7}", RJP_FORMAT_COMMA_SPACES}, + {case_10, "{\"key\":{\"subkey\":false, \"subkey2\":true}}", RJP_FORMAT_COMMA_SPACES}, + {case_11, "{\"key\":{\"subkey\":false, \"subkey2\":true}}", RJP_FORMAT_COMMA_SPACES}, + //{case_12, "{\"key\":{\"subkey\":false, \"subkey2\":true}}", RJP_FORMAT_COMMA_SPACES}, + //{case_13, "{\"key\":{\"subkey2\":true, \"subkey\":false}}", RJP_FORMAT_COMMA_SPACES}, + {case_14, "[5]", RJP_FORMAT_COMMA_SPACES}, + {case_16, "[[false, true]]", RJP_FORMAT_COMMA_SPACES}, + {case_17, "[5, [false, true]]", RJP_FORMAT_COMMA_SPACES}, + {case_18, "[5, {\"key\":[false]}]", RJP_FORMAT_COMMA_SPACES}, + {case_19, "[5, {\"key0\":true, \"key1\":false, \"key2\":true, \"key3\":false, \"key4\":true, \"key5\":false, \"key6\":true, \"key7\":false, \"key8\":true, \"key9\":false}]", RJP_FORMAT_COMMA_SPACES}, + //{case_20, "[5, {\"key9\":true, \"key8\":false, \"key7\":true, \"key6\":false, \"key5\":true, \"key4\":false, \"key3\":true, \"key2\":false, \"key1\":true, \"key0\":false}]", RJP_FORMAT_COMMA_SPACES}, + {case_21, "{\"arr\":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}", RJP_FORMAT_COMMA_SPACES}, + //{case_22, "{\"key\":{\"subkey\":false, \"subkey2\":true}}", RJP_FORMAT_COMMA_SPACES}, + //{case_23, "{\"key\":{\"subkey\":false, \"subkey2\":true}}", RJP_FORMAT_COMMA_SPACES}, + //{case_24, "{\"key\":{\"subkey\":false, \"subkey2\":true}}", RJP_FORMAT_COMMA_SPACES}, + //{case_25, "{\"key\":{\"subkey2\":true, \"subkey\":false}}", RJP_FORMAT_COMMA_SPACES}, + + {case_8, "{\"key\": 7}", RJP_FORMAT_KEY_SPACES}, + {case_9, "{\"key\": {\"subkey\": false}}", RJP_FORMAT_KEY_SPACES}, + {case_10, "{\"key\": {\"subkey\": false,\"subkey2\": true}}", RJP_FORMAT_KEY_SPACES}, + {case_11, "{\"key\": {\"subkey\": false,\"subkey2\": true}}", RJP_FORMAT_KEY_SPACES}, + //{case_12, "{\"key\": {\"subkey\": false,\"subkey2\": true}}", RJP_FORMAT_KEY_SPACES}, + //{case_13, "{\"key\": {\"subkey2\": true,\"subkey\": false}}", RJP_FORMAT_KEY_SPACES}, + {case_18, "[5,{\"key\": [false]}]", RJP_FORMAT_KEY_SPACES}, + {case_19, "[5,{\"key0\": true,\"key1\": false,\"key2\": true,\"key3\": false,\"key4\": true,\"key5\": false,\"key6\": true,\"key7\": false,\"key8\": true,\"key9\": false}]", RJP_FORMAT_KEY_SPACES}, + //{case_20, "[5,{\"key9\": true,\"key8\": false,\"key7\": true,\"key6\": false,\"key5\": true,\"key4\": false,\"key3\": true,\"key2\": false,\"key1\": true,\"key0\": false}]", RJP_FORMAT_KEY_SPACES}, + {case_21, "{\"arr\": [0,1,2,3,4,5,6,7,8,9]}", RJP_FORMAT_KEY_SPACES}, + //{case_22, "{\"key\": {\"subkey\": false,\"subkey2\": true}}", RJP_FORMAT_KEY_SPACES}, + //{case_23, "{\"key\": {\"subkey\": false,\"subkey2\": true}}", RJP_FORMAT_KEY_SPACES}, + //{case_24, "{\"key\": {\"subkey\": false,\"subkey2\": true}}", RJP_FORMAT_KEY_SPACES}, + //{case_25, "{\"key\": {\"subkey2\": true,\"subkey\": false}}", RJP_FORMAT_KEY_SPACES}, + {case_28, "{\"key\": \"string\"}", RJP_FORMAT_KEY_SPACES}, + {case_29, "{\"key\": \"\"}", RJP_FORMAT_KEY_SPACES}, + + {case_5, "{}", RJP_FORMAT_TABBED_LINES}, + {case_6, "[]", RJP_FORMAT_TABBED_LINES}, + //{case_7, "{}", RJP_FORMAT_TABBED_LINES}, + {case_8, "{\n\t\"key\":7\n}", RJP_FORMAT_TABBED_LINES}, + {case_9, "{\n\t\"key\":{\n\t\t\"subkey\":false\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + {case_10, "{\n\t\"key\":{\n\t\t\"subkey\":false,\n\t\t\"subkey2\":true\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + {case_11, "{\n\t\"key\":{\n\t\t\"subkey\":false,\n\t\t\"subkey2\":true\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + //{case_12, "{\n\t\"key\":{\n\t\t\"subkey\":false,\n\t\t\"subkey2\":true\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + //{case_13, "{\n\t\"key\":{\n\t\t\"subkey2\":true,\n\t\t\"subkey\":false\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + {case_14, "[\n\t5\n]", RJP_FORMAT_TABBED_LINES}, + {case_15, "[\n\t[\n\t\tfalse\n\t]\n]", RJP_FORMAT_TABBED_LINES}, + {case_16, "[\n\t[\n\t\tfalse,\n\t\ttrue\n\t]\n]", RJP_FORMAT_TABBED_LINES}, + {case_17, "[\n\t5,\n\t[\n\t\tfalse,\n\t\ttrue\n\t]\n]", RJP_FORMAT_TABBED_LINES}, + {case_18, "[\n\t5,\n\t{\n\t\t\"key\":[\n\t\t\tfalse\n\t\t]\n\t}\n]", RJP_FORMAT_TABBED_LINES}, + {case_19, "[\n\t5,\n\t{\n\t\t\"key0\":true,\n\t\t\"key1\":false,\n\t\t\"key2\":true,\n\t\t\"key3\":false,\n\t\t\"key4\":true,\n\t\t\"key5\":false,\n\t\t\"key6\":true,\n\t\t\"key7\":false,\n\t\t\"key8\":true,\n\t\t\"key9\":false\n\t}\n]", RJP_FORMAT_TABBED_LINES}, + //{case_20, "[\n\t5,\n\t{\n\t\t\"key9\":true,\n\t\t\"key8\":false,\n\t\t\"key7\":true,\n\t\t\"key6\":false,\n\t\t\"key5\":true,\n\t\t\"key4\":false,\n\t\t\"key3\":true,\n\t\t\"key2\":false,\n\t\t\"key1\":true,\n\t\t\"key0\":false\n\t}\n]", RJP_FORMAT_TABBED_LINES}, + {case_21, "{\n\t\"arr\":[\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t4,\n\t\t5,\n\t\t6,\n\t\t7,\n\t\t8,\n\t\t9\n\t]\n}", RJP_FORMAT_TABBED_LINES}, + //{case_22, "{\n\t\"key\":{\n\t\t\"subkey\":false,\n\t\t\"subkey2\":true\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + //{case_23, "{\n\t\"key\":{\n\t\t\"subkey\":false,\n\t\t\"subkey2\":true\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + //{case_24, "{\n\t\"key\":{\n\t\t\"subkey\":false,\n\t\t\"subkey2\":true\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + //{case_25, "{\n\t\"key\":{\n\t\t\"subkey2\":true,\n\t\t\"subkey\":false\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + {case_28, "{\n\t\"key\":\"string\"\n}", RJP_FORMAT_TABBED_LINES}, + {case_29, "{\n\t\"key\":\"\"\n}", RJP_FORMAT_TABBED_LINES}, + {case_1, "null", RJP_FORMAT_PRETTY}, {case_2, "5", RJP_FORMAT_PRETTY}, {case_3, "true", RJP_FORMAT_PRETTY}, @@ -248,7 +327,12 @@ static test_pair tests[] = { {case_23, "{\n\t\"key\": {\n\t\t\"subkey\": false,\n\t\t\"subkey2\": true\n\t}\n}", RJP_FORMAT_PRETTY}, {case_24, "{\n\t\"key\": {\n\t\t\"subkey\": false,\n\t\t\"subkey2\": true\n\t}\n}", RJP_FORMAT_PRETTY}, {case_25, "{\n\t\"key\": {\n\t\t\"subkey2\": true,\n\t\t\"subkey\": false\n\t}\n}", RJP_FORMAT_PRETTY}, -*/}; +*/ + {case_26, "\"string\"", RJP_FORMAT_PRETTY}, + {case_27, "\"\"", RJP_FORMAT_PRETTY}, + {case_28, "{\n\t\"key\": \"string\"\n}", RJP_FORMAT_PRETTY}, + {case_29, "{\n\t\"key\": \"\"\n}", RJP_FORMAT_PRETTY}, +}; int run_test(test_pair* p){ rjp::value test = p->create(); diff --git a/tests/output.c b/tests/output.c index bfa9892..bd41a61 100644 --- a/tests/output.c +++ b/tests/output.c @@ -209,6 +209,24 @@ RJP_value* case_25(void){ rjp_add_member(sub, "subkey", 0, rjp_new_bool(0)); return obj; } +RJP_value* case_26(void){ + return rjp_new_string("string", 0); +} +RJP_value* case_27(void){ + return rjp_new_string("", 0); +} +RJP_value* case_28(void){ + RJP_value* obj = rjp_new_object(); + RJP_value* str = rjp_new_member(obj, "key", 0); + rjp_set_string(str, "string", 0); + return obj; +} +RJP_value* case_29(void){ + RJP_value* obj = rjp_new_object(); + RJP_value* str = rjp_new_member(obj, "key", 0); + rjp_set_string(str, "", 0); + return obj; +} static test_pair tests[] = { {case_1, "null", RJP_FORMAT_NONE}, @@ -236,6 +254,10 @@ static test_pair tests[] = { {case_23, "{\"key\":{\"subkey\":false,\"subkey2\":true}}", RJP_FORMAT_NONE}, {case_24, "{\"key\":{\"subkey\":false,\"subkey2\":true}}", RJP_FORMAT_NONE}, {case_25, "{\"key\":{\"subkey2\":true,\"subkey\":false}}", RJP_FORMAT_NONE}, + {case_26, "\"string\"", RJP_FORMAT_NONE}, + {case_27, "\"\"", RJP_FORMAT_NONE}, + {case_28, "{\"key\":\"string\"}", RJP_FORMAT_NONE}, + {case_29, "{\"key\":\"\"}", RJP_FORMAT_NONE}, {case_8, "{\"key\":7}", RJP_FORMAT_COMMA_SPACES}, {case_10, "{\"key\":{\"subkey\":false, \"subkey2\":true}}", RJP_FORMAT_COMMA_SPACES}, @@ -268,6 +290,8 @@ static test_pair tests[] = { {case_23, "{\"key\": {\"subkey\": false,\"subkey2\": true}}", RJP_FORMAT_KEY_SPACES}, {case_24, "{\"key\": {\"subkey\": false,\"subkey2\": true}}", RJP_FORMAT_KEY_SPACES}, {case_25, "{\"key\": {\"subkey2\": true,\"subkey\": false}}", RJP_FORMAT_KEY_SPACES}, + {case_28, "{\"key\": \"string\"}", RJP_FORMAT_KEY_SPACES}, + {case_29, "{\"key\": \"\"}", RJP_FORMAT_KEY_SPACES}, {case_5, "{}", RJP_FORMAT_TABBED_LINES}, {case_6, "[]", RJP_FORMAT_TABBED_LINES}, @@ -290,6 +314,8 @@ static test_pair tests[] = { {case_23, "{\n\t\"key\":{\n\t\t\"subkey\":false,\n\t\t\"subkey2\":true\n\t}\n}", RJP_FORMAT_TABBED_LINES}, {case_24, "{\n\t\"key\":{\n\t\t\"subkey\":false,\n\t\t\"subkey2\":true\n\t}\n}", RJP_FORMAT_TABBED_LINES}, {case_25, "{\n\t\"key\":{\n\t\t\"subkey2\":true,\n\t\t\"subkey\":false\n\t}\n}", RJP_FORMAT_TABBED_LINES}, + {case_28, "{\n\t\"key\":\"string\"\n}", RJP_FORMAT_TABBED_LINES}, + {case_29, "{\n\t\"key\":\"\"\n}", RJP_FORMAT_TABBED_LINES}, {case_1, "null", RJP_FORMAT_PRETTY}, {case_2, "5", RJP_FORMAT_PRETTY}, @@ -316,6 +342,10 @@ static test_pair tests[] = { {case_23, "{\n\t\"key\": {\n\t\t\"subkey\": false,\n\t\t\"subkey2\": true\n\t}\n}", RJP_FORMAT_PRETTY}, {case_24, "{\n\t\"key\": {\n\t\t\"subkey\": false,\n\t\t\"subkey2\": true\n\t}\n}", RJP_FORMAT_PRETTY}, {case_25, "{\n\t\"key\": {\n\t\t\"subkey2\": true,\n\t\t\"subkey\": false\n\t}\n}", RJP_FORMAT_PRETTY}, + {case_26, "\"string\"", RJP_FORMAT_PRETTY}, + {case_27, "\"\"", RJP_FORMAT_PRETTY}, + {case_28, "{\n\t\"key\": \"string\"\n}", RJP_FORMAT_PRETTY}, + {case_29, "{\n\t\"key\": \"\"\n}", RJP_FORMAT_PRETTY}, }; int run_test(test_pair* p){