diff --git a/test/tool/net/samples/fail1.lua b/test/tool/net/samples/fail1.lua deleted file mode 100644 index 1d42bfa4c..000000000 --- a/test/tool/net/samples/fail1.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail1.json -assert(pcall(DecodeJson, [[ -"A JSON payload should be an object or array, not a string." -]])) diff --git a/test/tool/net/samples/fail10.lua b/test/tool/net/samples/fail10.lua deleted file mode 100644 index ce6b157d2..000000000 --- a/test/tool/net/samples/fail10.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail10.json -assert(false == pcall(DecodeJson, [[ -{"Extra value after close": true} "misplaced quoted value" -]])) diff --git a/test/tool/net/samples/fail11.lua b/test/tool/net/samples/fail11.lua deleted file mode 100644 index c11969d8e..000000000 --- a/test/tool/net/samples/fail11.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail11.json -assert(false == pcall(DecodeJson, [[ -{"Illegal expression": 1 + 2} -]])) diff --git a/test/tool/net/samples/fail12.lua b/test/tool/net/samples/fail12.lua deleted file mode 100644 index ee1be061c..000000000 --- a/test/tool/net/samples/fail12.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail12.json -assert(false == pcall(DecodeJson, [[ -{"Illegal invocation": alert()} -]])) diff --git a/test/tool/net/samples/fail13.lua b/test/tool/net/samples/fail13.lua deleted file mode 100644 index 9bb9bc57c..000000000 --- a/test/tool/net/samples/fail13.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail13.json -assert(false == pcall(DecodeJson, [[ -{"Numbers cannot have leading zeroes": 013} -]])) diff --git a/test/tool/net/samples/fail14.lua b/test/tool/net/samples/fail14.lua deleted file mode 100644 index a469ed4da..000000000 --- a/test/tool/net/samples/fail14.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail14.json -assert(false == pcall(DecodeJson, [[ -{"Numbers cannot be hex": 0x14} -]])) diff --git a/test/tool/net/samples/fail15.lua b/test/tool/net/samples/fail15.lua deleted file mode 100644 index 8bca10bd5..000000000 --- a/test/tool/net/samples/fail15.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail15.json -assert(false == pcall(DecodeJson, [[ -[ "Illegal backslash escape: \x15"] -]])) diff --git a/test/tool/net/samples/fail16.lua b/test/tool/net/samples/fail16.lua deleted file mode 100644 index 78ef92747..000000000 --- a/test/tool/net/samples/fail16.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail16.json -assert(false == pcall(DecodeJson, [[ -[ \naked] -]])) diff --git a/test/tool/net/samples/fail17.lua b/test/tool/net/samples/fail17.lua deleted file mode 100644 index cc0104c2b..000000000 --- a/test/tool/net/samples/fail17.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail17.json -assert(false == pcall(DecodeJson, [[ -[ "Illegal backslash escape: \017"] -]])) diff --git a/test/tool/net/samples/fail18.lua b/test/tool/net/samples/fail18.lua deleted file mode 100644 index b9e999223..000000000 --- a/test/tool/net/samples/fail18.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail18.json -assert(pcall(DecodeJson, [[ -[ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ "Too deep"] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] -]])) diff --git a/test/tool/net/samples/fail19.lua b/test/tool/net/samples/fail19.lua deleted file mode 100644 index 3bab2bb57..000000000 --- a/test/tool/net/samples/fail19.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail19.json -assert(false == pcall(DecodeJson, [[ -{"Missing colon" null} -]])) diff --git a/test/tool/net/samples/fail2.lua b/test/tool/net/samples/fail2.lua deleted file mode 100644 index ec5c72f10..000000000 --- a/test/tool/net/samples/fail2.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail2.json -assert(false == pcall(DecodeJson, [[ -[ "Unclosed array" -]])) diff --git a/test/tool/net/samples/fail20.lua b/test/tool/net/samples/fail20.lua deleted file mode 100644 index 01b7d8413..000000000 --- a/test/tool/net/samples/fail20.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail20.json -assert(false == pcall(DecodeJson, [[ -{"Double colon":: null} -]])) diff --git a/test/tool/net/samples/fail21.lua b/test/tool/net/samples/fail21.lua deleted file mode 100644 index a1560800a..000000000 --- a/test/tool/net/samples/fail21.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail21.json -assert(false == pcall(DecodeJson, [[ -{"Comma instead of colon", null} -]])) diff --git a/test/tool/net/samples/fail22.lua b/test/tool/net/samples/fail22.lua deleted file mode 100644 index 46933875f..000000000 --- a/test/tool/net/samples/fail22.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail22.json -assert(false == pcall(DecodeJson, [[ -[ "Colon instead of comma": false] -]])) diff --git a/test/tool/net/samples/fail23.lua b/test/tool/net/samples/fail23.lua deleted file mode 100644 index 490456c58..000000000 --- a/test/tool/net/samples/fail23.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail23.json -assert(false == pcall(DecodeJson, [[ -[ "Bad value", truth] -]])) diff --git a/test/tool/net/samples/fail24.lua b/test/tool/net/samples/fail24.lua deleted file mode 100644 index 805e91aaa..000000000 --- a/test/tool/net/samples/fail24.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail24.json -assert(false == pcall(DecodeJson, [[ -[ 'single quote'] -]])) diff --git a/test/tool/net/samples/fail25.lua b/test/tool/net/samples/fail25.lua deleted file mode 100644 index 1238560fd..000000000 --- a/test/tool/net/samples/fail25.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail25.json -assert(false == pcall(DecodeJson, [[ -[ " tab character in string "] -]])) diff --git a/test/tool/net/samples/fail26.lua b/test/tool/net/samples/fail26.lua deleted file mode 100644 index c4858c259..000000000 --- a/test/tool/net/samples/fail26.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail26.json -assert(false == pcall(DecodeJson, [[ -[ "tab\ character\ in\ string\ "] -]])) diff --git a/test/tool/net/samples/fail27.lua b/test/tool/net/samples/fail27.lua deleted file mode 100644 index 7f03c1372..000000000 --- a/test/tool/net/samples/fail27.lua +++ /dev/null @@ -1,6 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail27.json -assert(false == pcall(DecodeJson, [[ -[ "line -break"] -]])) diff --git a/test/tool/net/samples/fail28.lua b/test/tool/net/samples/fail28.lua deleted file mode 100644 index 4e32d0ecb..000000000 --- a/test/tool/net/samples/fail28.lua +++ /dev/null @@ -1,6 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail28.json -assert(false == pcall(DecodeJson, [[ -[ "line\ -break"] -]])) diff --git a/test/tool/net/samples/fail29.lua b/test/tool/net/samples/fail29.lua deleted file mode 100644 index ff95ed8b2..000000000 --- a/test/tool/net/samples/fail29.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail29.json -assert(false == pcall(DecodeJson, [[ -[ 0e] -]])) diff --git a/test/tool/net/samples/fail3.lua b/test/tool/net/samples/fail3.lua deleted file mode 100644 index 4452042cf..000000000 --- a/test/tool/net/samples/fail3.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail3.json -assert(false == pcall(DecodeJson, [[ -{unquoted_key: "keys must be quoted"} -]])) diff --git a/test/tool/net/samples/fail30.lua b/test/tool/net/samples/fail30.lua deleted file mode 100644 index 4930dfbc6..000000000 --- a/test/tool/net/samples/fail30.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail30.json -assert(false == pcall(DecodeJson, [[ -[ 0e+] -]])) diff --git a/test/tool/net/samples/fail31.lua b/test/tool/net/samples/fail31.lua deleted file mode 100644 index 0f97337ac..000000000 --- a/test/tool/net/samples/fail31.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail31.json -assert(false == pcall(DecodeJson, [[ -[ 0e+-1] -]])) diff --git a/test/tool/net/samples/fail32.lua b/test/tool/net/samples/fail32.lua deleted file mode 100644 index dc6022991..000000000 --- a/test/tool/net/samples/fail32.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail32.json -assert(false == pcall(DecodeJson, [[ -{"Comma instead if closing brace": true, -]])) diff --git a/test/tool/net/samples/fail33.lua b/test/tool/net/samples/fail33.lua deleted file mode 100644 index 226ff5274..000000000 --- a/test/tool/net/samples/fail33.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail33.json -assert(false == pcall(DecodeJson, [[ -[ "mismatch"} -]])) diff --git a/test/tool/net/samples/fail4.lua b/test/tool/net/samples/fail4.lua deleted file mode 100644 index ad7fceb94..000000000 --- a/test/tool/net/samples/fail4.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail4.json -assert(false == pcall(DecodeJson, [[ -[ "extra comma",] -]])) diff --git a/test/tool/net/samples/fail5.lua b/test/tool/net/samples/fail5.lua deleted file mode 100644 index 93cdefe78..000000000 --- a/test/tool/net/samples/fail5.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail5.json -assert(false == pcall(DecodeJson, [[ -[ "double extra comma",,] -]])) diff --git a/test/tool/net/samples/fail6.lua b/test/tool/net/samples/fail6.lua deleted file mode 100644 index 5f1408e58..000000000 --- a/test/tool/net/samples/fail6.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail6.json -assert(false == pcall(DecodeJson, [[ -[ , "<-- missing value"] -]])) diff --git a/test/tool/net/samples/fail7.lua b/test/tool/net/samples/fail7.lua deleted file mode 100644 index 840615b2e..000000000 --- a/test/tool/net/samples/fail7.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail7.json -assert(false == pcall(DecodeJson, [[ -[ "Comma after the close"] , -]])) diff --git a/test/tool/net/samples/fail8.lua b/test/tool/net/samples/fail8.lua deleted file mode 100644 index 3b5622375..000000000 --- a/test/tool/net/samples/fail8.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail8.json -assert(false == pcall(DecodeJson, [[ -[ "Extra close"] ] -]])) diff --git a/test/tool/net/samples/fail9.lua b/test/tool/net/samples/fail9.lua deleted file mode 100644 index 67d4ddab1..000000000 --- a/test/tool/net/samples/fail9.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: fail9.json -assert(false == pcall(DecodeJson, [[ -{"Extra comma": true,} -]])) diff --git a/test/tool/net/samples/jsonorg-fail.lua b/test/tool/net/samples/jsonorg-fail.lua new file mode 100644 index 000000000..bbfc92f30 --- /dev/null +++ b/test/tool/net/samples/jsonorg-fail.lua @@ -0,0 +1,101 @@ +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail11.json +assert(false == pcall(DecodeJson, [[ +{"Illegal expression": 1 + 2} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail12.json +assert(false == pcall(DecodeJson, [[ +{"Illegal invocation": alert()} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail13.json +assert(false == pcall(DecodeJson, [[ +{"Numbers cannot have leading zeroes": 013} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail14.json +assert(false == pcall(DecodeJson, [[ +{"Numbers cannot be hex": 0x14} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail15.json +assert(false == pcall(DecodeJson, [[ +[ "Illegal backslash escape: \x15"] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail16.json +assert(false == pcall(DecodeJson, [[ +[ \naked] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail17.json +assert(false == pcall(DecodeJson, [[ +[ "Illegal backslash escape: \017"] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail22.json +assert(false == pcall(DecodeJson, [[ +[ "Colon instead of comma": false] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail23.json +assert(false == pcall(DecodeJson, [[ +[ "Bad value", truth] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail24.json +assert(false == pcall(DecodeJson, [[ +[ 'single quote'] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail29.json +assert(false == pcall(DecodeJson, [[ +[ 0e] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail2.json +assert(false == pcall(DecodeJson, [[ +[ "Unclosed array" +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail30.json +assert(false == pcall(DecodeJson, [[ +[ 0e+] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail31.json +assert(false == pcall(DecodeJson, [[ +[ 0e+-1] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail32.json +assert(false == pcall(DecodeJson, [[ +{"Comma instead if closing brace": true, +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail33.json +assert(false == pcall(DecodeJson, [[ +[ "mismatch"} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail3.json +assert(false == pcall(DecodeJson, [[ +{unquoted_key: "keys must be quoted"} +]])) diff --git a/test/tool/net/samples/jsonorg-lenient.lua b/test/tool/net/samples/jsonorg-lenient.lua new file mode 100644 index 000000000..aab5cd830 --- /dev/null +++ b/test/tool/net/samples/jsonorg-lenient.lua @@ -0,0 +1,90 @@ +-- json.org says the following test cases should be +-- considered as invalid JSON, but ljson.c is lenient. +-- we run these tests anyway just to ensure that +-- no segfaults occurs while parsing these cases + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail4.json +assert(nil ~= pcall(DecodeJson, [[ +[ "extra comma",] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail5.json +assert(nil ~= pcall(DecodeJson, [[ +[ "double extra comma",,] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail6.json +assert(nil ~= pcall(DecodeJson, [[ +[ , "<-- missing value"] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail7.json +assert(nil ~= pcall(DecodeJson, [[ +[ "Comma after the close"] , +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail8.json +assert(nil ~= pcall(DecodeJson, [[ +[ "Extra close"] ] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail9.json +assert(nil ~= pcall(DecodeJson, [[ +{"Extra comma": true,} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail19.json +assert(nil ~= pcall(DecodeJson, [[ +{"Missing colon" null} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail20.json +assert(nil ~= pcall(DecodeJson, [[ +{"Double colon":: null} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail21.json +assert(nil ~= pcall(DecodeJson, [[ +{"Comma instead of colon", null} +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail10.json +assert(nil ~= pcall(DecodeJson, [[ +{"Extra value after close": true} "misplaced quoted value" +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail25.json +assert(nil ~= pcall(DecodeJson, [[ +[ " tab character in string "] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail26.json +assert(nil ~= pcall(DecodeJson, [[ +[ "tab\ character\ in\ string\ "] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail27.json +assert(nil ~= pcall(DecodeJson, [[ +[ "line +break"] +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail28.json +assert(nil ~= pcall(DecodeJson, [[ +[ "line\ +break"] +]])) diff --git a/test/tool/net/samples/pass1.lua b/test/tool/net/samples/jsonorg-pass.lua similarity index 60% rename from test/tool/net/samples/pass1.lua rename to test/tool/net/samples/jsonorg-pass.lua index 4ca008ccd..8cab843a7 100644 --- a/test/tool/net/samples/pass1.lua +++ b/test/tool/net/samples/jsonorg-pass.lua @@ -60,3 +60,38 @@ assert(pcall(DecodeJson, [[ 1e00,2e+00,2e-00 ,"rosebud"] ]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: pass2.json +assert(pcall(DecodeJson, [[ +[ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ "Not too deep"] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] +]])) + + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: pass3.json +assert(pcall(DecodeJson, [[ +{ + "JSON Test Pattern pass3": { + "The outermost value": "must be an object or array.", + "In this test": "It is an object." + } +} + +]])) + + +-- json.org says these should fail, but many parsers, +-- including python's json.load allow the following + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail1.json (actually passes) +assert(pcall(DecodeJson, [[ +"A JSON payload should be an object or array, not a string." +]])) + +-- https://www.json.org/JSON_checker/test.zip +-- JSON parsing sample test case: fail18.json (actually passes) +assert(pcall(DecodeJson, [[ +[ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ "Too deep"] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] +]])) diff --git a/test/tool/net/samples/pass2.lua b/test/tool/net/samples/pass2.lua deleted file mode 100644 index b3c617d8d..000000000 --- a/test/tool/net/samples/pass2.lua +++ /dev/null @@ -1,5 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: pass2.json -assert(pcall(DecodeJson, [[ -[ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ "Not too deep"] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] -]])) diff --git a/test/tool/net/samples/pass3.lua b/test/tool/net/samples/pass3.lua deleted file mode 100644 index 0ad1b914e..000000000 --- a/test/tool/net/samples/pass3.lua +++ /dev/null @@ -1,11 +0,0 @@ --- https://www.json.org/JSON_checker/test.zip --- JSON parsing sample test case: pass3.json -assert(pcall(DecodeJson, [[ -{ - "JSON Test Pattern pass3": { - "The outermost value": "must be an object or array.", - "In this test": "It is an object." - } -} - -]]))