Expand parser and Unicode test coverage

This commit is contained in:
Petri Lehtinen
2009-07-18 15:59:55 +03:00
parent 9240146c10
commit 20efe4aa26
7 changed files with 123 additions and 17 deletions

20
test/testdata/invalid vendored
View File

@@ -77,6 +77,11 @@ unexpected token near end of file
1
unexpected newline near '"a'
========
{"a":"a" 123}
====
1
'}' expected near '123'
========
{[
====
1
@@ -132,6 +137,16 @@ invalid token near '0'
1
invalid token near '-0'
========
[troo
====
1
invalid token near 'troo'
========
["\a <-- invalid escape"]
====
1
invalid escape near '"\'
========
[" <-- tab character"]
====
1
@@ -156,3 +171,8 @@ invalid Unicode '\uD888\u3210'
====
1
invalid Unicode '\uDFAA'
========
å
====
1
'[' or '{' expected near 'å'

89
test/testdata/invalid-unicode vendored Normal file
View File

@@ -0,0 +1,89 @@
<EFBFBD>
====
-1
unable to decode byte 0xe5 at position 0
========
["<22> <-- invalid UTF-8"]
====
-1
unable to decode byte 0xe5 at position 2
========
[<5B>]
====
-1
unable to decode byte 0xe5 at position 1
========
[a<>]
====
-1
unable to decode byte 0xe5 at position 2
========
["\u<>"]
====
-1
unable to decode byte 0xe5 at position 4
========
["\<5C>"]
====
-1
unable to decode byte 0xe5 at position 3
========
[0<>]
====
-1
unable to decode byte 0xe5 at position 2
========
[123<32>]
====
-1
unable to decode byte 0xe5 at position 4
========
[1e<31>]
====
-1
unable to decode byte 0xe5 at position 3
========
[1e1<65>]
====
-1
unable to decode byte 0xe5 at position 4
========
["<22>"]
====
-1
unable to decode byte 0x81 at position 2
========
["<22>"]
====
-1
unable to decode byte 0xc1 at position 2
========
["<22>"]
====
-1
unable to decode byte 0xfd at position 2
========
["<22><><EFBFBD><EFBFBD>"]
====
-1
unable to decode byte 0xf4 at position 2
========
["<22><><EFBFBD> <-- overlong encoding"]
====
-1
unable to decode byte 0xe0 at position 2
========
["<22><><EFBFBD><EFBFBD> <-- overlong encoding"]
====
-1
unable to decode byte 0xf0 at position 2
========
["<22><> <-- truncated UTF-8"]
====
-1
unable to decode byte 0xe0 at position 2
========
["<22><><EFBFBD> <-- encoded surrogate half"]
====
-1
unable to decode byte 0xed at position 2

2
test/testdata/valid vendored
View File

@@ -4,7 +4,7 @@
========
["abcdefghijklmnopqrstuvwxyz1234567890 "]
========
["€þıœəßð some utf-8 ĸʒ×ŋµåäö"]
["€þıœəßð some utf-8 ĸʒ×ŋµåäö𝄞"]
========
["\"\\\/\b\f\n\r\t"]
========