]>
Commit | Line | Data |
---|---|---|
3257aa99 DM |
1 | from collections import OrderedDict\r |
2 | from json.tests import PyTest, CTest\r | |
3 | \r | |
4 | \r | |
5 | CASES = [\r | |
6 | (u'/\\"\ucafe\ubabe\uab98\ufcde\ubcda\uef4a\x08\x0c\n\r\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?', '"/\\\\\\"\\ucafe\\ubabe\\uab98\\ufcde\\ubcda\\uef4a\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:\',./<>?"'),\r | |
7 | (u'\u0123\u4567\u89ab\ucdef\uabcd\uef4a', '"\\u0123\\u4567\\u89ab\\ucdef\\uabcd\\uef4a"'),\r | |
8 | (u'controls', '"controls"'),\r | |
9 | (u'\x08\x0c\n\r\t', '"\\b\\f\\n\\r\\t"'),\r | |
10 | (u'{"object with 1 member":["array with 1 element"]}', '"{\\"object with 1 member\\":[\\"array with 1 element\\"]}"'),\r | |
11 | (u' s p a c e d ', '" s p a c e d "'),\r | |
12 | (u'\U0001d120', '"\\ud834\\udd20"'),\r | |
13 | (u'\u03b1\u03a9', '"\\u03b1\\u03a9"'),\r | |
14 | ('\xce\xb1\xce\xa9', '"\\u03b1\\u03a9"'),\r | |
15 | (u'\u03b1\u03a9', '"\\u03b1\\u03a9"'),\r | |
16 | ('\xce\xb1\xce\xa9', '"\\u03b1\\u03a9"'),\r | |
17 | (u'\u03b1\u03a9', '"\\u03b1\\u03a9"'),\r | |
18 | (u'\u03b1\u03a9', '"\\u03b1\\u03a9"'),\r | |
19 | (u"`1~!@#$%^&*()_+-={':[,]}|;.</>?", '"`1~!@#$%^&*()_+-={\':[,]}|;.</>?"'),\r | |
20 | (u'\x08\x0c\n\r\t', '"\\b\\f\\n\\r\\t"'),\r | |
21 | (u'\u0123\u4567\u89ab\ucdef\uabcd\uef4a', '"\\u0123\\u4567\\u89ab\\ucdef\\uabcd\\uef4a"'),\r | |
22 | ]\r | |
23 | \r | |
24 | class TestEncodeBasestringAscii(object):\r | |
25 | def test_encode_basestring_ascii(self):\r | |
26 | fname = self.json.encoder.encode_basestring_ascii.__name__\r | |
27 | for input_string, expect in CASES:\r | |
28 | result = self.json.encoder.encode_basestring_ascii(input_string)\r | |
29 | self.assertEqual(result, expect,\r | |
30 | '{0!r} != {1!r} for {2}({3!r})'.format(\r | |
31 | result, expect, fname, input_string))\r | |
32 | \r | |
33 | def test_ordered_dict(self):\r | |
34 | # See issue 6105\r | |
35 | items = [('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)]\r | |
36 | s = self.dumps(OrderedDict(items))\r | |
37 | self.assertEqual(s, '{"one": 1, "two": 2, "three": 3, "four": 4, "five": 5}')\r | |
38 | \r | |
39 | \r | |
40 | class TestPyEncodeBasestringAscii(TestEncodeBasestringAscii, PyTest): pass\r | |
41 | class TestCEncodeBasestringAscii(TestEncodeBasestringAscii, CTest): pass\r |