mirror of
https://github.com/python/cpython.git
synced 2025-07-24 19:54:21 +00:00
bpo-37050: Remove expr_text from FormattedValue ast node, use Constant node instead (GH-13597)
When using the "=" debug functionality of f-strings, use another Constant node (or a merged constant node) instead of adding expr_text to the FormattedValue node.
This commit is contained in:
parent
695b1dd8cb
commit
6f6ff8a565
9 changed files with 87 additions and 100 deletions
|
@ -270,12 +270,6 @@ class AnnotationsFutureTestCase(unittest.TestCase):
|
|||
eq("f'{x}'")
|
||||
eq("f'{x!r}'")
|
||||
eq("f'{x!a}'")
|
||||
eq("f'{x=!r}'")
|
||||
eq("f'{x=:}'")
|
||||
eq("f'{x=:.2f}'")
|
||||
eq("f'{x=!r}'")
|
||||
eq("f'{x=!a}'")
|
||||
eq("f'{x=!s:*^20}'")
|
||||
eq('(yield from outside_of_generator)')
|
||||
eq('(yield)')
|
||||
eq('(yield a + b)')
|
||||
|
@ -290,6 +284,15 @@ class AnnotationsFutureTestCase(unittest.TestCase):
|
|||
eq("(x:=10)")
|
||||
eq("f'{(x:=10):=10}'")
|
||||
|
||||
# f-strings with '=' don't round trip very well, so set the expected
|
||||
# result explicitely.
|
||||
self.assertAnnotationEqual("f'{x=!r}'", expected="f'x={x!r}'")
|
||||
self.assertAnnotationEqual("f'{x=:}'", expected="f'x={x:}'")
|
||||
self.assertAnnotationEqual("f'{x=:.2f}'", expected="f'x={x:.2f}'")
|
||||
self.assertAnnotationEqual("f'{x=!r}'", expected="f'x={x!r}'")
|
||||
self.assertAnnotationEqual("f'{x=!a}'", expected="f'x={x!a}'")
|
||||
self.assertAnnotationEqual("f'{x=!s:*^20}'", expected="f'x={x!s:*^20}'")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue