| Index: third_party/simplejson/simplejson/tests/test_fail.py
 | 
| diff --git a/third_party/simplejson/simplejson/tests/test_fail.py b/third_party/simplejson/simplejson/tests/test_fail.py
 | 
| new file mode 100755
 | 
| index 0000000000000000000000000000000000000000..002eea08fcbb108506cb383f4fc6cb605ebbe2c2
 | 
| --- /dev/null
 | 
| +++ b/third_party/simplejson/simplejson/tests/test_fail.py
 | 
| @@ -0,0 +1,76 @@
 | 
| +from unittest import TestCase
 | 
| +
 | 
| +import simplejson as json
 | 
| +
 | 
| +# Fri Dec 30 18:57:26 2005
 | 
| +JSONDOCS = [
 | 
| +    # http://json.org/JSON_checker/test/fail1.json
 | 
| +    '"A JSON payload should be an object or array, not a string."',
 | 
| +    # http://json.org/JSON_checker/test/fail2.json
 | 
| +    '["Unclosed array"',
 | 
| +    # http://json.org/JSON_checker/test/fail3.json
 | 
| +    '{unquoted_key: "keys must be quoted}',
 | 
| +    # http://json.org/JSON_checker/test/fail4.json
 | 
| +    '["extra comma",]',
 | 
| +    # http://json.org/JSON_checker/test/fail5.json
 | 
| +    '["double extra comma",,]',
 | 
| +    # http://json.org/JSON_checker/test/fail6.json
 | 
| +    '[   , "<-- missing value"]',
 | 
| +    # http://json.org/JSON_checker/test/fail7.json
 | 
| +    '["Comma after the close"],',
 | 
| +    # http://json.org/JSON_checker/test/fail8.json
 | 
| +    '["Extra close"]]',
 | 
| +    # http://json.org/JSON_checker/test/fail9.json
 | 
| +    '{"Extra comma": true,}',
 | 
| +    # http://json.org/JSON_checker/test/fail10.json
 | 
| +    '{"Extra value after close": true} "misplaced quoted value"',
 | 
| +    # http://json.org/JSON_checker/test/fail11.json
 | 
| +    '{"Illegal expression": 1 + 2}',
 | 
| +    # http://json.org/JSON_checker/test/fail12.json
 | 
| +    '{"Illegal invocation": alert()}',
 | 
| +    # http://json.org/JSON_checker/test/fail13.json
 | 
| +    '{"Numbers cannot have leading zeroes": 013}',
 | 
| +    # http://json.org/JSON_checker/test/fail14.json
 | 
| +    '{"Numbers cannot be hex": 0x14}',
 | 
| +    # http://json.org/JSON_checker/test/fail15.json
 | 
| +    '["Illegal backslash escape: \\x15"]',
 | 
| +    # http://json.org/JSON_checker/test/fail16.json
 | 
| +    '["Illegal backslash escape: \\\'"]',
 | 
| +    # http://json.org/JSON_checker/test/fail17.json
 | 
| +    '["Illegal backslash escape: \\017"]',
 | 
| +    # http://json.org/JSON_checker/test/fail18.json
 | 
| +    '[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]',
 | 
| +    # http://json.org/JSON_checker/test/fail19.json
 | 
| +    '{"Missing colon" null}',
 | 
| +    # http://json.org/JSON_checker/test/fail20.json
 | 
| +    '{"Double colon":: null}',
 | 
| +    # http://json.org/JSON_checker/test/fail21.json
 | 
| +    '{"Comma instead of colon", null}',
 | 
| +    # http://json.org/JSON_checker/test/fail22.json
 | 
| +    '["Colon instead of comma": false]',
 | 
| +    # http://json.org/JSON_checker/test/fail23.json
 | 
| +    '["Bad value", truth]',
 | 
| +    # http://json.org/JSON_checker/test/fail24.json
 | 
| +    "['single quote']",
 | 
| +    # http://code.google.com/p/simplejson/issues/detail?id=3
 | 
| +    u'["A\u001FZ control characters in string"]',
 | 
| +]
 | 
| +
 | 
| +SKIPS = {
 | 
| +    1: "why not have a string payload?",
 | 
| +    18: "spec doesn't specify any nesting limitations",
 | 
| +}
 | 
| +
 | 
| +class TestFail(TestCase):
 | 
| +    def test_failures(self):
 | 
| +        for idx, doc in enumerate(JSONDOCS):
 | 
| +            idx = idx + 1
 | 
| +            if idx in SKIPS:
 | 
| +                json.loads(doc)
 | 
| +                continue
 | 
| +            try:
 | 
| +                json.loads(doc)
 | 
| +            except ValueError:
 | 
| +                pass
 | 
| +            else:
 | 
| +                self.fail("Expected failure for fail%d.json: %r" % (idx, doc))
 | 
| 
 |