MCPcopy Create free account
hub / github.com/simplejson/simplejson / TestRecursion

Class TestRecursion

simplejson/tests/test_recursion.py:20–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18
19
20class TestRecursion(TestCase):
21 def test_listrecursion(self):
22 x = []
23 x.append(x)
24 try:
25 json.dumps(x)
26 except ValueError:
27 pass
28 else:
29 self.fail("didn't raise ValueError on list recursion")
30 x = []
31 y = [x]
32 x.append(y)
33 try:
34 json.dumps(x)
35 except ValueError:
36 pass
37 else:
38 self.fail("didn't raise ValueError on alternating list recursion")
39 y = []
40 x = [y, y]
41 # ensure that the marker is cleared
42 json.dumps(x)
43
44 def test_dictrecursion(self):
45 x = {}
46 x["test"] = x
47 try:
48 json.dumps(x)
49 except ValueError:
50 pass
51 else:
52 self.fail("didn't raise ValueError on dict recursion")
53 x = {}
54 y = {"a": x, "b": x}
55 # ensure that the marker is cleared
56 json.dumps(y)
57
58 def test_defaultrecursion(self):
59 enc = RecursiveJSONEncoder()
60 self.assertEqual(enc.encode(JSONTestObject), '"JSONTestObject"')
61 enc.recurse = True
62 try:
63 enc.encode(JSONTestObject)
64 except ValueError:
65 pass
66 else:
67 self.fail("didn't raise ValueError on default recursion")

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…