Example #1
0
 def test_encode_truefalse(self):
     self.assertEqual(JSONModule.dumps(
              {True: False, False: True}, sort_keys=True),
              '{"false": true, "true": false}')
     self.assertEqual(JSONModule.dumps(
             {2: 3.0, 4.0: 5, False: 1, 6: True}, sort_keys=True),
             '{"false": 1, "2": 3.0, "4.0": 5, "6": true}')
Example #2
0
 def test_parse(self):
     # test in/out equivalence and parsing
     res = json.loads(JSON)
     out = json.dumps(res)
     self.assertEqual(res, json.loads(out))
     try:
         json.dumps(res, allow_nan=False)
     except ValueError:
         pass
     else:
         self.fail("23456789012E666 should be out of range")
Example #3
0
 def test_parse(self):
     # test in/out equivalence and parsing
     res = json.loads(JSON)
     out = json.dumps(res)
     self.assertEqual(res, json.loads(out))
     try:
         json.dumps(res, allow_nan=False)
     except ValueError:
         pass
     else:
         self.fail("23456789012E666 should be out of range")
 def test_dictrecursion(self):
     x = {}
     x["test"] = x
     try:
         json.dumps(x)
     except ValueError:
         pass
     else:
         self.fail("didn't raise ValueError on dict recursion")
     x = {}
     y = {"a": x, "b": x}
     # ensure that the marker is cleared
     json.dumps(x)
Example #5
0
 def test_dictrecursion(self):
     x = {}
     x["test"] = x
     try:
         json.dumps(x)
     except ValueError:
         pass
     else:
         self.fail("didn't raise ValueError on dict recursion")
     x = {}
     y = {"a": x, "b": x}
     # ensure that the marker is cleared
     json.dumps(x)
Example #6
0
 def test_ordered_dict(self):
     # See issue 6105
     items = [('one', 1), ('two', 2), ('three', 3), ('four', 4),
              ('five', 5)]
     s = JSONModule.dumps(OrderedDict(items))
     self.assertEqual(
         s, '{"one": 1, "two": 2, "three": 3, "four": 4, "five": 5}')
Example #7
0
    def test_indent(self):
        h = [['blorpie'], ['whoops'], [], 'd-shtaeou', 'd-nthiouh', 'i-vhbjkhnth',
             {'nifty': 87}, {'field': 'yes', 'morefield': False} ]

        expect = textwrap.dedent("""\
        [
        \t[
        \t\t"blorpie"
        \t],
        \t[
        \t\t"whoops"
        \t],
        \t[],
        \t"d-shtaeou",
        \t"d-nthiouh",
        \t"i-vhbjkhnth",
        \t{
        \t\t"nifty": 87
        \t},
        \t{
        \t\t"field": "yes",
        \t\t"morefield": false
        \t}
        ]""")


        d1 = JSONModule.dumps(h)
        d2 = JSONModule.dumps(h, indent=2, sort_keys=True, separators=(',', ': '))
        d3 = JSONModule.dumps(h, indent='\t', sort_keys=True, separators=(',', ': '))

        h1 = JSONModule.loads(d1)
        h2 = JSONModule.loads(d2)
        h3 = JSONModule.loads(d3)

        self.assertEqual(h1, h)
        self.assertEqual(h2, h)
        self.assertEqual(h3, h)
        self.assertEqual(d2, expect.expandtabs(2))
        self.assertEqual(d3, expect)
Example #8
0
 def test_listrecursion(self):
     x = []
     x.append(x)
     try:
         json.dumps(x)
     except ValueError:
         pass
     else:
         self.fail("didn't raise ValueError on list recursion")
     x = []
     y = [x]
     x.append(y)
     try:
         json.dumps(x)
     except ValueError:
         pass
     else:
         self.fail("didn't raise ValueError on alternating list recursion")
     y = []
     x = [y, y]
     # ensure that the marker is cleared
     json.dumps(x)
 def test_listrecursion(self):
     x = []
     x.append(x)
     try:
         json.dumps(x)
     except ValueError:
         pass
     else:
         self.fail("didn't raise ValueError on list recursion")
     x = []
     y = [x]
     x.append(y)
     try:
         json.dumps(x)
     except ValueError:
         pass
     else:
         self.fail("didn't raise ValueError on alternating list recursion")
     y = []
     x = [y, y]
     # ensure that the marker is cleared
     json.dumps(x)
Example #10
0
 def test_dumps(self):
     self.assertEqual(JSONModule.dumps({}), '{}')
Example #11
0
 def test_parse(self):
     # test in/out equivalence and parsing
     res = json.loads(JSON)
     out = json.dumps(res)
     self.assertEqual(res, json.loads(out))
Example #12
0
 def test_floats(self):
     for num in [
             1617161771.7650001, math.pi, math.pi**100, math.pi**-100, 3.1
     ]:
         self.assertEqual(float(json.dumps(num)), num)
         self.assertEqual(json.loads(json.dumps(num)), num)
Example #13
0
 def test_ints(self):
     for num in [1, 1 << 32, 1 << 64]:
         self.assertEqual(json.dumps(num), str(num))
         self.assertEqual(int(json.dumps(num)), num)
 def test_default(self):
     self.assertEqual(JSONModule.dumps(type, default=repr), JSONModule.dumps(repr(type)))
Example #15
0
 def test_floats(self):
     for num in [1617161771.7650001, math.pi, math.pi**100, math.pi**-100, 3.1]:
         self.assertEqual(float(json.dumps(num)), num)
         self.assertEqual(json.loads(json.dumps(num)), num)
 def test_sorted_dict(self):
     items = [('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)]
     s = JSONModule.dumps(dict(items), sort_keys=True)
     self.assertEqual(s, '{"five": 5, "four": 4, "one": 1, "three": 3, "two": 2}')
 def test_ordered_dict(self):
     # See issue 6105
     items = [('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)]
     s = JSONModule.dumps(OrderedDict(items))
     self.assertEqual(s, '{"one": 1, "two": 2, "three": 3, "four": 4, "five": 5}')
Example #18
0
 def test_parse(self):
     # test in/out equivalence and parsing
     res = json.loads(JSON)
     out = json.dumps(res)
     self.assertEqual(res, json.loads(out))
Example #19
0
 def test_sorted_dict(self):
     items = [('one', 1), ('two', 2), ('three', 3), ('four', 4),
              ('five', 5)]
     s = JSONModule.dumps(dict(items), sort_keys=True)
     self.assertEqual(
         s, '{"five": 5, "four": 4, "one": 1, "three": 3, "two": 2}')
Example #20
0
 def test_default(self):
     self.assertEqual(
         JSONModule.dumps(type, default=repr),
         JSONModule.dumps(repr(type)))
Example #21
0
 def test_ints(self):
     for num in [1, 1<<32, 1<<64]:
         self.assertEqual(json.dumps(num), str(num))
         self.assertEqual(int(json.dumps(num)), num)