diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-06-16 00:29:31 +0000 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-06-16 00:29:31 +0000 |
commit | 08a0bbc8461399ff7dac477c68fc6fc16156ee76 (patch) | |
tree | 1c0d76883b1de95822b60f91930971aba9904e51 /Lib/test/test_coding.py | |
parent | a1cc040828ff2c46a0c8560bddc7d21d3b9e78ef (diff) | |
download | cpython-git-08a0bbc8461399ff7dac477c68fc6fc16156ee76.tar.gz |
don't mask encoding errors when decoding a string #6289
Diffstat (limited to 'Lib/test/test_coding.py')
-rw-r--r-- | Lib/test/test_coding.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/test/test_coding.py b/Lib/test/test_coding.py index e83015e543..7ac3af04d8 100644 --- a/Lib/test/test_coding.py +++ b/Lib/test/test_coding.py @@ -21,6 +21,18 @@ class CodingTest(unittest.TestCase): fp.close() self.assertRaises(SyntaxError, compile, text, filename, 'exec') + def test_error_from_string(self): + # See http://bugs.python.org/issue6289 + input = u"# coding: ascii\n\N{SNOWMAN}".encode('utf-8') + try: + compile(input, "<string>", "exec") + except SyntaxError as e: + expected = "'ascii' codec can't decode byte 0xe2 in position 16: " \ + "ordinal not in range(128)" + self.assertTrue(str(e).startswith(expected)) + else: + self.fail("didn't raise") + def test_main(): test.test_support.run_unittest(CodingTest) |