summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2013-06-09 13:53:55 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2013-06-09 13:53:55 (GMT)
commit9670543a00beb429799986b4f8b09632d624f859 (patch)
tree16f79b521f1f402be315ead5e5e8d214198feb1a /Lib/test
parent7dc4c03344e7d356f5f6080258f03b7d6db6aa96 (diff)
parent3af14aaba5e5df6e1bbe67f037bef1b1789209ca (diff)
downloadcpython-9670543a00beb429799986b4f8b09632d624f859.zip
cpython-9670543a00beb429799986b4f8b09632d624f859.tar.gz
cpython-9670543a00beb429799986b4f8b09632d624f859.tar.bz2
Issue #18038: SyntaxError raised during compilation sources with illegal
encoding now always contains an encoding name.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_pep263.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_pep263.py b/Lib/test/test_pep263.py
index 598d980..1290bc7 100644
--- a/Lib/test/test_pep263.py
+++ b/Lib/test/test_pep263.py
@@ -55,6 +55,24 @@ class PEP263Test(unittest.TestCase):
# two bytes in common with the UTF-8 BOM
self.assertRaises(SyntaxError, eval, b'\xef\xbb\x20')
+ def test_error_message(self):
+ compile(b'# -*- coding: iso-8859-15 -*-\n', 'dummy', 'exec')
+ compile(b'\xef\xbb\xbf\n', 'dummy', 'exec')
+ compile(b'\xef\xbb\xbf# -*- coding: utf-8 -*-\n', 'dummy', 'exec')
+ with self.assertRaisesRegexp(SyntaxError, 'fake'):
+ compile(b'# -*- coding: fake -*-\n', 'dummy', 'exec')
+ with self.assertRaisesRegexp(SyntaxError, 'iso-8859-15'):
+ compile(b'\xef\xbb\xbf# -*- coding: iso-8859-15 -*-\n',
+ 'dummy', 'exec')
+ with self.assertRaisesRegexp(SyntaxError, 'BOM'):
+ compile(b'\xef\xbb\xbf# -*- coding: iso-8859-15 -*-\n',
+ 'dummy', 'exec')
+ with self.assertRaisesRegexp(SyntaxError, 'fake'):
+ compile(b'\xef\xbb\xbf# -*- coding: fake -*-\n', 'dummy', 'exec')
+ with self.assertRaisesRegexp(SyntaxError, 'BOM'):
+ compile(b'\xef\xbb\xbf# -*- coding: fake -*-\n', 'dummy', 'exec')
+
+
def test_main():
support.run_unittest(PEP263Test)