diff options
| author | Bob Ippolito <bob@redivi.com> | 2009-03-17 23:19:00 (GMT) |
|---|---|---|
| committer | Bob Ippolito <bob@redivi.com> | 2009-03-17 23:19:00 (GMT) |
| commit | d914e3f8619df604ca6fa852fd210043b94f16e1 (patch) | |
| tree | 99352cdd395da08a735041039f7f336a92485f8d /Lib/json/tests/test_check_circular.py | |
| parent | 277859d5910782cc31bb27f2472893b8382ad391 (diff) | |
| download | cpython-d914e3f8619df604ca6fa852fd210043b94f16e1.zip cpython-d914e3f8619df604ca6fa852fd210043b94f16e1.tar.gz cpython-d914e3f8619df604ca6fa852fd210043b94f16e1.tar.bz2 | |
merge json library with simplejson 2.0.9 (issue 4136)
Diffstat (limited to 'Lib/json/tests/test_check_circular.py')
| -rw-r--r-- | Lib/json/tests/test_check_circular.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Lib/json/tests/test_check_circular.py b/Lib/json/tests/test_check_circular.py new file mode 100644 index 0000000..3c3f96a --- /dev/null +++ b/Lib/json/tests/test_check_circular.py @@ -0,0 +1,30 @@ +from unittest import TestCase +import 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) |
