@@ -346,10 +346,39 @@ def test_ast_line_numbers_multiline_fstring(self):
346346 self .assertEqual (binop .lineno , 4 )
347347 self .assertEqual (binop .left .lineno , 4 )
348348 self .assertEqual (binop .right .lineno , 6 )
349- self .assertEqual (binop .col_offset , 4 )
350- self .assertEqual (binop .left .col_offset , 4 )
349+ self .assertEqual (binop .col_offset , 3 )
350+ self .assertEqual (binop .left .col_offset , 3 )
351351 self .assertEqual (binop .right .col_offset , 7 )
352352
353+ expr = """
354+ a = f'''
355+ {blech}
356+ '''
357+ """
358+ t = ast .parse (expr )
359+ self .assertEqual (type (t ), ast .Module )
360+ self .assertEqual (len (t .body ), 1 )
361+ # Check f'...'
362+ self .assertEqual (type (t .body [0 ]), ast .Assign )
363+ self .assertEqual (type (t .body [0 ].value ), ast .JoinedStr )
364+ self .assertEqual (len (t .body [0 ].value .values ), 3 )
365+ self .assertEqual (type (t .body [0 ].value .values [1 ]), ast .FormattedValue )
366+ self .assertEqual (t .body [0 ].lineno , 2 )
367+ self .assertEqual (t .body [0 ].value .lineno , 2 )
368+ self .assertEqual (t .body [0 ].value .values [0 ].lineno , 2 )
369+ self .assertEqual (t .body [0 ].value .values [1 ].lineno , 2 )
370+ self .assertEqual (t .body [0 ].value .values [2 ].lineno , 2 )
371+ self .assertEqual (t .body [0 ].col_offset , 0 )
372+ self .assertEqual (t .body [0 ].value .col_offset , 4 )
373+ self .assertEqual (t .body [0 ].value .values [0 ].col_offset , 4 )
374+ self .assertEqual (t .body [0 ].value .values [1 ].col_offset , 4 )
375+ self .assertEqual (t .body [0 ].value .values [2 ].col_offset , 4 )
376+ # Check {blech}
377+ self .assertEqual (t .body [0 ].value .values [1 ].value .lineno , 3 )
378+ self .assertEqual (t .body [0 ].value .values [1 ].value .end_lineno , 3 )
379+ self .assertEqual (t .body [0 ].value .values [1 ].value .col_offset , 11 )
380+ self .assertEqual (t .body [0 ].value .values [1 ].value .end_col_offset , 16 )
381+
353382 def test_ast_line_numbers_with_parentheses (self ):
354383 expr = """
355384x = (
0 commit comments