Kaydet (Commit) 607cb9cf authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka

Issue #22221: Add tests for compile() with source encoding cookie.

üst d43ffc9a
...@@ -304,9 +304,26 @@ if 1: ...@@ -304,9 +304,26 @@ if 1:
l = lambda: "foo" l = lambda: "foo"
self.assertIsNone(l.__doc__) self.assertIsNone(l.__doc__)
## def test_unicode_encoding(self): def test_encoding(self):
## code = "# -*- coding: utf-8 -*-\npass\n" code = b'# -*- coding: badencoding -*-\npass\n'
## self.assertRaises(SyntaxError, compile, code, "tmp", "exec") self.assertRaises(SyntaxError, compile, code, 'tmp', 'exec')
code = '# -*- coding: badencoding -*-\n"\xc2\xa4"\n'
compile(code, 'tmp', 'exec')
self.assertEqual(eval(code), '\xc2\xa4')
code = '"\xc2\xa4"\n'
self.assertEqual(eval(code), '\xc2\xa4')
code = b'"\xc2\xa4"\n'
self.assertEqual(eval(code), '\xa4')
code = b'# -*- coding: latin1 -*-\n"\xc2\xa4"\n'
self.assertEqual(eval(code), '\xc2\xa4')
code = b'# -*- coding: utf-8 -*-\n"\xc2\xa4"\n'
self.assertEqual(eval(code), '\xa4')
code = b'# -*- coding: iso8859-15 -*-\n"\xc2\xa4"\n'
self.assertEqual(eval(code), '\xc2\u20ac')
code = '"""\\\n# -*- coding: iso8859-15 -*-\n\xc2\xa4"""\n'
self.assertEqual(eval(code), '# -*- coding: iso8859-15 -*-\n\xc2\xa4')
code = b'"""\\\n# -*- coding: iso8859-15 -*-\n\xc2\xa4"""\n'
self.assertEqual(eval(code), '# -*- coding: iso8859-15 -*-\n\xa4')
def test_subscripts(self): def test_subscripts(self):
# SF bug 1448804 # SF bug 1448804
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment