diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2013-06-13 06:50:42 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2013-06-13 06:50:42 (GMT) |
commit | 6765015f6ceaad6a076f839ce778a96be565dbaa (patch) | |
tree | 4d716e713c0f2378acbecba9362f92da5282accb /Lib/test/test_source_encoding.py | |
parent | dbcd4576244b9c9acc6201034b1dfcc858c541ed (diff) | |
download | cpython-6765015f6ceaad6a076f839ce778a96be565dbaa.zip cpython-6765015f6ceaad6a076f839ce778a96be565dbaa.tar.gz cpython-6765015f6ceaad6a076f839ce778a96be565dbaa.tar.bz2 |
Issue #18048: Rename test_coding.py to test_source_encoding.py.
Diffstat (limited to 'Lib/test/test_source_encoding.py')
-rw-r--r-- | Lib/test/test_source_encoding.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Lib/test/test_source_encoding.py b/Lib/test/test_source_encoding.py new file mode 100644 index 0000000..7f5ddb1 --- /dev/null +++ b/Lib/test/test_source_encoding.py @@ -0,0 +1,37 @@ + +import test.test_support, unittest +import os + +class CodingTest(unittest.TestCase): + def test_bad_coding(self): + module_name = 'bad_coding' + self.verify_bad_module(module_name) + + def test_bad_coding2(self): + module_name = 'bad_coding2' + self.verify_bad_module(module_name) + + def verify_bad_module(self, module_name): + self.assertRaises(SyntaxError, __import__, 'test.' + module_name) + + path = os.path.dirname(__file__) + filename = os.path.join(path, module_name + '.py') + 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) + +if __name__ == "__main__": + test_main() |