/opt/imunify360/venv/lib/python3.11/site-packages/simplejson/tests
NameSizeModeActions
__pycache__/-0755rm
test_bigint_as_string.py22380644editdlrm
test_bitsize_int_as_string.py45350644editdlrm
test_check_circular.py15790644editdlrm
test_decimal.py25440644editdlrm
test_decode.py74700644editdlrm
test_default.py2210644editdlrm
test_dump.py176000644editdlrm
test_encode_basestring_ascii.py23370644editdlrm
test_encode_for_html.py15150644editdlrm
test_errors.py35030644editdlrm
test_fail.py64540644editdlrm
test_float.py19830644editdlrm
test_for_json.py41260644editdlrm
test_free_threading.py31690644editdlrm
test_indent.py25680644editdlrm
test_item_sort_key.py13760644editdlrm
test_iterable.py25800644editdlrm
test_namedtuple.py73910644editdlrm
test_pass1.py17460644editdlrm
test_pass2.py3860644editdlrm
test_pass3.py4820644editdlrm
test_raw_json.py10620644editdlrm
test_recursion.py16790644editdlrm
test_scanstring.py120980644editdlrm
test_separators.py9420644editdlrm
test_speedups.py125900644editdlrm
test_str_subclass.py7400644editdlrm
test_subclass.py11240644editdlrm
test_subinterpreters.py46390644editdlrm
test_tool.py29960644editdlrm
test_tuple.py18310644editdlrm
test_unicode.py70560644editdlrm
_cibw_runner.py1730644editdlrm
_helpers.py4050644editdlrm
__init__.py29170644editdlrm
Edit: /opt/imunify360/venv/lib/python3.11/site-packages/simplejson/tests/test_iterable.py (2580B)
import unittest from simplejson.compat import StringIO import simplejson as json def iter_dumps(obj, **kw): return ''.join(json.JSONEncoder(**kw).iterencode(obj)) def sio_dump(obj, **kw): sio = StringIO() json.dumps(obj, **kw) return sio.getvalue() class BadIter: """Object whose __iter__ raises a non-TypeError exception.""" def __init__(self, exc_type): self.exc_type = exc_type def __iter__(self): raise self.exc_type("from __iter__") class TestIterable(unittest.TestCase): def test_iterable(self): for l in ([], [1], [1, 2], [1, 2, 3]): for opts in [{}, {'indent': 2}]: for dumps in (json.dumps, iter_dumps, sio_dump): expect = dumps(l, **opts) default_expect = dumps(sum(l), **opts) # Default is False self.assertRaises(TypeError, dumps, iter(l), **opts) self.assertRaises(TypeError, dumps, iter(l), iterable_as_array=False, **opts) self.assertEqual(expect, dumps(iter(l), iterable_as_array=True, **opts)) # Ensure that the "default" gets called self.assertEqual(default_expect, dumps(iter(l), default=sum, **opts)) self.assertEqual(default_expect, dumps(iter(l), iterable_as_array=False, default=sum, **opts)) # Ensure that the "default" does not get called self.assertEqual( expect, dumps(iter(l), iterable_as_array=True, default=sum, **opts)) def test_iterable_as_array_propagates_non_typeerror(self): # Regression test: MemoryError from __iter__ must not be # swallowed by PyErr_Clear and replaced with TypeError. # Test against the C encoder directly since json.dumps may # use the Python fallback encoder. try: import simplejson._speedups as sp import decimal except ImportError: return # C extension not available def noop_default(obj): raise TypeError('not serializable') c_enc = sp.make_encoder( {}, noop_default, sp.encode_basestring_ascii, None, ', ', ': ', False, False, True, {}, False, False, False, None, None, 'utf-8', False, False, decimal.Decimal, True, # iterable_as_array=True ) for exc_type in (MemoryError, RuntimeError): with self.assertRaises(exc_type): c_enc(BadIter(exc_type), 0)