]> git.proxmox.com Git - mirror_edk2.git/blame - 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
CommitLineData
3257aa99
DM
1from json.tests import PyTest, CTest\r
2\r
3\r
4def default_iterable(obj):\r
5 return list(obj)\r
6\r
7class TestCheckCircular(object):\r
8 def test_circular_dict(self):\r
9 dct = {}\r
10 dct['a'] = dct\r
11 self.assertRaises(ValueError, self.dumps, dct)\r
12\r
13 def test_circular_list(self):\r
14 lst = []\r
15 lst.append(lst)\r
16 self.assertRaises(ValueError, self.dumps, lst)\r
17\r
18 def test_circular_composite(self):\r
19 dct2 = {}\r
20 dct2['a'] = []\r
21 dct2['a'].append(dct2)\r
22 self.assertRaises(ValueError, self.dumps, dct2)\r
23\r
24 def test_circular_default(self):\r
25 self.dumps([set()], default=default_iterable)\r
26 self.assertRaises(TypeError, self.dumps, [set()])\r
27\r
28 def test_circular_off_default(self):\r
29 self.dumps([set()], default=default_iterable, check_circular=False)\r
30 self.assertRaises(TypeError, self.dumps, [set()], check_circular=False)\r
31\r
32\r
33class TestPyCheckCircular(TestCheckCircular, PyTest): pass\r
34class TestCCheckCircular(TestCheckCircular, CTest): pass\r