コード例 #1
0
        def check(indent, expected):
            d1 = json.dumps(h, indent=indent)
            self.assertEqual(d1, expected)

            sio = StringIO()
            json.dump(h, sio, indent=indent)
            self.assertEqual(sio.getvalue(), expected)
コード例 #2
0
ファイル: test_tuple.py プロジェクト: theguardian/CherryStrap
 def test_tuple_array_dump(self):
     t = (1, 2, 3)
     expect = json.dumps(list(t))
     # Default is True
     sio = StringIO()
     json.dump(t, sio)
     self.assertEqual(expect, sio.getvalue())
     sio = StringIO()
     json.dump(t, sio, tuple_as_array=True)
     self.assertEqual(expect, sio.getvalue())
     self.assertRaises(TypeError, json.dump, t, StringIO(),
                       tuple_as_array=False)
     # Ensure that the "default" does not get called
     sio = StringIO()
     json.dump(t, sio, default=repr)
     self.assertEqual(expect, sio.getvalue())
     sio = StringIO()
     json.dump(t, sio, tuple_as_array=True, default=repr)
     self.assertEqual(expect, sio.getvalue())
     # Ensure that the "default" gets called
     sio = StringIO()
     json.dump(t, sio, tuple_as_array=False, default=repr)
     self.assertEqual(
         json.dumps(repr(t)),
         sio.getvalue())
コード例 #3
0
ファイル: test_indent.py プロジェクト: theguardian/JIRA-APPy
        def check(indent, expected):
            d1 = json.dumps(h, indent=indent)
            self.assertEqual(d1, expected)

            sio = StringIO()
            json.dump(h, sio, indent=indent)
            self.assertEqual(sio.getvalue(), expected)
コード例 #4
0
ファイル: test_dump.py プロジェクト: theguardian/CherryStrap
 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.dump(p, sio, sort_keys=True)
         self.assertEqual(sio.getvalue(), json.dumps(p, sort_keys=True))
         self.assertEqual(json.loads(sio.getvalue()), p)
コード例 #5
0
ファイル: test_dump.py プロジェクト: theguardian/JIRA-APPy
 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.dump(p, sio, sort_keys=True)
         self.assertEqual(sio.getvalue(), json.dumps(p, sort_keys=True))
         self.assertEqual(json.loads(sio.getvalue()), p)
コード例 #6
0
 def test_asdict_not_callable_dump(self):
     for f in CONSTRUCTORS:
         self.assertRaises(TypeError,
             json.dump, f(DeadDuck()), StringIO(), namedtuple_as_object=True)
         sio = StringIO()
         json.dump(f(DeadDict()), sio, namedtuple_as_object=True)
         self.assertEqual(
             json.dumps(f({})),
             sio.getvalue())
コード例 #7
0
 def test_namedtuple_dump_false(self):
     for v in [Value(1), Point(1, 2)]:
         l = list(v)
         sio = StringIO()
         json.dump(v, sio, namedtuple_as_object=False)
         self.assertEqual(
             l,
             json.loads(sio.getvalue()))
         self.assertRaises(TypeError, json.dump, v, StringIO(),
             tuple_as_array=False, namedtuple_as_object=False)
コード例 #8
0
 def test_asdict_not_callable_dump(self):
     for f in CONSTRUCTORS:
         self.assertRaises(TypeError,
                           json.dump,
                           f(DeadDuck()),
                           StringIO(),
                           namedtuple_as_object=True)
         sio = StringIO()
         json.dump(f(DeadDict()), sio, namedtuple_as_object=True)
         self.assertEqual(json.dumps(f({})), sio.getvalue())
コード例 #9
0
 def test_namedtuple_dump_false(self):
     for v in [Value(1), Point(1, 2)]:
         l = list(v)
         sio = StringIO()
         json.dump(v, sio, namedtuple_as_object=False)
         self.assertEqual(l, json.loads(sio.getvalue()))
         self.assertRaises(TypeError,
                           json.dump,
                           v,
                           StringIO(),
                           tuple_as_array=False,
                           namedtuple_as_object=False)
コード例 #10
0
ファイル: test_decode.py プロジェクト: theguardian/JIRA-APPy
 def test_object_pairs_hook(self):
     s = '{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}'
     p = [("xkd", 1), ("kcw", 2), ("art", 3), ("hxm", 4), ("qrt", 5),
          ("pad", 6), ("hoy", 7)]
     self.assertEqual(json.loads(s), eval(s))
     self.assertEqual(json.loads(s, object_pairs_hook=lambda x: x), p)
     self.assertEqual(json.load(StringIO(s), object_pairs_hook=lambda x: x),
                      p)
     od = json.loads(s, object_pairs_hook=OrderedDict)
     self.assertEqual(od, OrderedDict(p))
     self.assertEqual(type(od), OrderedDict)
     # the object_pairs_hook takes priority over the object_hook
     self.assertEqual(
         json.loads(s,
                    object_pairs_hook=OrderedDict,
                    object_hook=lambda x: None), OrderedDict(p))
