source: python/trunk/Lib/json/tests/test_pass1.py

Last change on this file was 391, checked in by dmik, 11 years ago

python: Merge vendor 2.7.6 to trunk.

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1from json.tests import PyTest, CTest
2
3
4# from http://json.org/JSON_checker/test/pass1.json
5JSON = r'''
6[
7 "JSON Test Pattern pass1",
8 {"object with 1 member":["array with 1 element"]},
9 {},
10 [],
11 -42,
12 true,
13 false,
14 null,
15 {
16 "integer": 1234567890,
17 "real": -9876.543210,
18 "e": 0.123456789e-12,
19 "E": 1.234567890E+34,
20 "": 23456789012E66,
21 "zero": 0,
22 "one": 1,
23 "space": " ",
24 "quote": "\"",
25 "backslash": "\\",
26 "controls": "\b\f\n\r\t",
27 "slash": "/ & \/",
28 "alpha": "abcdefghijklmnopqrstuvwyz",
29 "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ",
30 "digit": "0123456789",
31 "0123456789": "digit",
32 "special": "`1~!@#$%^&*()_+-={':[,]}|;.</>?",
33 "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A",
34 "true": true,
35 "false": false,
36 "null": null,
37 "array":[ ],
38 "object":{ },
39 "address": "50 St. James Street",
40 "url": "http://www.JSON.org/",
41 "comment": "// /* <!-- --",
42 "# -- --> */": " ",
43 " s p a c e d " :[1,2 , 3
44
45,
46
474 , 5 , 6 ,7 ],"compact":[1,2,3,4,5,6,7],
48 "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}",
49 "quotes": "&#34; \u0022 %22 0x22 034 &#x22;",
50 "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?"
51: "A key can be any string"
52 },
53 0.5 ,98.6
54,
5599.44
56,
57
581066,
591e1,
600.1e1,
611e-1,
621e00,2e+00,2e-00
63,"rosebud"]
64'''
65
66class TestPass1(object):
67 def test_parse(self):
68 # test in/out equivalence and parsing
69 res = self.loads(JSON)
70 out = self.dumps(res)
71 self.assertEqual(res, self.loads(out))
72
73
74class TestPyPass1(TestPass1, PyTest): pass
75class TestCPass1(TestPass1, CTest): pass
Note: See TracBrowser for help on using the repository browser.