1
from unittest import TestCase
3
import simplejson as json
5
# Fri Dec 30 18:57:26 2005
7
# http://json.org/JSON_checker/test/fail1.json
8
'"A JSON payload should be an object or array, not a string."',
9
# http://json.org/JSON_checker/test/fail2.json
11
# http://json.org/JSON_checker/test/fail3.json
12
'{unquoted_key: "keys must be quoted}',
13
# http://json.org/JSON_checker/test/fail4.json
15
# http://json.org/JSON_checker/test/fail5.json
16
'["double extra comma",,]',
17
# http://json.org/JSON_checker/test/fail6.json
18
'[ , "<-- missing value"]',
19
# http://json.org/JSON_checker/test/fail7.json
20
'["Comma after the close"],',
21
# http://json.org/JSON_checker/test/fail8.json
23
# http://json.org/JSON_checker/test/fail9.json
24
'{"Extra comma": true,}',
25
# http://json.org/JSON_checker/test/fail10.json
26
'{"Extra value after close": true} "misplaced quoted value"',
27
# http://json.org/JSON_checker/test/fail11.json
28
'{"Illegal expression": 1 + 2}',
29
# http://json.org/JSON_checker/test/fail12.json
30
'{"Illegal invocation": alert()}',
31
# http://json.org/JSON_checker/test/fail13.json
32
'{"Numbers cannot have leading zeroes": 013}',
33
# http://json.org/JSON_checker/test/fail14.json
34
'{"Numbers cannot be hex": 0x14}',
35
# http://json.org/JSON_checker/test/fail15.json
36
'["Illegal backslash escape: \\x15"]',
37
# http://json.org/JSON_checker/test/fail16.json
38
'["Illegal backslash escape: \\\'"]',
39
# http://json.org/JSON_checker/test/fail17.json
40
'["Illegal backslash escape: \\017"]',
41
# http://json.org/JSON_checker/test/fail18.json
42
'[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]',
43
# http://json.org/JSON_checker/test/fail19.json
44
'{"Missing colon" null}',
45
# http://json.org/JSON_checker/test/fail20.json
46
'{"Double colon":: null}',
47
# http://json.org/JSON_checker/test/fail21.json
48
'{"Comma instead of colon", null}',
49
# http://json.org/JSON_checker/test/fail22.json
50
'["Colon instead of comma": false]',
51
# http://json.org/JSON_checker/test/fail23.json
52
'["Bad value", truth]',
53
# http://json.org/JSON_checker/test/fail24.json
55
# http://code.google.com/p/simplejson/issues/detail?id=3
56
u'["A\u001FZ control characters in string"]',
60
1: "why not have a string payload?",
61
18: "spec doesn't specify any nesting limitations",
64
class TestFail(TestCase):
65
def test_failures(self):
66
for idx, doc in enumerate(JSONDOCS):
76
self.fail("Expected failure for fail%d.json: %r" % (idx, doc))