diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-11-12 23:39:44 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-11-12 23:39:44 (GMT) |
commit | e36199b49df77c96bad687c6681d8e54c5053b84 (patch) | |
tree | 81b9aaa74f92b9de459ede5dc6ed2ca4ec508998 /Lib | |
parent | c4cd6d3765d054ac1b23f0f9765a2eaf3f1e7be7 (diff) | |
download | cpython-e36199b49df77c96bad687c6681d8e54c5053b84.zip cpython-e36199b49df77c96bad687c6681d8e54c5053b84.tar.gz cpython-e36199b49df77c96bad687c6681d8e54c5053b84.tar.bz2 |
fix several compile() issues by translating newlines in the tokenizer
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_codeop.py | 4 | ||||
-rw-r--r-- | Lib/test/test_compile.py | 13 | ||||
-rw-r--r-- | Lib/test/test_parser.py | 6 |
3 files changed, 16 insertions, 7 deletions
diff --git a/Lib/test/test_codeop.py b/Lib/test/test_codeop.py index c8fa990..da3b83f 100644 --- a/Lib/test/test_codeop.py +++ b/Lib/test/test_codeop.py @@ -295,10 +295,6 @@ class CodeopTests(unittest.TestCase): self.assertNotEquals(compile_command("a = 1\n", "abc").co_filename, compile("a = 1\n", "def", 'single').co_filename) - def test_no_universal_newlines(self): - code = compile_command("'\rfoo\r'", symbol='eval') - self.assertEqual(eval(code), '\rfoo\r') - def test_main(): run_unittest(CodeopTests) diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py index 75c983a..28b7332 100644 --- a/Lib/test/test_compile.py +++ b/Lib/test/test_compile.py @@ -5,6 +5,19 @@ from test import test_support class TestSpecifics(unittest.TestCase): + def test_no_ending_newline(self): + compile("hi", "<test>", "exec") + compile("hi\r", "<test>", "exec") + + def test_empty(self): + compile("", "<test>", "exec") + + def test_other_newlines(self): + compile("\r\n", "<test>", "exec") + compile("\r", "<test>", "exec") + compile("hi\r\nstuff\r\ndef f():\n pass\r", "<test>", "exec") + compile("this_is\rreally_old_mac\rdef f():\n pass", "<test>", "exec") + def test_debug_assignment(self): # catch assignments to __debug__ self.assertRaises(SyntaxError, compile, '__debug__ = 1', '?', 'single') diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py index 7d059c2..ad5c5be 100644 --- a/Lib/test/test_parser.py +++ b/Lib/test/test_parser.py @@ -243,9 +243,9 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase): (14, '+', 2, 13), (2, '1', 2, 15), (4, '', 2, 16), - (6, '', 2, -1), - (4, '', 2, -1), - (0, '', 2, -1)], + (6, '', 3, -1), + (4, '', 3, -1), + (0, '', 3, -1)], terminals) |