diff options
| author | Simon <simon@hardwired.org.uk> | 2011-03-22 17:58:52 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-03-22 17:58:52 (GMT) |
| commit | 2e401babb793238564ca640fc802a52ab7f6c293 (patch) | |
| tree | 87a9b471e82604e76f96d556f5771322fb31818a /src/python/stdlib/test/test_coding.py | |
| parent | c096b2b14a200a0cc0a08cfea839c9e7f4edf22e (diff) | |
| parent | 04a9cbcb8855e64db660a8c6e23d79114b4afd83 (diff) | |
| download | powder-2e401babb793238564ca640fc802a52ab7f6c293.zip powder-2e401babb793238564ca640fc802a52ab7f6c293.tar.gz | |
Python console
Diffstat (limited to 'src/python/stdlib/test/test_coding.py')
| -rw-r--r-- | src/python/stdlib/test/test_coding.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/python/stdlib/test/test_coding.py b/src/python/stdlib/test/test_coding.py new file mode 100644 index 0000000..7f5ddb1 --- /dev/null +++ b/src/python/stdlib/test/test_coding.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() |
