summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/string_fstring.py
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2022-10-19 11:30:28 +1100
committerDamien George <damien@micropython.org>2023-01-20 17:54:32 +1100
commitfb8792c095802a9fcc8b38c1d8cbc3f641918433 (patch)
treea86efbafbde109013aa697f5c6f2480b4d27fdba /tests/basics/string_fstring.py
parent5c4153ea379550bf595bf0bfa0e3711afea17aa0 (diff)
downloadmicropython-fb8792c095802a9fcc8b38c1d8cbc3f641918433.tar.gz
micropython-fb8792c095802a9fcc8b38c1d8cbc3f641918433.zip
py/lexer: Wrap in parenthesis all f-string arguments passed to format.
This is important for literal tuples, e.g. f"{a,b,}, {c}" --> "{}".format((a,b), (c),) which would otherwise result in either a syntax error or the wrong result. Fixes issue #9635. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'tests/basics/string_fstring.py')
-rw-r--r--tests/basics/string_fstring.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/basics/string_fstring.py b/tests/basics/string_fstring.py
index 7e8a97fd30..8907a5c478 100644
--- a/tests/basics/string_fstring.py
+++ b/tests/basics/string_fstring.py
@@ -56,3 +56,8 @@ try:
except (ValueError, SyntaxError):
# MicroPython incorrectly raises ValueError here.
print('SyntaxError')
+
+# Allow literal tuples
+print(f"a {1,} b")
+print(f"a {x,y,} b")
+print(f"a {x,1} b")