mirror of
https://github.com/python/cpython.git
synced 2025-11-02 19:12:55 +00:00
bpo-36290: Fix keytword collision handling in AST node constructors (GH-12382)
This commit is contained in:
parent
59f5022b5d
commit
c73914a562
5 changed files with 68 additions and 8 deletions
|
|
@ -402,6 +402,15 @@ class AST_Tests(unittest.TestCase):
|
|||
self.assertRaises(TypeError, ast.Num, 1, None, 2)
|
||||
self.assertRaises(TypeError, ast.Num, 1, None, 2, lineno=0)
|
||||
|
||||
# Arbitrary keyword arguments are supported
|
||||
self.assertEqual(ast.Constant(1, foo='bar').foo, 'bar')
|
||||
self.assertEqual(ast.Num(1, foo='bar').foo, 'bar')
|
||||
|
||||
with self.assertRaisesRegex(TypeError, "Num got multiple values for argument 'n'"):
|
||||
ast.Num(1, n=2)
|
||||
with self.assertRaisesRegex(TypeError, "Constant got multiple values for argument 'value'"):
|
||||
ast.Constant(1, value=2)
|
||||
|
||||
self.assertEqual(ast.Num(42).n, 42)
|
||||
self.assertEqual(ast.Num(4.25).n, 4.25)
|
||||
self.assertEqual(ast.Num(4.25j).n, 4.25j)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue