Fix localization.
[clinton/xbmc-groove.git] / resources / lib / simplejson / tests / test_check_circular.py
1 from unittest import TestCase
2 import simplejson as json
3
4 def default_iterable(obj):
5 return list(obj)
6
7 class TestCheckCircular(TestCase):
8 def test_circular_dict(self):
9 dct = {}
10 dct['a'] = dct
11 self.assertRaises(ValueError, json.dumps, dct)
12
13 def test_circular_list(self):
14 lst = []
15 lst.append(lst)
16 self.assertRaises(ValueError, json.dumps, lst)
17
18 def test_circular_composite(self):
19 dct2 = {}
20 dct2['a'] = []
21 dct2['a'].append(dct2)
22 self.assertRaises(ValueError, json.dumps, dct2)
23
24 def test_circular_default(self):
25 json.dumps([set()], default=default_iterable)
26 self.assertRaises(TypeError, json.dumps, [set()])
27
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)