golden hour
/usr/lib64/python2.7/site-packages/simplejson/tests
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
1.93 KB
Del
OK
__init__.pyc
3.23 KB
Del
OK
__init__.pyo
3.23 KB
Del
OK
test_bigint_as_string.py
2.19 KB
Del
OK
test_bigint_as_string.pyc
2.58 KB
Del
OK
test_bigint_as_string.pyo
2.58 KB
Del
OK
test_bitsize_int_as_string.py
2.24 KB
Del
OK
test_bitsize_int_as_string.pyc
2.96 KB
Del
OK
test_bitsize_int_as_string.pyo
2.96 KB
Del
OK
test_check_circular.py
917 B
Del
OK
test_check_circular.pyc
2.11 KB
Del
OK
test_check_circular.pyo
2.11 KB
Del
OK
test_decimal.py
2.48 KB
Del
OK
test_decimal.pyc
3.44 KB
Del
OK
test_decimal.pyo
3.44 KB
Del
OK
test_decode.py
3.93 KB
Del
OK
test_decode.pyc
5.75 KB
Del
OK
test_decode.pyo
5.75 KB
Del
OK
test_default.py
221 B
Del
OK
test_default.pyc
751 B
Del
OK
test_default.pyo
751 B
Del
OK
test_dump.py
4.88 KB
Del
OK
test_dump.pyc
6.41 KB
Del
OK
test_dump.pyo
6.41 KB
Del
OK
test_encode_basestring_ascii.py
2.28 KB
Del
OK
test_encode_basestring_ascii.pyc
3.5 KB
Del
OK
test_encode_basestring_ascii.pyo
3.5 KB
Del
OK
test_encode_for_html.py
1022 B
Del
OK
test_encode_for_html.pyc
1.82 KB
Del
OK
test_encode_for_html.pyo
1.82 KB
Del
OK
test_errors.py
1.51 KB
Del
OK
test_errors.pyc
2.45 KB
Del
OK
test_errors.pyo
2.45 KB
Del
OK
test_fail.py
6.2 KB
Del
OK
test_fail.pyc
5.27 KB
Del
OK
test_fail.pyo
5.27 KB
Del
OK
test_float.py
1.4 KB
Del
OK
test_float.pyc
2.5 KB
Del
OK
test_float.pyo
2.5 KB
Del
OK
test_for_json.py
2.7 KB
Del
OK
test_for_json.pyc
5.72 KB
Del
OK
test_for_json.pyo
5.72 KB
Del
OK
test_indent.py
2.51 KB
Del
OK
test_indent.pyc
2.92 KB
Del
OK
test_indent.pyo
2.92 KB
Del
OK
test_item_sort_key.py
1.34 KB
Del
OK
test_item_sort_key.pyc
2.54 KB
Del
OK
test_item_sort_key.pyo
2.54 KB
Del
OK
test_iterable.py
1.36 KB
Del
OK
test_iterable.pyc
1.77 KB
Del
OK
test_iterable.pyo
1.77 KB
Del
OK
test_namedtuple.py
3.91 KB
Del
OK
test_namedtuple.pyc
6.83 KB
Del
OK
test_namedtuple.pyo
6.83 KB
Del
OK
test_pass1.py
1.71 KB
Del
OK
test_pass1.pyc
2.13 KB
Del
OK
test_pass1.pyo
2.13 KB
Del
OK
test_pass2.py
386 B
Del
OK
test_pass2.pyc
827 B
Del
OK
test_pass2.pyo
827 B
Del
OK
test_pass3.py
482 B
Del
OK
test_pass3.pyc
922 B
Del
OK
test_pass3.pyo
922 B
Del
OK
test_raw_json.py
1.04 KB
Del
OK
test_raw_json.pyc
1.83 KB
Del
OK
test_raw_json.pyo
1.83 KB
Del
OK
test_recursion.py
1.64 KB
Del
OK
test_recursion.pyc
2.52 KB
Del
OK
test_recursion.pyo
2.52 KB
Del
OK
test_scanstring.py
7.14 KB
Del
OK
test_scanstring.pyc
6.56 KB
Del
OK
test_scanstring.pyo
6.53 KB
Del
OK
test_separators.py
942 B
Del
OK
test_separators.pyc
1.53 KB
Del
OK
test_separators.pyo
1.53 KB
Del
OK
test_speedups.py
3.03 KB
Del
OK
test_speedups.pyc
4.93 KB
Del
OK
test_speedups.pyo
4.93 KB
Del
OK
test_str_subclass.py
551 B
Del
OK
test_str_subclass.pyc
1.33 KB
Del
OK
test_str_subclass.pyo
1.33 KB
Del
OK
test_subclass.py
1.1 KB
Del
OK
test_subclass.pyc
2 KB
Del
OK
test_subclass.pyo
2 KB
Del
OK
test_tool.py
2.79 KB
Del
OK
test_tool.pyc
3.35 KB
Del
OK
test_tool.pyo
3.35 KB
Del
OK
test_tuple.py
1.79 KB
Del
OK
test_tuple.pyc
1.79 KB
Del
OK
test_tuple.pyo
1.79 KB
Del
OK
test_unicode.py
6.83 KB
Del
OK
test_unicode.pyc
8.29 KB
Del
OK
test_unicode.pyo
8.29 KB
Del
OK
Edit: test_unicode.py
import sys import codecs from unittest import TestCase import simplejson as json from simplejson.compat import unichr, text_type, b, u, BytesIO class TestUnicode(TestCase): def test_encoding1(self): encoder = json.JSONEncoder(encoding='utf-8') u = u'\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}' s = u.encode('utf-8') ju = encoder.encode(u) js = encoder.encode(s) self.assertEqual(ju, js) def test_encoding2(self): u = u'\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}' s = u.encode('utf-8') ju = json.dumps(u, encoding='utf-8') js = json.dumps(s, encoding='utf-8') self.assertEqual(ju, js) def test_encoding3(self): u = u'\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}' j = json.dumps(u) self.assertEqual(j, '"\\u03b1\\u03a9"') def test_encoding4(self): u = u'\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}' j = json.dumps([u]) self.assertEqual(j, '["\\u03b1\\u03a9"]') def test_encoding5(self): u = u'\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}' j = json.dumps(u, ensure_ascii=False) self.assertEqual(j, u'"' + u + u'"') def test_encoding6(self): u = u'\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}' j = json.dumps([u], ensure_ascii=False) self.assertEqual(j, u'["' + u + u'"]') def test_big_unicode_encode(self): u = u'\U0001d120' self.assertEqual(json.dumps(u), '"\\ud834\\udd20"') self.assertEqual(json.dumps(u, ensure_ascii=False), u'"\U0001d120"') def test_big_unicode_decode(self): u = u'z\U0001d120x' self.assertEqual(json.loads('"' + u + '"'), u) self.assertEqual(json.loads('"z\\ud834\\udd20x"'), u) def test_unicode_decode(self): for i in range(0, 0xd7ff): u = unichr(i) #s = '"\\u{0:04x}"'.format(i) s = '"\\u%04x"' % (i,) self.assertEqual(json.loads(s), u) def test_object_pairs_hook_with_unicode(self): s = u'{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}' p = [(u"xkd", 1), (u"kcw", 2), (u"art", 3), (u"hxm", 4), (u"qrt", 5), (u"pad", 6), (u"hoy", 7)] self.assertEqual(json.loads(s), eval(s)) self.assertEqual(json.loads(s, object_pairs_hook=lambda x: x), p) od = json.loads(s, object_pairs_hook=json.OrderedDict) self.assertEqual(od, json.OrderedDict(p)) self.assertEqual(type(od), json.OrderedDict) # the object_pairs_hook takes priority over the object_hook self.assertEqual(json.loads(s, object_pairs_hook=json.OrderedDict, object_hook=lambda x: None), json.OrderedDict(p)) def test_default_encoding(self): self.assertEqual(json.loads(u'{"a": "\xe9"}'.encode('utf-8')), {'a': u'\xe9'}) def test_unicode_preservation(self): self.assertEqual(type(json.loads(u'""')), text_type) self.assertEqual(type(json.loads(u'"a"')), text_type) self.assertEqual(type(json.loads(u'["a"]')[0]), text_type) def test_ensure_ascii_false_returns_unicode(self): # http://code.google.com/p/simplejson/issues/detail?id=48 self.assertEqual(type(json.dumps([], ensure_ascii=False)), text_type) self.assertEqual(type(json.dumps(0, ensure_ascii=False)), text_type) self.assertEqual(type(json.dumps({}, ensure_ascii=False)), text_type) self.assertEqual(type(json.dumps("", ensure_ascii=False)), text_type) def test_ensure_ascii_false_bytestring_encoding(self): # http://code.google.com/p/simplejson/issues/detail?id=48 doc1 = {u'quux': b('Arr\xc3\xaat sur images')} doc2 = {u'quux': u('Arr\xeat sur images')} doc_ascii = '{"quux": "Arr\\u00eat sur images"}' doc_unicode = u'{"quux": "Arr\xeat sur images"}' self.assertEqual(json.dumps(doc1), doc_ascii) self.assertEqual(json.dumps(doc2), doc_ascii) self.assertEqual(json.dumps(doc1, ensure_ascii=False), doc_unicode) self.assertEqual(json.dumps(doc2, ensure_ascii=False), doc_unicode) def test_ensure_ascii_linebreak_encoding(self): # http://timelessrepo.com/json-isnt-a-javascript-subset s1 = u'\u2029\u2028' s2 = s1.encode('utf8') expect = '"\\u2029\\u2028"' self.assertEqual(json.dumps(s1), expect) self.assertEqual(json.dumps(s2), expect) self.assertEqual(json.dumps(s1, ensure_ascii=False), expect) self.assertEqual(json.dumps(s2, ensure_ascii=False), expect) def test_invalid_escape_sequences(self): # incomplete escape sequence self.assertRaises(json.JSONDecodeError, json.loads, '"\\u') self.assertRaises(json.JSONDecodeError, json.loads, '"\\u1') self.assertRaises(json.JSONDecodeError, json.loads, '"\\u12') self.assertRaises(json.JSONDecodeError, json.loads, '"\\u123') self.assertRaises(json.JSONDecodeError, json.loads, '"\\u1234') # invalid escape sequence self.assertRaises(json.JSONDecodeError, json.loads, '"\\u123x"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\u12x4"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\u1x34"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\ux234"') if sys.maxunicode > 65535: # invalid escape sequence for low surrogate self.assertRaises(json.JSONDecodeError, json.loads, '"\\ud800\\u"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\ud800\\u0"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\ud800\\u00"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\ud800\\u000"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\ud800\\u000x"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\ud800\\u00x0"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\ud800\\u0x00"') self.assertRaises(json.JSONDecodeError, json.loads, '"\\ud800\\ux000"') def test_ensure_ascii_still_works(self): # in the ascii range, ensure that everything is the same for c in map(unichr, range(0, 127)): self.assertEqual( json.dumps(c, ensure_ascii=False), json.dumps(c)) snowman = u'\N{SNOWMAN}' self.assertEqual( json.dumps(c, ensure_ascii=False), '"' + c + '"') def test_strip_bom(self): content = u"\u3053\u3093\u306b\u3061\u308f" json_doc = codecs.BOM_UTF8 + b(json.dumps(content)) self.assertEqual(json.load(BytesIO(json_doc)), content) for doc in json_doc, json_doc.decode('utf8'): self.assertEqual(json.loads(doc), content)
Save