summaryrefslogtreecommitdiff
path: root/Lib/test/test_json/test_decode.py
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-10-21 01:52:33 +0300
committerEzio Melotti <ezio.melotti@gmail.com>2013-10-21 01:52:33 +0300
commit97ccd8573e3d80fcddf853dbae622d5606566ddd (patch)
tree547260f78a7f4bfd79705a2ff8bc535832f53923 /Lib/test/test_json/test_decode.py
parent45c46a4dad9f7bce2c1182a71798e0ec322d7b3c (diff)
downloadcpython-97ccd8573e3d80fcddf853dbae622d5606566ddd.tar.gz
#19307: Improve error message for json.load(s) while passing objects of the wrong type.
Diffstat (limited to 'Lib/test/test_json/test_decode.py')
-rw-r--r--Lib/test/test_json/test_decode.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/test/test_json/test_decode.py b/Lib/test/test_json/test_decode.py
index d23e285909..05d07b7219 100644
--- a/Lib/test/test_json/test_decode.py
+++ b/Lib/test/test_json/test_decode.py
@@ -1,5 +1,5 @@
import decimal
-from io import StringIO
+from io import StringIO, BytesIO
from collections import OrderedDict
from test.test_json import PyTest, CTest
@@ -70,5 +70,12 @@ class TestDecode:
msg = 'escape'
self.assertRaisesRegex(ValueError, msg, self.loads, s)
+ def test_invalid_input_type(self):
+ msg = 'the JSON object must be str'
+ for value in [1, 3.14, b'bytes', b'\xff\x00', [], {}, None]:
+ self.assertRaisesRegex(TypeError, msg, self.loads, value)
+ with self.assertRaisesRegex(TypeError, msg):
+ self.json.load(BytesIO(b'[1,2,3]'))
+
class TestPyDecode(TestDecode, PyTest): pass
class TestCDecode(TestDecode, CTest): pass