Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module,
[python/dscho.git] / Lib / json / tests / test_check_circular.py
blob3c3f96ad71c123c5b124ee86909acfd3a3082333
1 from unittest import TestCase
2 import json
4 def default_iterable(obj):
5 return list(obj)
7 class TestCheckCircular(TestCase):
8 def test_circular_dict(self):
9 dct = {}
10 dct['a'] = dct
11 self.assertRaises(ValueError, json.dumps, dct)
13 def test_circular_list(self):
14 lst = []
15 lst.append(lst)
16 self.assertRaises(ValueError, json.dumps, lst)
18 def test_circular_composite(self):
19 dct2 = {}
20 dct2['a'] = []
21 dct2['a'].append(dct2)
22 self.assertRaises(ValueError, json.dumps, dct2)
24 def test_circular_default(self):
25 json.dumps([set()], default=default_iterable)
26 self.assertRaises(TypeError, json.dumps, [set()])
28 def test_circular_off_default(self):
29 json.dumps([set()], default=default_iterable, check_circular=False)
30 self.assertRaises(TypeError, json.dumps, [set()], check_circular=False)