mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from test.test_json import PyTest, CTest
 | 
						|
 | 
						|
 | 
						|
# 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,
 | 
						|
        "":  23456789012E66,
 | 
						|
        "zero": 0,
 | 
						|
        "one": 1,
 | 
						|
        "space": " ",
 | 
						|
        "quote": "\"",
 | 
						|
        "backslash": "\\",
 | 
						|
        "controls": "\b\f\n\r\t",
 | 
						|
        "slash": "/ & \/",
 | 
						|
        "alpha": "abcdefghijklmnopqrstuvwyz",
 | 
						|
        "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ",
 | 
						|
        "digit": "0123456789",
 | 
						|
        "0123456789": "digit",
 | 
						|
        "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,
 | 
						|
1e1,
 | 
						|
0.1e1,
 | 
						|
1e-1,
 | 
						|
1e00,2e+00,2e-00
 | 
						|
,"rosebud"]
 | 
						|
'''
 | 
						|
 | 
						|
class TestPass1:
 | 
						|
    def test_parse(self):
 | 
						|
        # test in/out equivalence and parsing
 | 
						|
        res = self.loads(JSON)
 | 
						|
        out = self.dumps(res)
 | 
						|
        self.assertEqual(res, self.loads(out))
 | 
						|
 | 
						|
 | 
						|
class TestPyPass1(TestPass1, PyTest): pass
 | 
						|
class TestCPass1(TestPass1, CTest): pass
 |