patch 680474 that fixes bug 679880: compile/eval/exec refused utf-8 bom

mark. Added unit test.
This commit is contained in:
Just van Rossum 2003-02-09 20:38:48 +00:00
parent cf117b0b40
commit f032f86e9e
2 changed files with 6 additions and 2 deletions

View file

@ -190,6 +190,8 @@ class BuiltinTest(unittest.TestCase):
def test_compile(self):
compile('print 1\n', '', 'exec')
bom = '\xef\xbb\xbf'
compile(bom + 'print 1\n', '', 'exec')
self.assertRaises(TypeError, compile)
self.assertRaises(ValueError, compile, 'print 42\n', '<string>', 'badmode')
self.assertRaises(ValueError, compile, 'print 42\n', '<string>', 'single', 0xff)
@ -305,6 +307,8 @@ class BuiltinTest(unittest.TestCase):
self.assertEqual(eval(unicode('a'), globals, locals), 1)
self.assertEqual(eval(unicode('b'), globals, locals), 200)
self.assertEqual(eval(unicode('c'), globals, locals), 300)
bom = '\xef\xbb\xbf'
self.assertEqual(eval(bom + 'a', globals, locals), 1)
self.assertRaises(TypeError, eval)
self.assertRaises(TypeError, eval, ())