]> git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.10/Lib/json/tests/test_check_circular.py
AppPkg/Applications/Python/Python-2.7.10: Initial Checkin part 4/5.
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.10 / Lib / json / tests / test_check_circular.py
1 from json.tests import PyTest, CTest
2
3
4 def default_iterable(obj):
5 return list(obj)
6
7 class TestCheckCircular(object):
8 def test_circular_dict(self):
9 dct = {}
10 dct['a'] = dct
11 self.assertRaises(ValueError, self.dumps, dct)
12
13 def test_circular_list(self):
14 lst = []
15 lst.append(lst)
16 self.assertRaises(ValueError, self.dumps, lst)
17
18 def test_circular_composite(self):
19 dct2 = {}
20 dct2['a'] = []
21 dct2['a'].append(dct2)
22 self.assertRaises(ValueError, self.dumps, dct2)
23
24 def test_circular_default(self):
25 self.dumps([set()], default=default_iterable)
26 self.assertRaises(TypeError, self.dumps, [set()])
27
28 def test_circular_off_default(self):
29 self.dumps([set()], default=default_iterable, check_circular=False)
30 self.assertRaises(TypeError, self.dumps, [set()], check_circular=False)
31
32
33 class TestPyCheckCircular(TestCheckCircular, PyTest): pass
34 class TestCCheckCircular(TestCheckCircular, CTest): pass