def test_tuple_array_dump(self): t = (1, 2, 3) expect = json.dumpsJSON(list(t)) # Default is True sio = StringIO() json.dumpJSON(t, sio) self.assertEqual(expect, sio.getvalue()) sio = StringIO() json.dumpJSON(t, sio, tuple_as_array=True) self.assertEqual(expect, sio.getvalue()) self.assertRaises(TypeError, json.dumpJSON, t, StringIO(), tuple_as_array=False) # Ensure that the "default" does not get called sio = StringIO() json.dumpJSON(t, sio, default=repr) self.assertEqual(expect, sio.getvalue()) sio = StringIO() json.dumpJSON(t, sio, tuple_as_array=True, default=repr) self.assertEqual(expect, sio.getvalue()) # Ensure that the "default" gets called sio = StringIO() json.dumpJSON(t, sio, tuple_as_array=False, default=repr) self.assertEqual(json.dumpsJSON(repr(t)), sio.getvalue())
def test_tuple_array_dump(self): t = (1, 2, 3) expect = json.dumpsJSON(list(t)) # Default is True sio = StringIO() json.dumpJSON(t, sio) self.assertEqual(expect, sio.getvalue()) sio = StringIO() json.dumpJSON(t, sio, tuple_as_array=True) self.assertEqual(expect, sio.getvalue()) self.assertRaises(TypeError, json.dumpJSON, t, StringIO(), tuple_as_array=False) # Ensure that the "default" does not get called sio = StringIO() json.dumpJSON(t, sio, default=repr) self.assertEqual(expect, sio.getvalue()) sio = StringIO() json.dumpJSON(t, sio, tuple_as_array=True, default=repr) self.assertEqual(expect, sio.getvalue()) # Ensure that the "default" gets called sio = StringIO() json.dumpJSON(t, sio, tuple_as_array=False, default=repr) self.assertEqual( json.dumpsJSON(repr(t)), sio.getvalue())
def test_sort_keys(self): # https://github.com/simplejson/simplejson/issues/106 for num_keys in range(2, 32): p = {str(x): x for x in range(num_keys)} sio = StringIO() json.dumpJSON(p, sio, sort_keys=True) self.assertEqual(sio.getvalue(), json.dumpsJSON(p, sort_keys=True)) self.assertEqual(json.loads(sio.getvalue()), p)
def test_sort_keys(self): # https://github.com/simplejson/simplejson/issues/106 for num_keys in range(2, 32): p = dict((str(x), x) for x in range(num_keys)) sio = StringIO() json.dumpJSON(p, sio, sort_keys=True) self.assertEqual(sio.getvalue(), json.dumpsJSON(p, sort_keys=True)) self.assertEqual(json.loads(sio.getvalue()), p)
def test_decimal_defaults(self): d = Decimal('1.1') # use_decimal=True is the default self.assertRaises(TypeError, json.dumpsJSON, d, use_decimal=False) self.assertEqual('1.1', json.dumpsJSON(d)) self.assertEqual('1.1', json.dumpsJSON(d, use_decimal=True)) self.assertRaises(TypeError, json.dumpJSON, d, StringIO(), use_decimal=False) sio = StringIO() json.dumpJSON(d, sio) self.assertEqual('1.1', sio.getvalue()) sio = StringIO() json.dumpJSON(d, sio, use_decimal=True) self.assertEqual('1.1', sio.getvalue())
def check(indent, expected): d1 = json.dumpsJSON(h, indent=indent) self.assertEqual(d1, expected) sio = StringIO() json.dumpJSON(h, sio, indent=indent) self.assertEqual(sio.getvalue(), expected)
def test_asdict_not_callable_dump(self): for f in CONSTRUCTORS: self.assertRaises(TypeError, json.dumpJSON, f(DeadDuck()), StringIO(), namedtuple_as_object=True) sio = StringIO() json.dumpJSON(f(DeadDict()), sio, namedtuple_as_object=True) self.assertEqual( json.dumpsJSON(f({})), sio.getvalue())
def test_namedtuple_dump(self): for v in [Value(1), Point(1, 2), DuckValue(1), DuckPoint(1, 2)]: d = v._asdict() sio = StringIO() json.dumpJSON(v, sio) self.assertEqual(d, json.loads(sio.getvalue())) sio = StringIO() json.dumpJSON(v, sio, namedtuple_as_object=True) self.assertEqual(d, json.loads(sio.getvalue())) sio = StringIO() json.dumpJSON(v, sio, tuple_as_array=False) self.assertEqual(d, json.loads(sio.getvalue())) sio = StringIO() json.dumpJSON(v, sio, namedtuple_as_object=True, tuple_as_array=False) self.assertEqual(d, json.loads(sio.getvalue()))
def test_asdict_not_callable_dump(self): for f in CONSTRUCTORS: self.assertRaises(TypeError, json.dumpJSON, f(DeadDuck()), StringIO(), namedtuple_as_object=True) sio = StringIO() json.dumpJSON(f(DeadDict()), sio, namedtuple_as_object=True) self.assertEqual(json.dumpsJSON(f({})), sio.getvalue())
def test_namedtuple_dump_false(self): for v in [Value(1), Point(1, 2)]: l = list(v) sio = StringIO() json.dumpJSON(v, sio, namedtuple_as_object=False) self.assertEqual( l, json.loads(sio.getvalue())) self.assertRaises(TypeError, json.dumpJSON, v, StringIO(), tuple_as_array=False, namedtuple_as_object=False)
def test_namedtuple_dump(self): for v in [Value(1), Point(1, 2), DuckValue(1), DuckPoint(1, 2)]: d = v._asdict() sio = StringIO() json.dumpJSON(v, sio) self.assertEqual(d, json.loads(sio.getvalue())) sio = StringIO() json.dumpJSON(v, sio, namedtuple_as_object=True) self.assertEqual( d, json.loads(sio.getvalue())) sio = StringIO() json.dumpJSON(v, sio, tuple_as_array=False) self.assertEqual(d, json.loads(sio.getvalue())) sio = StringIO() json.dumpJSON(v, sio, namedtuple_as_object=True, tuple_as_array=False) self.assertEqual( d, json.loads(sio.getvalue()))
def test_namedtuple_dump_false(self): for v in [Value(1), Point(1, 2)]: l = list(v) sio = StringIO() json.dumpJSON(v, sio, namedtuple_as_object=False) self.assertEqual(l, json.loads(sio.getvalue())) self.assertRaises(TypeError, json.dumpJSON, v, StringIO(), tuple_as_array=False, namedtuple_as_object=False)
def dumps(self, obj, **kw): sio = StringIO() json.dumpJSON(obj, sio, **kw) res = json.dumpsJSON(obj, **kw) self.assertEqual(res, sio.getvalue()) return res
def test_dump(self): sio = StringIO() json.dumpJSON({}, sio) self.assertEqual(sio.getvalue(), '{}')
def test_dump(self): sio = StringIO() json.dumpJSON({}, sio) self.assertEqual(sio.getvalue(), "{}")