mirror of
				https://github.com/python/cpython.git
				synced 2025-10-26 11:14:33 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from test.test_json import PyTest, CTest
 | |
| 
 | |
| 
 | |
| # from https://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
 | 
