def test_encode_truefalse(self): self.assertEqual(json.dumpsJSON( {True: False, False: True}, sort_keys=True), '{"false": true, "true": false}') self.assertEqual( json.dumpsJSON( {2: 3.0, 4.0: long_type(5), False: 1, long_type(6): True, "7": 0}, sort_keys=True), '{"2": 3.0, "4.0": 5, "6": true, "7": 0, "false": 1}')
def test_stringify_key(self): items = [(b('bytes'), 'bytes'), (1.0, '1.0'), (10, '10'), (True, 'true'), (False, 'false'), (None, 'null'), (long_type(100), '100')] for k, expect in items: self.assertEqual( json.loads(json.dumpsJSON({k: expect})), {expect: expect}) self.assertEqual( json.loads(json.dumpsJSON({k: expect}, sort_keys=True)), {expect: expect}) self.assertRaises(TypeError, json.dumpsJSON, {json: 1}) for v in [{}, {'other': 1}, {b('derp'): 1, 'herp': 2}]: for sort_keys in [False, True]: v0 = dict(v) v0[json] = 1 v1 = dict((as_text_type(key), val) for (key, val) in v.items()) self.assertEqual( json.loads(json.dumpsJSON(v0, skipkeys=True, sort_keys=sort_keys)), v1) self.assertEqual( json.loads(json.dumpsJSON({'': v0}, skipkeys=True, sort_keys=sort_keys)), {'': v1}) self.assertEqual( json.loads(json.dumpsJSON([v0], skipkeys=True, sort_keys=sort_keys)), [v1])
def test_stringify_key(self): items = [(b('bytes'), 'bytes'), (1.0, '1.0'), (10, '10'), (True, 'true'), (False, 'false'), (None, 'null'), (long_type(100), '100')] for k, expect in items: self.assertEqual(json.loads(json.dumpsJSON({k: expect})), {expect: expect}) self.assertEqual( json.loads(json.dumpsJSON({k: expect}, sort_keys=True)), {expect: expect}) self.assertRaises(TypeError, json.dumpsJSON, {json: 1}) for v in [{}, {'other': 1}, {b('derp'): 1, 'herp': 2}]: for sort_keys in [False, True]: v0 = dict(v) v0[json] = 1 v1 = dict((as_text_type(key), val) for (key, val) in v.items()) self.assertEqual( json.loads( json.dumpsJSON(v0, skipkeys=True, sort_keys=sort_keys)), v1) self.assertEqual( json.loads( json.dumpsJSON({'': v0}, skipkeys=True, sort_keys=sort_keys)), {'': v1}) self.assertEqual( json.loads( json.dumpsJSON([v0], skipkeys=True, sort_keys=sort_keys)), [v1])
def test_encode_truefalse(self): self.assertEqual( json.dumpsJSON({ True: False, False: True }, sort_keys=True), '{"false": true, "true": false}') self.assertEqual( json.dumpsJSON( { 2: 3.0, 4.0: long_type(5), False: 1, long_type(6): True, "7": 0 }, sort_keys=True), '{"2": 3.0, "4.0": 5, "6": true, "7": 0, "false": 1}')
def test_stringify_key(self): items = [ (b("bytes"), "bytes"), (1.0, "1.0"), (10, "10"), (True, "true"), (False, "false"), (None, "null"), (long_type(100), "100"), ] for k, expect in items: self.assertEqual(json.loads(json.dumpsJSON({k: expect})), {expect: expect}) self.assertEqual( json.loads(json.dumpsJSON({k: expect}, sort_keys=True)), {expect: expect}, ) self.assertRaises(TypeError, json.dumpsJSON, {json: 1}) for v in [{}, {"other": 1}, {b("derp"): 1, "herp": 2}]: for sort_keys in [False, True]: v0 = dict(v) v0[json] = 1 v1 = {as_text_type(key): val for (key, val) in v.items()} self.assertEqual( json.loads( json.dumpsJSON(v0, skipkeys=True, sort_keys=sort_keys)), v1, ) self.assertEqual( json.loads( json.dumpsJSON({"": v0}, skipkeys=True, sort_keys=sort_keys)), {"": v1}, ) self.assertEqual( json.loads( json.dumpsJSON([v0], skipkeys=True, sort_keys=sort_keys)), [v1], )
def test_ints(self): for num in [1, long_type(1), 1<<32, 1<<64]: self.assertEqual(json.dumpsJSON(num), str(num)) self.assertEqual(int(json.dumpsJSON(num)), num) self.assertEqual(json.loads(json.dumpsJSON(num)), num) self.assertEqual(json.loads(text_type(json.dumpsJSON(num))), num)
def test_ints(self): for num in [1, long_type(1), 1 << 32, 1 << 64]: self.assertEqual(json.dumpsJSON(num), str(num)) self.assertEqual(int(json.dumpsJSON(num)), num) self.assertEqual(json.loads(json.dumpsJSON(num)), num) self.assertEqual(json.loads(text_type(json.dumpsJSON(num))), num)