summaryrefslogtreecommitdiff
path: root/src/python/stdlib/test/test_coding.py
diff options
context:
space:
mode:
authorSimon <simon@hardwired.org.uk>2011-03-22 17:58:52 (GMT)
committer Simon <simon@hardwired.org.uk>2011-03-22 17:58:52 (GMT)
commit2e401babb793238564ca640fc802a52ab7f6c293 (patch)
tree87a9b471e82604e76f96d556f5771322fb31818a /src/python/stdlib/test/test_coding.py
parentc096b2b14a200a0cc0a08cfea839c9e7f4edf22e (diff)
parent04a9cbcb8855e64db660a8c6e23d79114b4afd83 (diff)
downloadpowder-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.py37
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()