Index: third_party/simplejson/simplejson/tests/test_pass1.py |
diff --git a/third_party/simplejson/simplejson/tests/test_pass1.py b/third_party/simplejson/simplejson/tests/test_pass1.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..c3d6302d68dc58652f8dc178e4e8092a08e46093 |
--- /dev/null |
+++ b/third_party/simplejson/simplejson/tests/test_pass1.py |
@@ -0,0 +1,76 @@ |
+from unittest import TestCase |
+ |
+import simplejson as json |
+ |
+# from http://json.org/JSON_checker/test/pass1.json |
+JSON = r''' |
+[ |
+ "JSON Test Pattern pass1", |
+ {"object with 1 member":["array with 1 element"]}, |
+ {}, |
+ [], |
+ -42, |
+ true, |
+ false, |
+ null, |
+ { |
+ "integer": 1234567890, |
+ "real": -9876.543210, |
+ "e": 0.123456789e-12, |
+ "E": 1.234567890E+34, |
+ "": 23456789012E666, |
+ "zero": 0, |
+ "one": 1, |
+ "space": " ", |
+ "quote": "\"", |
+ "backslash": "\\", |
+ "controls": "\b\f\n\r\t", |
+ "slash": "/ & \/", |
+ "alpha": "abcdefghijklmnopqrstuvwyz", |
+ "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ", |
+ "digit": "0123456789", |
+ "special": "`1~!@#$%^&*()_+-={':[,]}|;.</>?", |
+ "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A", |
+ "true": true, |
+ "false": false, |
+ "null": null, |
+ "array":[ ], |
+ "object":{ }, |
+ "address": "50 St. James Street", |
+ "url": "http://www.JSON.org/", |
+ "comment": "// /* <!-- --", |
+ "# -- --> */": " ", |
+ " s p a c e d " :[1,2 , 3 |
+ |
+, |
+ |
+4 , 5 , 6 ,7 ], |
+ "compact": [1,2,3,4,5,6,7], |
+ "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}", |
+ "quotes": "" \u0022 %22 0x22 034 "", |
+ "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?" |
+: "A key can be any string" |
+ }, |
+ 0.5 ,98.6 |
+, |
+99.44 |
+, |
+ |
+1066 |
+ |
+ |
+,"rosebud"] |
+''' |
+ |
+class TestPass1(TestCase): |
+ def test_parse(self): |
+ # test in/out equivalence and parsing |
+ res = json.loads(JSON) |
+ out = json.dumps(res) |
+ self.assertEquals(res, json.loads(out)) |
+ try: |
+ json.dumps(res, allow_nan=False) |
+ except ValueError: |
+ pass |
+ else: |
+ self.fail("23456789012E666 should be out of range") |