(self)
| 576 | self.assertIs(mmap.error, OSError) |
| 577 | |
| 578 | def test_io_methods(self): |
| 579 | data = b"0123456789" |
| 580 | with open(TESTFN, "wb") as fp: |
| 581 | fp.write(b"x"*len(data)) |
| 582 | with open(TESTFN, "r+b") as f: |
| 583 | m = mmap.mmap(f.fileno(), len(data)) |
| 584 | # Test write_byte() |
| 585 | for i in range(len(data)): |
| 586 | self.assertEqual(m.tell(), i) |
| 587 | m.write_byte(data[i]) |
| 588 | self.assertEqual(m.tell(), i+1) |
| 589 | self.assertRaises(ValueError, m.write_byte, b"x"[0]) |
| 590 | self.assertEqual(m[:], data) |
| 591 | # Test read_byte() |
| 592 | m.seek(0) |
| 593 | for i in range(len(data)): |
| 594 | self.assertEqual(m.tell(), i) |
| 595 | self.assertEqual(m.read_byte(), data[i]) |
| 596 | self.assertEqual(m.tell(), i+1) |
| 597 | self.assertRaises(ValueError, m.read_byte) |
| 598 | # Test read() |
| 599 | m.seek(3) |
| 600 | self.assertEqual(m.read(3), b"345") |
| 601 | self.assertEqual(m.tell(), 6) |
| 602 | # Test write() |
| 603 | m.seek(3) |
| 604 | m.write(b"bar") |
| 605 | self.assertEqual(m.tell(), 6) |
| 606 | self.assertEqual(m[:], b"012bar6789") |
| 607 | m.write(bytearray(b"baz")) |
| 608 | self.assertEqual(m.tell(), 9) |
| 609 | self.assertEqual(m[:], b"012barbaz9") |
| 610 | self.assertRaises(ValueError, m.write, b"ba") |
| 611 | |
| 612 | def test_non_ascii_byte(self): |
| 613 | for b in (129, 200, 255): # > 128 |
nothing calls this directly
no test coverage detected