2 import test
.test_support
, unittest
5 class CodingTest(unittest
.TestCase
):
6 def test_bad_coding(self
):
7 module_name
= 'bad_coding'
8 self
.verify_bad_module(module_name
)
10 def test_bad_coding2(self
):
11 module_name
= 'bad_coding2'
12 self
.verify_bad_module(module_name
)
14 def verify_bad_module(self
, module_name
):
15 self
.assertRaises(SyntaxError, __import__, 'test.' + module_name
)
17 path
= os
.path
.dirname(__file__
)
18 filename
= os
.path
.join(path
, module_name
+ '.py')
22 self
.assertRaises(SyntaxError, compile, text
, filename
, 'exec')
24 def test_error_from_string(self
):
25 # See http://bugs.python.org/issue6289
26 input = u
"# coding: ascii\n\N{SNOWMAN}".encode('utf-8')
28 compile(input, "<string>", "exec")
29 except SyntaxError as e
:
30 expected
= "'ascii' codec can't decode byte 0xe2 in position 16: " \
31 "ordinal not in range(128)"
32 self
.assertTrue(str(e
).startswith(expected
))
34 self
.fail("didn't raise")
37 test
.test_support
.run_unittest(CodingTest
)
39 if __name__
== "__main__":