diff options
Diffstat (limited to 'Lib/json/tests/test_recursion.py')
| -rw-r--r-- | Lib/json/tests/test_recursion.py | 67 | 
1 files changed, 0 insertions, 67 deletions
| diff --git a/Lib/json/tests/test_recursion.py b/Lib/json/tests/test_recursion.py deleted file mode 100644 index 1e9b8ab..0000000 --- a/Lib/json/tests/test_recursion.py +++ /dev/null @@ -1,67 +0,0 @@ -from unittest import TestCase - -import json - -class JSONTestObject: -    pass - - -class RecursiveJSONEncoder(json.JSONEncoder): -    recurse = False -    def default(self, o): -        if o is JSONTestObject: -            if self.recurse: -                return [JSONTestObject] -            else: -                return 'JSONTestObject' -        return json.JSONEncoder.default(o) - - -class TestRecursion(TestCase): -    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_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) - -    def test_defaultrecursion(self): -        enc = RecursiveJSONEncoder() -        self.assertEqual(enc.encode(JSONTestObject), '"JSONTestObject"') -        enc.recurse = True -        try: -            enc.encode(JSONTestObject) -        except ValueError: -            pass -        else: -            self.fail("didn't raise ValueError on default recursion") | 
