bpo-12178: Fix escaping of escapechar in csv.writer() (GH-13710)
Co-authored-by: Itay Elbirt <anotahacou@gmail.com>
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py
index 3816022..a98707c 100644
--- a/Lib/test/test_csv.py
+++ b/Lib/test/test_csv.py
@@ -202,6 +202,20 @@
escapechar='\\', quoting = csv.QUOTE_NONE)
self._write_test(['a',1,'p,q'], 'a,1,p\\,q',
escapechar='\\', quoting = csv.QUOTE_NONE)
+ self._write_test(['\\', 'a'], '\\\\,a',
+ escapechar='\\', quoting=csv.QUOTE_NONE)
+ self._write_test(['\\', 'a'], '\\\\,a',
+ escapechar='\\', quoting=csv.QUOTE_MINIMAL)
+ self._write_test(['\\', 'a'], '"\\\\","a"',
+ escapechar='\\', quoting=csv.QUOTE_ALL)
+ self._write_test(['\\ ', 'a'], '\\\\ ,a',
+ escapechar='\\', quoting=csv.QUOTE_MINIMAL)
+ self._write_test(['\\,', 'a'], '\\\\\\,,a',
+ escapechar='\\', quoting=csv.QUOTE_NONE)
+ self._write_test([',\\', 'a'], '",\\\\",a',
+ escapechar='\\', quoting=csv.QUOTE_MINIMAL)
+ self._write_test(['C\\', '6', '7', 'X"'], 'C\\\\,6,7,"X"""',
+ escapechar='\\', quoting=csv.QUOTE_MINIMAL)
def test_write_iterable(self):
self._write_test(iter(['a', 1, 'p,q']), 'a,1,"p,q"')