MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_io_methods

Method test_io_methods

Lib/test/test_mmap.py:578–610  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 11

lenFunction · 0.85
write_byteMethod · 0.80
openFunction · 0.50
writeMethod · 0.45
filenoMethod · 0.45
assertEqualMethod · 0.45
tellMethod · 0.45
assertRaisesMethod · 0.45
seekMethod · 0.45
read_byteMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected