diff options
author | Pablo Galindo <Pablogsal@gmail.com> | 2019-12-18 01:41:58 (GMT) |
---|---|---|
committer | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-12-18 01:41:58 (GMT) |
commit | b1f204471092678dd89117e608fa041a9589d14c (patch) | |
tree | 74697f61aa155f5a67b297cca072f320c4c90cd8 /Lib/test | |
parent | bf3aa1060a29a05813abbe877193af16e3e7131e (diff) | |
download | cpython-b1f204471092678dd89117e608fa041a9589d14c.zip cpython-b1f204471092678dd89117e608fa041a9589d14c.tar.gz cpython-b1f204471092678dd89117e608fa041a9589d14c.tar.bz2 |
[3.8] bpo-39080: Starred Expression's column offset fix when inside a CALL (GH-17645) (GH-17649)
…
Co-Authored-By: Pablo Galindo <Pablogsal@gmail.com>
(cherry picked from commit 50d4f12958bf806a4e1a1021d70cfd5d448c5cba)
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
https://bugs.python.org/issue39080
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_ast.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py index caea84f..69ed83c 100644 --- a/Lib/test/test_ast.py +++ b/Lib/test/test_ast.py @@ -209,6 +209,8 @@ eval_tests = [ "1 < 2 < 3", # Call "f(1,2,c=3,*d,**e)", + # Call with multi-character starred + "f(*[0, 1])", # Call with a generator argument "f(a for a in b)", # Num @@ -815,6 +817,12 @@ class ASTHelpers_Test(unittest.TestCase): self.assertEqual(elif_stmt.lineno, 3) self.assertEqual(elif_stmt.col_offset, 0) + def test_starred_expr_end_position_within_call(self): + node = ast.parse('f(*[0, 1])') + starred_expr = node.body[0].value.args[0] + self.assertEqual(starred_expr.end_lineno, 1) + self.assertEqual(starred_expr.end_col_offset, 9) + def test_literal_eval(self): self.assertEqual(ast.literal_eval('[1, 2, 3]'), [1, 2, 3]) self.assertEqual(ast.literal_eval('{"foo": 42}'), {"foo": 42}) @@ -1868,6 +1876,7 @@ eval_results = [ ('Expression', ('GeneratorExp', (1, 0), ('Tuple', (1, 1), [('Name', (1, 2), 'a', ('Load',)), ('Name', (1, 4), 'b', ('Load',))], ('Load',)), [('comprehension', ('List', (1, 11), [('Name', (1, 12), 'a', ('Store',)), ('Name', (1, 14), 'b', ('Store',))], ('Store',)), ('Name', (1, 20), 'c', ('Load',)), [], 0)])), ('Expression', ('Compare', (1, 0), ('Constant', (1, 0), 1, None), [('Lt',), ('Lt',)], [('Constant', (1, 4), 2, None), ('Constant', (1, 8), 3, None)])), ('Expression', ('Call', (1, 0), ('Name', (1, 0), 'f', ('Load',)), [('Constant', (1, 2), 1, None), ('Constant', (1, 4), 2, None), ('Starred', (1, 10), ('Name', (1, 11), 'd', ('Load',)), ('Load',))], [('keyword', 'c', ('Constant', (1, 8), 3, None)), ('keyword', None, ('Name', (1, 15), 'e', ('Load',)))])), +('Expression', ('Call', (1, 0), ('Name', (1, 0), 'f', ('Load',)), [('Starred', (1, 2), ('List', (1, 3), [('Constant', (1, 4), 0, None), ('Constant', (1, 7), 1, None)], ('Load',)), ('Load',))], [])), ('Expression', ('Call', (1, 0), ('Name', (1, 0), 'f', ('Load',)), [('GeneratorExp', (1, 1), ('Name', (1, 2), 'a', ('Load',)), [('comprehension', ('Name', (1, 8), 'a', ('Store',)), ('Name', (1, 13), 'b', ('Load',)), [], 0)])], [])), ('Expression', ('Constant', (1, 0), 10, None)), ('Expression', ('Constant', (1, 0), 'string', None)), |