(self)
| 514 | self.assertEqual(r.line_num, 3) |
| 515 | |
| 516 | def test_roundtrip_quoteed_newlines(self): |
| 517 | rows = [ |
| 518 | ['\na', 'b\nc', 'd\n'], |
| 519 | ['\re', 'f\rg', 'h\r'], |
| 520 | ['\r\ni', 'j\r\nk', 'l\r\n'], |
| 521 | ['\n\rm', 'n\n\ro', 'p\n\r'], |
| 522 | ['\r\rq', 'r\r\rs', 't\r\r'], |
| 523 | ['\n\nu', 'v\n\nw', 'x\n\n'], |
| 524 | ] |
| 525 | for lineterminator in '\r\n', '\n', '\r': |
| 526 | with self.subTest(lineterminator=lineterminator): |
| 527 | with TemporaryFile("w+", encoding="utf-8", newline='') as fileobj: |
| 528 | writer = csv.writer(fileobj, lineterminator=lineterminator) |
| 529 | writer.writerows(rows) |
| 530 | fileobj.seek(0) |
| 531 | for i, row in enumerate(csv.reader(fileobj)): |
| 532 | self.assertEqual(row, rows[i]) |
| 533 | |
| 534 | def test_roundtrip_escaped_unquoted_newlines(self): |
| 535 | rows = [ |
nothing calls this directly
no test coverage detected