summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_tools/test_unparse.py5
-rw-r--r--Misc/NEWS.d/next/Tools-Demos/2019-05-26-16-47-06.bpo-37053.-EYRuz.rst1
-rw-r--r--Tools/parser/unparse.py2
3 files changed, 8 insertions, 0 deletions
diff --git a/Lib/test/test_tools/test_unparse.py b/Lib/test/test_tools/test_unparse.py
index f3386f5..a958ebb 100644
--- a/Lib/test/test_tools/test_unparse.py
+++ b/Lib/test/test_tools/test_unparse.py
@@ -139,6 +139,11 @@ class UnparseTestCase(ASTTestCase):
self.check_roundtrip(r"""f'{f"{0}"*3}'""")
self.check_roundtrip(r"""f'{f"{y}"*3}'""")
+ def test_strings(self):
+ self.check_roundtrip("u'foo'")
+ self.check_roundtrip("r'foo'")
+ self.check_roundtrip("b'foo'")
+
def test_del_statement(self):
self.check_roundtrip("del x, y, z")
diff --git a/Misc/NEWS.d/next/Tools-Demos/2019-05-26-16-47-06.bpo-37053.-EYRuz.rst b/Misc/NEWS.d/next/Tools-Demos/2019-05-26-16-47-06.bpo-37053.-EYRuz.rst
new file mode 100644
index 0000000..5320dc5
--- /dev/null
+++ b/Misc/NEWS.d/next/Tools-Demos/2019-05-26-16-47-06.bpo-37053.-EYRuz.rst
@@ -0,0 +1 @@
+Handle strings like u"bar" correctly in Tools/parser/unparse.py. Patch by Chih-Hsuan Yen. \ No newline at end of file
diff --git a/Tools/parser/unparse.py b/Tools/parser/unparse.py
index 385902e..a5cc000 100644
--- a/Tools/parser/unparse.py
+++ b/Tools/parser/unparse.py
@@ -399,6 +399,8 @@ class Unparser:
elif value is ...:
self.write("...")
else:
+ if t.kind == "u":
+ self.write("u")
self._write_constant(t.value)
def _List(self, t):