diff options
author | Licht Takeuchi <licht-t@outlook.jp> | 2017-12-12 18:57:06 +0900 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2017-12-12 11:57:06 +0200 |
commit | 2001900b0c02a397d8cf1d776a7cc7fcb2a463e3 (patch) | |
tree | 87317ebf9cebe56052aa7d913f816903604b4c54 /Lib/test/test_csv.py | |
parent | e0720cd9e44d43587e6b6c91fd21d0bb0345ccb9 (diff) | |
download | cpython-2001900b0c02a397d8cf1d776a7cc7fcb2a463e3.tar.gz cpython-2001900b0c02a397d8cf1d776a7cc7fcb2a463e3.zip |
bpo-32255: Always quote a single empty field when write into a CSV file. (#4769)
This allows to distinguish an empty row from a row consisting of a single empty field.
Diffstat (limited to 'Lib/test/test_csv.py')
-rw-r--r-- | Lib/test/test_csv.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py index 03ab1840dd0..fe248019a0f 100644 --- a/Lib/test/test_csv.py +++ b/Lib/test/test_csv.py @@ -207,10 +207,29 @@ class Test_Csv(unittest.TestCase): with TemporaryFile("w+", newline='') as fileobj: writer = csv.writer(fileobj) self.assertRaises(TypeError, writer.writerows, None) - writer.writerows([['a','b'],['c','d']]) + writer.writerows([['a', 'b'], ['c', 'd']]) fileobj.seek(0) self.assertEqual(fileobj.read(), "a,b\r\nc,d\r\n") + def test_writerows_with_none(self): + with TemporaryFile("w+", newline='') as fileobj: + writer = csv.writer(fileobj) + writer.writerows([['a', None], [None, 'd']]) + fileobj.seek(0) + self.assertEqual(fileobj.read(), "a,\r\n,d\r\n") + + with TemporaryFile("w+", newline='') as fileobj: + writer = csv.writer(fileobj) + writer.writerows([[None], ['a']]) + fileobj.seek(0) + self.assertEqual(fileobj.read(), '""\r\na\r\n') + + with TemporaryFile("w+", newline='') as fileobj: + writer = csv.writer(fileobj) + writer.writerows([['a'], [None]]) + fileobj.seek(0) + self.assertEqual(fileobj.read(), 'a\r\n""\r\n') + @support.cpython_only def test_writerows_legacy_strings(self): import _testcapi |