1
from unittest import TestCase
3
import simplejson as json
9
class RecursiveJSONEncoder(json.JSONEncoder):
12
if o is JSONTestObject:
14
return [JSONTestObject]
16
return 'JSONTestObject'
17
return json.JSONEncoder.default(o)
20
class TestRecursion(TestCase):
21
def test_listrecursion(self):
29
self.fail("didn't raise ValueError on list recursion")
38
self.fail("didn't raise ValueError on alternating list recursion")
41
# ensure that the marker is cleared
44
def test_dictrecursion(self):
52
self.fail("didn't raise ValueError on dict recursion")
55
# ensure that the marker is cleared
58
def test_defaultrecursion(self):
59
enc = RecursiveJSONEncoder()
60
self.assertEquals(enc.encode(JSONTestObject), '"JSONTestObject"')
63
enc.encode(JSONTestObject)
67
self.fail("didn't raise ValueError on default recursion")