diff options
Diffstat (limited to 'Lib/test/test_coding.py')
| -rw-r--r-- | Lib/test/test_coding.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/Lib/test/test_coding.py b/Lib/test/test_coding.py index e83015e..7f5ddb1 100644 --- a/Lib/test/test_coding.py +++ b/Lib/test/test_coding.py @@ -16,11 +16,20 @@ class CodingTest(unittest.TestCase): path = os.path.dirname(__file__) filename = os.path.join(path, module_name + '.py') - fp = open(filename) - text = fp.read() - fp.close() + with open(filename) as fp: + text = fp.read() 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') + with self.assertRaises(SyntaxError) as c: + compile(input, "<string>", "exec") + expected = "'ascii' codec can't decode byte 0xe2 in position 16: " \ + "ordinal not in range(128)" + self.assertTrue(c.exception.args[0].startswith(expected)) + + def test_main(): test.test_support.run_unittest(CodingTest) |
