ยปCore Development>Code coverage>Lib/json/tests/test_encode_basestring_ascii.py

Python code coverage for Lib/json/tests/test_encode_basestring_ascii.py

#countcontent
1n/afrom unittest import TestCase
2n/a
3n/aimport json.encoder
4n/afrom json import dumps
5n/afrom collections import OrderedDict
6n/a
7n/aCASES = [
8n/a ('/\\"\ucafe\ubabe\uab98\ufcde\ubcda\uef4a\x08\x0c\n\r\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?', '"/\\\\\\"\\ucafe\\ubabe\\uab98\\ufcde\\ubcda\\uef4a\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?"'),
9n/a ('\u0123\u4567\u89ab\ucdef\uabcd\uef4a', '"\\u0123\\u4567\\u89ab\\ucdef\\uabcd\\uef4a"'),
10n/a ('controls', '"controls"'),
11n/a ('\x08\x0c\n\r\t', '"\\b\\f\\n\\r\\t"'),
12n/a ('{"object with 1 member":["array with 1 element"]}', '"{\\"object with 1 member\\":[\\"array with 1 element\\"]}"'),
13n/a (' s p a c e d ', '" s p a c e d "'),
14n/a ('\U0001d120', '"\\ud834\\udd20"'),
15n/a ('\u03b1\u03a9', '"\\u03b1\\u03a9"'),
16n/a ('\u03b1\u03a9', '"\\u03b1\\u03a9"'),
17n/a ('\u03b1\u03a9', '"\\u03b1\\u03a9"'),
18n/a ('\u03b1\u03a9', '"\\u03b1\\u03a9"'),
19n/a ("`1~!@#$%^&*()_+-={':[,]}|;.</>?", '"`1~!@#$%^&*()_+-={\':[,]}|;.</>?"'),
20n/a ('\x08\x0c\n\r\t', '"\\b\\f\\n\\r\\t"'),
21n/a ('\u0123\u4567\u89ab\ucdef\uabcd\uef4a', '"\\u0123\\u4567\\u89ab\\ucdef\\uabcd\\uef4a"'),
22n/a]
23n/a
24n/aclass TestEncodeBaseStringAscii(TestCase):
25n/a def test_py_encode_basestring_ascii(self):
26n/a self._test_encode_basestring_ascii(json.encoder.py_encode_basestring_ascii)
27n/a
28n/a def test_c_encode_basestring_ascii(self):
29n/a if not json.encoder.c_encode_basestring_ascii:
30n/a return
31n/a self._test_encode_basestring_ascii(json.encoder.c_encode_basestring_ascii)
32n/a
33n/a def _test_encode_basestring_ascii(self, encode_basestring_ascii):
34n/a fname = encode_basestring_ascii.__name__
35n/a for input_string, expect in CASES:
36n/a result = encode_basestring_ascii(input_string)
37n/a self.assertEqual(result, expect,
38n/a '{0!r} != {1!r} for {2}({3!r})'.format(
39n/a result, expect, fname, input_string))
40n/a
41n/a def test_ordered_dict(self):
42n/a # See issue 6105
43n/a items = [('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)]
44n/a s = json.dumps(OrderedDict(items))
45n/a self.assertEqual(s, '{"one": 1, "two": 2, "three": 3, "four": 4, "five": 5}')
46n/a
47n/a def test_sorted_dict(self):
48n/a items = [('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)]
49n/a s = json.dumps(dict(items), sort_keys=True)
50n/a self.assertEqual(s, '{"five": 5, "four": 4, "one": 1, "three": 3, "two": 2}')