| 260 | escapechar='\\', quoting=csv.QUOTE_MINIMAL) |
| 261 | |
| 262 | def test_write_lineterminator(self): |
| 263 | for lineterminator in '\r\n', '\n', '\r', '!@#', '\0': |
| 264 | with self.subTest(lineterminator=lineterminator): |
| 265 | with StringIO() as sio: |
| 266 | writer = csv.writer(sio, lineterminator=lineterminator) |
| 267 | writer.writerow(['a', 'b']) |
| 268 | writer.writerow([1, 2]) |
| 269 | writer.writerow(['\r', '\n']) |
| 270 | self.assertEqual(sio.getvalue(), |
| 271 | f'a,b{lineterminator}' |
| 272 | f'1,2{lineterminator}' |
| 273 | f'"\r","\n"{lineterminator}') |
| 274 | |
| 275 | def test_write_iterable(self): |
| 276 | self._write_test(iter(['a', 1, 'p,q']), 'a,1,"p,q"') |