Submit
Path:
~
/
/
usr
/
lib64
/
python2.7
/
site-packages
/
simplejson
/
tests
/
File Content:
test_dump.py
from unittest import TestCase from simplejson.compat import StringIO, long_type, b, binary_type, PY3 import simplejson as json def as_text_type(s): if PY3 and isinstance(s, binary_type): return s.decode('ascii') return s class TestDump(TestCase): def test_dump(self): sio = StringIO() json.dump({}, sio) self.assertEqual(sio.getvalue(), '{}') def test_constants(self): for c in [None, True, False]: self.assertTrue(json.loads(json.dumps(c)) is c) self.assertTrue(json.loads(json.dumps([c]))[0] is c) self.assertTrue(json.loads(json.dumps({'a': c}))['a'] is c) 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.dumps({k: expect})), {expect: expect}) self.assertEqual( json.loads(json.dumps({k: expect}, sort_keys=True)), {expect: expect}) self.assertRaises(TypeError, json.dumps, {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.dumps(v0, skipkeys=True, sort_keys=sort_keys)), v1) self.assertEqual( json.loads(json.dumps({'': v0}, skipkeys=True, sort_keys=sort_keys)), {'': v1}) self.assertEqual( json.loads(json.dumps([v0], skipkeys=True, sort_keys=sort_keys)), [v1]) def test_dumps(self): self.assertEqual(json.dumps({}), '{}') def test_encode_truefalse(self): self.assertEqual(json.dumps( {True: False, False: True}, sort_keys=True), '{"false": true, "true": false}') self.assertEqual( json.dumps( {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_ordered_dict(self): # http://bugs.python.org/issue6105 items = [('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)] s = json.dumps(json.OrderedDict(items)) self.assertEqual( s, '{"one": 1, "two": 2, "three": 3, "four": 4, "five": 5}') def test_indent_unknown_type_acceptance(self): """ A test against the regression mentioned at `github issue 29`_. The indent parameter should accept any type which pretends to be an instance of int or long when it comes to being multiplied by strings, even if it is not actually an int or long, for backwards compatibility. .. _github issue 29: http://github.com/simplejson/simplejson/issue/29 """ class AwesomeInt(object): """An awesome reimplementation of integers""" def __init__(self, *args, **kwargs): if len(args) > 0: # [construct from literals, objects, etc.] # ... # Finally, if args[0] is an integer, store it if isinstance(args[0], int): self._int = args[0] # [various methods] def __mul__(self, other): # [various ways to multiply AwesomeInt objects] # ... finally, if the right-hand operand is not awesome enough, # try to do a normal integer multiplication if hasattr(self, '_int'): return self._int * other else: raise NotImplementedError("To do non-awesome things with" " this object, please construct it from an integer!") s = json.dumps([0, 1, 2], indent=AwesomeInt(3)) self.assertEqual(s, '[\n 0,\n 1,\n 2\n]') def test_accumulator(self): # the C API uses an accumulator that collects after 100,000 appends lst = [0] * 100000 self.assertEqual(json.loads(json.dumps(lst)), lst)
Submit
FILE
FOLDER
Name
Size
Permission
Action
__init__.py
3029 bytes
0644
__init__.pyc
4068 bytes
0644
__init__.pyo
4068 bytes
0644
test_bigint_as_string.py
2238 bytes
0644
test_bigint_as_string.pyc
2638 bytes
0644
test_bigint_as_string.pyo
2638 bytes
0644
test_bitsize_int_as_string.py
2297 bytes
0644
test_bitsize_int_as_string.pyc
3029 bytes
0644
test_bitsize_int_as_string.pyo
3029 bytes
0644
test_check_circular.py
917 bytes
0644
test_check_circular.pyc
2161 bytes
0644
test_check_circular.pyo
2161 bytes
0644
test_decimal.py
2544 bytes
0644
test_decimal.pyc
3521 bytes
0644
test_decimal.pyo
3521 bytes
0644
test_decode.py
4021 bytes
0644
test_decode.pyc
5884 bytes
0644
test_decode.pyo
5884 bytes
0644
test_default.py
221 bytes
0644
test_default.pyc
751 bytes
0644
test_default.pyo
751 bytes
0644
test_dump.py
4598 bytes
0644
test_dump.pyc
5939 bytes
0644
test_dump.pyo
5939 bytes
0644
test_encode_basestring_ascii.py
2337 bytes
0644
test_encode_basestring_ascii.pyc
3587 bytes
0644
test_encode_basestring_ascii.pyo
3587 bytes
0644
test_encode_for_html.py
1022 bytes
0644
test_encode_for_html.pyc
1864 bytes
0644
test_encode_for_html.pyo
1864 bytes
0644
test_errors.py
1549 bytes
0644
test_errors.pyc
2508 bytes
0644
test_errors.pyo
2508 bytes
0644
test_fail.py
6346 bytes
0644
test_fail.pyc
5397 bytes
0644
test_fail.pyo
5397 bytes
0644
test_float.py
1430 bytes
0644
test_float.pyc
2557 bytes
0644
test_float.pyo
2557 bytes
0644
test_for_json.py
2767 bytes
0644
test_for_json.pyc
5853 bytes
0644
test_for_json.pyo
5853 bytes
0644
test_indent.py
2568 bytes
0644
test_indent.pyc
2995 bytes
0644
test_indent.pyo
2995 bytes
0644
test_item_sort_key.py
1127 bytes
0644
test_item_sort_key.pyc
2121 bytes
0644
test_item_sort_key.pyo
2121 bytes
0644
test_namedtuple.py
4004 bytes
0644
test_namedtuple.pyc
6993 bytes
0644
test_namedtuple.pyo
6993 bytes
0644
test_pass1.py
1746 bytes
0644
test_pass1.pyc
2186 bytes
0644
test_pass1.pyo
2186 bytes
0644
test_pass2.py
386 bytes
0644
test_pass2.pyc
827 bytes
0644
test_pass2.pyo
827 bytes
0644
test_pass3.py
482 bytes
0644
test_pass3.pyc
922 bytes
0644
test_pass3.pyo
922 bytes
0644
test_recursion.py
1679 bytes
0644
test_recursion.pyc
2585 bytes
0644
test_recursion.pyo
2585 bytes
0644
test_scanstring.py
7311 bytes
0644
test_scanstring.pyc
6721 bytes
0644
test_scanstring.pyo
6682 bytes
0644
test_separators.py
942 bytes
0644
test_separators.pyc
1562 bytes
0644
test_separators.pyo
1562 bytes
0644
test_speedups.py
1011 bytes
0644
test_speedups.pyc
1883 bytes
0644
test_speedups.pyo
1883 bytes
0644
test_tool.py
2853 bytes
0644
test_tool.pyc
3428 bytes
0644
test_tool.pyo
3428 bytes
0644
test_tuple.py
1922 bytes
0644
test_tuple.pyc
2209 bytes
0644
test_tuple.pyo
2209 bytes
0644
test_unicode.py
6657 bytes
0644
test_unicode.pyc
8005 bytes
0644
test_unicode.pyo
8005 bytes
0644
N4ST4R_ID | Naxtarrr