summaryrefslogtreecommitdiff
path: root/Lib/test/test_future.py
diff options
context:
space:
mode:
authorEric V. Smith <ericvsmith@users.noreply.github.com>2019-05-27 15:31:52 -0400
committerGitHub <noreply@github.com>2019-05-27 15:31:52 -0400
commit6f6ff8a56518a80da406aad6ac8364c046cc7f18 (patch)
tree645d87649541f53b0ea4180a5f886c84320453fa /Lib/test/test_future.py
parent695b1dd8cbf3a48fdb30ab96918a49b20b7ec3e7 (diff)
downloadcpython-git-6f6ff8a56518a80da406aad6ac8364c046cc7f18.tar.gz
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.
Diffstat (limited to 'Lib/test/test_future.py')
-rw-r--r--Lib/test/test_future.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/Lib/test/test_future.py b/Lib/test/test_future.py
index dd148b6295..303c5f7fbe 100644
--- a/Lib/test/test_future.py
+++ b/Lib/test/test_future.py
@@ -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()