Index: third_party/simplejson/simplejson/tests/test_check_circular.py |
diff --git a/third_party/simplejson/simplejson/tests/test_check_circular.py b/third_party/simplejson/simplejson/tests/test_check_circular.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..af6463d6d88f8178ac0a6e07662650c9a623bc48 |
--- /dev/null |
+++ b/third_party/simplejson/simplejson/tests/test_check_circular.py |
@@ -0,0 +1,30 @@ |
+from unittest import TestCase |
+import simplejson as json |
+ |
+def default_iterable(obj): |
+ return list(obj) |
+ |
+class TestCheckCircular(TestCase): |
+ def test_circular_dict(self): |
+ dct = {} |
+ dct['a'] = dct |
+ self.assertRaises(ValueError, json.dumps, dct) |
+ |
+ def test_circular_list(self): |
+ lst = [] |
+ lst.append(lst) |
+ self.assertRaises(ValueError, json.dumps, lst) |
+ |
+ def test_circular_composite(self): |
+ dct2 = {} |
+ dct2['a'] = [] |
+ dct2['a'].append(dct2) |
+ self.assertRaises(ValueError, json.dumps, dct2) |
+ |
+ def test_circular_default(self): |
+ json.dumps([set()], default=default_iterable) |
+ self.assertRaises(TypeError, json.dumps, [set()]) |
+ |
+ def test_circular_off_default(self): |
+ json.dumps([set()], default=default_iterable, check_circular=False) |
+ self.assertRaises(TypeError, json.dumps, [set()], check_circular=False) |