mirror of
https://github.com/python/cpython.git
synced 2025-08-15 14:20:55 +00:00
[3.8] bpo-37950: Fix ast.dump() when call with incompletely initialized node. (GH-15510) (GH-15582)
(cherry picked from commit e64f948e76
)
This commit is contained in:
parent
38d311d79e
commit
097eae5b9b
4 changed files with 59 additions and 19 deletions
|
@ -645,6 +645,35 @@ class ASTHelpers_Test(unittest.TestCase):
|
|||
"lineno=1, col_offset=0, end_lineno=1, end_col_offset=24)], type_ignores=[])"
|
||||
)
|
||||
|
||||
def test_dump_incomplete(self):
|
||||
node = ast.Raise(lineno=3, col_offset=4)
|
||||
self.assertEqual(ast.dump(node),
|
||||
"Raise()"
|
||||
)
|
||||
self.assertEqual(ast.dump(node, include_attributes=True),
|
||||
"Raise(lineno=3, col_offset=4)"
|
||||
)
|
||||
node = ast.Raise(exc=ast.Name(id='e', ctx=ast.Load()), lineno=3, col_offset=4)
|
||||
self.assertEqual(ast.dump(node),
|
||||
"Raise(exc=Name(id='e', ctx=Load()))"
|
||||
)
|
||||
self.assertEqual(ast.dump(node, annotate_fields=False),
|
||||
"Raise(Name('e', Load()))"
|
||||
)
|
||||
self.assertEqual(ast.dump(node, include_attributes=True),
|
||||
"Raise(exc=Name(id='e', ctx=Load()), lineno=3, col_offset=4)"
|
||||
)
|
||||
self.assertEqual(ast.dump(node, annotate_fields=False, include_attributes=True),
|
||||
"Raise(Name('e', Load()), lineno=3, col_offset=4)"
|
||||
)
|
||||
node = ast.Raise(cause=ast.Name(id='e', ctx=ast.Load()))
|
||||
self.assertEqual(ast.dump(node),
|
||||
"Raise(cause=Name(id='e', ctx=Load()))"
|
||||
)
|
||||
self.assertEqual(ast.dump(node, annotate_fields=False),
|
||||
"Raise(cause=Name('e', Load()))"
|
||||
)
|
||||
|
||||
def test_copy_location(self):
|
||||
src = ast.parse('1 + 1', mode='eval')
|
||||
src.body.right = ast.copy_location(ast.Num(2), src.body.right)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue