@@ -346,10 +346,39 @@ def test_ast_line_numbers_multiline_fstring(self):
346
346
self .assertEqual (binop .lineno , 4 )
347
347
self .assertEqual (binop .left .lineno , 4 )
348
348
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 )
351
351
self .assertEqual (binop .right .col_offset , 7 )
352
352
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
+
353
382
def test_ast_line_numbers_with_parentheses (self ):
354
383
expr = """
355
384
x = (
0 commit comments