diff options
Diffstat (limited to '')
-rw-r--r-- | contrib/ccan/json/test/test-strings | 224 | ||||
-rw-r--r-- | contrib/ccan/json/test/test-strings-reencoded | 90 |
2 files changed, 314 insertions, 0 deletions
diff --git a/contrib/ccan/json/test/test-strings b/contrib/ccan/json/test/test-strings new file mode 100644 index 0000000..439be7d --- /dev/null +++ b/contrib/ccan/json/test/test-strings @@ -0,0 +1,224 @@ +invalid +invalid +invalid " +invalid [,] +invalid [) +invalid []] +invalid [} +invalid {,} +invalid {] +invalid ["1":2] +invalid [1,2,] +invalid [1:2} +invalid {"1":2,} +invalid {1:2} +invalid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], [7 ]}]} +invalid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], [7]}]} +invalid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}] +invalid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}]] +invalid {"1":2, "3":4 +invalid "1\u2" +invalid [,2] +invalid "3 +invalid "3" "4" +invalid [3[4] +invalid [3[4]] +invalid [3, [4, [5], 6] 7, 8 9] +invalid [3, [4, [5], 6] 7, 8, 9] +invalid [3, [4, [5], 6], 7, 8 9] +invalid {"hello":true, "bye":false, null} +invalid {"hello":true, "bye":false, null:null} +invalid "hi +invalid "hi""" +invalid {"hi": "bye"] +invalid "\uD800\uD800" +invalid "\uD800\uDBFF" +invalid "\UD834\UDD1E" +invalid "\uDB00" +invalid "\uDB00\uDBFF" +valid "\uFFFE" +valid "\uFFFF" +invalid . +valid "" +valid [] +valid {} +invalid +. +valid 0.5 +invalid 0.e1 +valid {"1":{}} +valid {"1":2} +valid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"]}]} +valid {"1":2, "2.5" : [3, 4, {}, {"5": ["6"], "7" :[8 ]}]} +valid 1234 +valid -1234 +valid {"1":2, "3":4} +invalid +1234 +invalid ++1234 +valid 123.456e142 +valid 123.456e-142 +valid 123.456e+142 +invalid 123.e-142 +valid "1\u2000" +valid "1\u20001" +valid 2 +invalid .246e-142 +invalid .2e-142 +valid 3 +invalid .3 +valid "3" +valid [3] +invalid +3. +valid 3.2e+1 +valid [3, [4]] +valid [3, [4, [5]]] +valid [3, [4, [5], 6]] +valid [3, [4, [5], 6], 7] +valid [3, [4, [5], 6], 7, 8] +valid [3, [4, [5], 6], 7, 8, 9] +invalid +3.5 +invalid .3e +invalid .3e1 +invalid .3e-1 +invalid .3e+1 +invalid 3.e1 +invalid 3.e+1 +valid 3e+1 +invalid .5 +invalid +.5 +invalid .5e+1 +valid [ 7] +valid [7 ] +valid [7] +invalid .e-14234 +valid "hello" +valid ["hello"] +valid ["hello", "bye"] +valid ["hello", "bye\n"] +valid ["hello", "bye\n\r\t"] +valid ["hello", "bye\n\r\t\b"] +valid ["hello", "bye\n\r\t\b",true] +valid ["hello", "bye\n\r\t\b",true , false] +valid ["hello", "bye\n\r\t\b",true , false, null] +invalid ["hello", "bye\n\r\t\v"] +valid {"hello":true} +valid {"hello":true, "bye":false} +valid {"hello":true, "bye":false, "foo":["one","two","three"]} +valid "hi" +valid ["hi"] +valid ["hi", "bye"] +valid {"hi": "bye"} +valid ["hi", "bye", 3] +valid ["hi", "bye[", 3] +valid "\u0007" +valid "\u0008" +valid "\u0009" +valid "\u0010" +valid "\u0020" +valid "\u10000" +valid "\u1234" +valid "\u99999" +valid "\ud800\udc00" +valid "\uD800\uDC00" +valid "\uD834\uDD1E" +valid "\uDBFF\uDFFF" +valid "\uFFFD" +valid "\uFFFF" +invalid hello +valid [32, 1] +invalid [32, +valid "\uD800\uDC00" +valid "\n" +valid "hello" +valid "hello\u0009world" +valid "hello" +valid "hello\n" +valid "hello" +valid 3 +invalid 3. +invalid .3 +valid 0.3 +invalid 0.3e +invalid 0.3e+ +valid 0.3e+5 +valid 0.3e-5 +valid 0.3e5 +valid "hello" +invalid +3 +valid -3 +invalid -3. +valid -3.1 +invalid .5 +invalid 5. +invalid 5.e1 +valid 0.5 +invalid .3e1 +invalid .3e+1 +invalid .3e-1 +invalid .3e-1 .5 +invalid .3e-1.5 +invalid .3e+1.5 +invalid .3e+. +invalid .3e+.5 +invalid .3e+1.5 +invalid 9.3e+1.5 +invalid 9.e+1.5 +invalid 9.e+ +invalid 9.e+1 +valid "\"" +valid "\"3.5" +valid "\"." +invalid "\".". +valid "\"....." +invalid "\"\"\"\""" +invalid ["\"\"\"\"", .5] +invalid [.5] +valid ["\"\"\"\"", 0.5] +invalid ["\"\"\"\"", .5] +invalid ["\"\"\"\"",.5] +invalid ["\"",.5] +invalid ["\".5",.5] +invalid ["\".5",".5\"".5] +invalid ["\".5",".5\"", .5] +invalid ["\".5",".5\"",.5] +valid ["\".5",".5\"",0.5] +invalid {"key":/*comment*/"value"} +invalid {"key":/*comment"value"} +invalid {"key":"value"}/* +invalid {"key":"value"}/**/ +invalid {"key":"value"}/***/ +invalid {"key":"value"}/**// +invalid {"key":"value"}/**/// +invalid {"key":"value"}/**///---- +invalid {"key":"value"}# +invalid {"key":"value"}#{ +invalid {"key":"value"}#{} +invalid {"key":"value"}#, +invalid {"key":"value"/**/, "k2":"v2"} +valid "\u0027" +invalid "hello\'" +invalid 'hello\'' +invalid 'hello' +invalid 'hell\'o' +invalid '\'hello' +invalid '\'hello\'' +invalid \'hello\' +invalid 'hello\' +invalid ['hello\'] +invalid ['hello\''] +invalid ['hello"'] +invalid ['hello\"'] +invalid ['hello"o'] +invalid ['"'] +invalid '"' +invalid '"hello"' +invalid '"hello' +invalid '"hi"' +valid [ 1 , 2 , 3 ] +invalid nil +invalid fals +invalid falsify +invalid falsetto +invalid truism +invalid {"key" +invalid {"key","key2":value} +invalid "\u0000" diff --git a/contrib/ccan/json/test/test-strings-reencoded b/contrib/ccan/json/test/test-strings-reencoded new file mode 100644 index 0000000..97890c1 --- /dev/null +++ b/contrib/ccan/json/test/test-strings-reencoded @@ -0,0 +1,90 @@ +"" +"" +"" +[] +{} +0.5 +{"1":{}} +{"1":2} +{"1":2,"2.5":[3,4,{},{"5":["6"]}]} +{"1":2,"2.5":[3,4,{},{"5":["6"],"7":[8]}]} +1234 +-1234 +{"1":2,"3":4} +1.23456e+144 +1.23456e-140 +1.23456e+144 +"1 " +"1 1" +2 +3 +"3" +[3] +32 +[3,[4]] +[3,[4,[5]]] +[3,[4,[5],6]] +[3,[4,[5],6],7] +[3,[4,[5],6],7,8] +[3,[4,[5],6],7,8,9] +30 +[7] +[7] +[7] +"hello" +["hello"] +["hello","bye"] +["hello","bye\n"] +["hello","bye\n\r\t"] +["hello","bye\n\r\t\b"] +["hello","bye\n\r\t\b",true] +["hello","bye\n\r\t\b",true,false] +["hello","bye\n\r\t\b",true,false,null] +{"hello":true} +{"hello":true,"bye":false} +{"hello":true,"bye":false,"foo":["one","two","three"]} +"hi" +["hi"] +["hi","bye"] +{"hi":"bye"} +["hi","bye",3] +["hi","bye[",3] +"\u0007" +"\b" +"\t" +"\u0010" +" " +"က0" +"ሴ" +"香9" +"𐀀" +"𐀀" +"𝄞" +"" +"�" +"" +[32,1] +"𐀀" +"\n" +"hello" +"hello\tworld" +"hello" +"hello\n" +"hello" +3 +0.3 +30000 +3e-06 +30000 +"hello" +-3 +-3.1 +0.5 +"\"" +"\"3.5" +"\"." +"\"....." +["\"\"\"\"",0.5] +["\".5",".5\"",0.5] +"'" +[1,2,3] |