@@ -209,6 +209,8 @@ def to_tuple(t):
209
209
"1 < 2 < 3" ,
210
210
# Call
211
211
"f(1,2,c=3,*d,**e)" ,
212
+ # Call with multi-character starred
213
+ "f(*[0, 1])" ,
212
214
# Call with a generator argument
213
215
"f(a for a in b)" ,
214
216
# Num
@@ -815,6 +817,12 @@ def test_elif_stmt_start_position_with_else(self):
815
817
self .assertEqual (elif_stmt .lineno , 3 )
816
818
self .assertEqual (elif_stmt .col_offset , 0 )
817
819
820
+ def test_starred_expr_end_position_within_call (self ):
821
+ node = ast .parse ('f(*[0, 1])' )
822
+ starred_expr = node .body [0 ].value .args [0 ]
823
+ self .assertEqual (starred_expr .end_lineno , 1 )
824
+ self .assertEqual (starred_expr .end_col_offset , 9 )
825
+
818
826
def test_literal_eval (self ):
819
827
self .assertEqual (ast .literal_eval ('[1, 2, 3]' ), [1 , 2 , 3 ])
820
828
self .assertEqual (ast .literal_eval ('{"foo": 42}' ), {"foo" : 42 })
@@ -1868,6 +1876,7 @@ def main():
1868
1876
('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 )])),
1869
1877
('Expression' , ('Compare' , (1 , 0 ), ('Constant' , (1 , 0 ), 1 , None ), [('Lt' ,), ('Lt' ,)], [('Constant' , (1 , 4 ), 2 , None ), ('Constant' , (1 , 8 ), 3 , None )])),
1870
1878
('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' ,)))])),
1879
+ ('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' ,))], [])),
1871
1880
('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 )])], [])),
1872
1881
('Expression' , ('Constant' , (1 , 0 ), 10 , None )),
1873
1882
('Expression' , ('Constant' , (1 , 0 ), 'string' , None )),
0 commit comments