mirror of
https://github.com/python/cpython.git
synced 2025-08-31 14:07:50 +00:00
bpo-34013: Move the Python 2 hints from the exception constructor to the parser (GH-27392)
This commit is contained in:
parent
6948964ecf
commit
ecc3c8e421
5 changed files with 28 additions and 224 deletions
|
@ -140,21 +140,24 @@ class TestPy2MigrationHint(unittest.TestCase):
|
|||
with self.assertRaises(SyntaxError) as context:
|
||||
exec(python2_print_str)
|
||||
|
||||
self.assertIn('print("Hello World")', str(context.exception))
|
||||
self.assertIn("Missing parentheses in call to 'print'. Did you mean print(...)",
|
||||
str(context.exception))
|
||||
|
||||
def test_string_with_soft_space(self):
|
||||
python2_print_str = 'print "Hello World",'
|
||||
with self.assertRaises(SyntaxError) as context:
|
||||
exec(python2_print_str)
|
||||
|
||||
self.assertIn('print("Hello World", end=" ")', str(context.exception))
|
||||
self.assertIn("Missing parentheses in call to 'print'. Did you mean print(...)",
|
||||
str(context.exception))
|
||||
|
||||
def test_string_with_excessive_whitespace(self):
|
||||
python2_print_str = 'print "Hello World", '
|
||||
with self.assertRaises(SyntaxError) as context:
|
||||
exec(python2_print_str)
|
||||
|
||||
self.assertIn('print("Hello World", end=" ")', str(context.exception))
|
||||
self.assertIn("Missing parentheses in call to 'print'. Did you mean print(...)",
|
||||
str(context.exception))
|
||||
|
||||
def test_string_with_leading_whitespace(self):
|
||||
python2_print_str = '''if 1:
|
||||
|
@ -163,7 +166,8 @@ class TestPy2MigrationHint(unittest.TestCase):
|
|||
with self.assertRaises(SyntaxError) as context:
|
||||
exec(python2_print_str)
|
||||
|
||||
self.assertIn('print("Hello World")', str(context.exception))
|
||||
self.assertIn("Missing parentheses in call to 'print'. Did you mean print(...)",
|
||||
str(context.exception))
|
||||
|
||||
# bpo-32685: Suggestions for print statement should be proper when
|
||||
# it is in the same line as the header of a compound statement
|
||||
|
@ -173,14 +177,16 @@ class TestPy2MigrationHint(unittest.TestCase):
|
|||
with self.assertRaises(SyntaxError) as context:
|
||||
exec(python2_print_str)
|
||||
|
||||
self.assertIn('print(p)', str(context.exception))
|
||||
self.assertIn("Missing parentheses in call to 'print'. Did you mean print(...)",
|
||||
str(context.exception))
|
||||
|
||||
def test_string_in_loop_on_same_line(self):
|
||||
python2_print_str = 'for i in s: print i'
|
||||
with self.assertRaises(SyntaxError) as context:
|
||||
exec(python2_print_str)
|
||||
|
||||
self.assertIn('print(i)', str(context.exception))
|
||||
self.assertIn("Missing parentheses in call to 'print'. Did you mean print(...)",
|
||||
str(context.exception))
|
||||
|
||||
def test_stream_redirection_hint_for_py2_migration(self):
|
||||
# Test correct hint produced for Py2 redirection syntax
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue