(self)
| 282 | self.assertEqual(binop.right.col_offset, 27) |
| 283 | |
| 284 | def test_ast_numbers_fstring_with_formatting(self): |
| 285 | |
| 286 | t = ast.parse('f"Here is that pesky {xxx:.3f} again"') |
| 287 | self.assertEqual(len(t.body), 1) |
| 288 | self.assertEqual(t.body[0].lineno, 1) |
| 289 | |
| 290 | self.assertEqual(type(t.body[0]), ast.Expr) |
| 291 | self.assertEqual(type(t.body[0].value), ast.JoinedStr) |
| 292 | self.assertEqual(len(t.body[0].value.values), 3) |
| 293 | |
| 294 | self.assertEqual(type(t.body[0].value.values[0]), ast.Constant) |
| 295 | self.assertEqual(type(t.body[0].value.values[1]), ast.FormattedValue) |
| 296 | self.assertEqual(type(t.body[0].value.values[2]), ast.Constant) |
| 297 | |
| 298 | _, expr, _ = t.body[0].value.values |
| 299 | |
| 300 | name = expr.value |
| 301 | self.assertEqual(type(name), ast.Name) |
| 302 | self.assertEqual(name.lineno, 1) |
| 303 | self.assertEqual(name.end_lineno, 1) |
| 304 | self.assertEqual(name.col_offset, 22) |
| 305 | self.assertEqual(name.end_col_offset, 25) |
| 306 | |
| 307 | def test_ast_line_numbers_multiline_fstring(self): |
| 308 | # See bpo-30465 for details. |
nothing calls this directly
no test coverage detected