コード例 #11
0
 def test_decimal_defaults(self):
     d = Decimal('1.1')
     # use_decimal=True is the default
     self.assertRaises(TypeError, json.dumps, d, use_decimal=False)
     self.assertEqual('1.1', json.dumps(d))
     self.assertEqual('1.1', json.dumps(d, use_decimal=True))
     self.assertRaises(TypeError, json.dump, d, StringIO(),
                       use_decimal=False)
     sio = StringIO()
     json.dump(d, sio)
     self.assertEqual('1.1', sio.getvalue())
     sio = StringIO()
     json.dump(d, sio, use_decimal=True)
     self.assertEqual('1.1', sio.getvalue())
コード例 #12
0
 def test_namedtuple_dump(self):
     for v in [Value(1), Point(1, 2), DuckValue(1), DuckPoint(1, 2)]:
         d = v._asdict()
         sio = StringIO()
         json.dump(v, sio)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dump(v, sio, namedtuple_as_object=True)
         self.assertEqual(
             d,
             json.loads(sio.getvalue()))
         sio = StringIO()
         json.dump(v, sio, tuple_as_array=False)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dump(v, sio, namedtuple_as_object=True,
                   tuple_as_array=False)
         self.assertEqual(
             d,
             json.loads(sio.getvalue()))
コード例 #13
0
def sio_dump(obj, **kw):
    sio = StringIO()
    json.dumps(obj, **kw)
    return sio.getvalue()
コード例 #14
0
 def dumps(self, obj, **kw):
     sio = StringIO()
     json.dump(obj, sio, **kw)
     res = json.dumps(obj, **kw)
     self.assertEqual(res, sio.getvalue())
     return res
コード例 #15
0
 def loads(self, s, **kw):
     sio = StringIO(s)
     res = json.loads(s, **kw)
     self.assertEqual(res, json.load(sio, **kw))
     return res
コード例 #16
0
def sio_dump(obj, **kw):
    sio = StringIO()
    json.dumps(obj, **kw)
    return sio.getvalue()
コード例 #17
0
 def test_tuple_array_dump(self):
     t = (1, 2, 3)
     expect = json.dumps(list(t))
     # Default is True
     sio = StringIO()
     json.dump(t, sio)
     self.assertEqual(expect, sio.getvalue())
     sio = StringIO()
     json.dump(t, sio, tuple_as_array=True)
     self.assertEqual(expect, sio.getvalue())
     self.assertRaises(TypeError,
                       json.dump,
                       t,
                       StringIO(),
                       tuple_as_array=False)
     # Ensure that the "default" does not get called
     sio = StringIO()
     json.dump(t, sio, default=repr)
     self.assertEqual(expect, sio.getvalue())
     sio = StringIO()
     json.dump(t, sio, tuple_as_array=True, default=repr)
     self.assertEqual(expect, sio.getvalue())
     # Ensure that the "default" gets called
     sio = StringIO()
     json.dump(t, sio, tuple_as_array=False, default=repr)
     self.assertEqual(json.dumps(repr(t)), sio.getvalue())
コード例 #18
0
ファイル: test_dump.py プロジェクト: theguardian/JIRA-APPy
 def test_dump(self):
     sio = StringIO()
     json.dump({}, sio)
     self.assertEqual(sio.getvalue(), '{}')
コード例 #19
0
 def test_namedtuple_dump(self):
     for v in [Value(1), Point(1, 2), DuckValue(1), DuckPoint(1, 2)]:
         d = v._asdict()
         sio = StringIO()
         json.dump(v, sio)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dump(v, sio, namedtuple_as_object=True)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dump(v, sio, tuple_as_array=False)
         self.assertEqual(d, json.loads(sio.getvalue()))
         sio = StringIO()
         json.dump(v, sio, namedtuple_as_object=True, tuple_as_array=False)
         self.assertEqual(d, json.loads(sio.getvalue()))
コード例 #20
0
ファイル: test_dump.py プロジェクト: theguardian/CherryStrap
 def test_dump(self):
     sio = StringIO()
     json.dump({}, sio)
     self.assertEqual(sio.getvalue(), '{}')