[Python-checkins] r68357 - sandbox/trunk/io-c/test_io.py
antoine.pitrou
python-checkins at python.org
Tue Jan 6 03:31:46 CET 2009
Author: antoine.pitrou
Date: Tue Jan 6 03:31:45 2009
New Revision: 68357
Log:
seeks are supposed to work on BufferedWriter, test it as well
Modified:
sandbox/trunk/io-c/test_io.py
Modified: sandbox/trunk/io-c/test_io.py
==============================================================================
--- sandbox/trunk/io-c/test_io.py (original)
+++ sandbox/trunk/io-c/test_io.py Tue Jan 6 03:31:45 2009
@@ -663,6 +663,20 @@
def testWritesAndFlushes(self):
self.check_writes(lambda bufio: bufio.flush())
+ def testWritesAndSeeks(self):
+ def _seekabs(bufio):
+ pos = bufio.tell()
+ bufio.seek(pos + 1, 0)
+ bufio.seek(pos - 1, 0)
+ bufio.seek(pos, 0)
+ self.check_writes(_seekabs)
+ def _seekrel(bufio):
+ pos = bufio.seek(0, 1)
+ bufio.seek(+1, 1)
+ bufio.seek(-1, 1)
+ bufio.seek(pos, 0)
+ self.check_writes(_seekrel)
+
def testWritesAndTruncates(self):
self.check_writes(lambda bufio: bufio.truncate(bufio.tell()))
@@ -693,6 +707,19 @@
# Previously buffered bytes were flushed
self.assertTrue(s.startswith(b"01234567A"), s)
+ def testWriteAndRewind(self):
+ raw = io.BytesIO()
+ bufio = self.tp(raw, 4)
+ self.assertEqual(bufio.write(b"abcdef"), 6)
+ self.assertEqual(bufio.tell(), 6)
+ bufio.seek(0, 0)
+ self.assertEqual(bufio.write(b"XY"), 2)
+ bufio.seek(6, 0)
+ self.assertEqual(raw.getvalue(), b"XYcdef")
+ self.assertEqual(bufio.write(b"123456"), 6)
+ bufio.flush()
+ self.assertEqual(raw.getvalue(), b"XYcdef123456")
+
def testFlush(self):
writer = MockRawIO()
bufio = self.tp(writer, 8)
@@ -902,20 +929,6 @@
bufio.readinto(bytearray(1))
self.check_writes(_read)
- def testWritesAndSeeks(self):
- def _seekabs(bufio):
- pos = bufio.tell()
- bufio.seek(pos + 1, 0)
- bufio.seek(pos - 1, 0)
- bufio.seek(pos, 0)
- self.check_writes(_seekabs)
- def _seekrel(bufio):
- pos = bufio.seek(0, 1)
- bufio.seek(+1, 1)
- bufio.seek(-1, 1)
- bufio.seek(pos, 0)
- self.check_writes(_seekrel)
-
# To fully exercise seek/tell, the StatefulIncrementalDecoder has these
# properties:
More information about the Python-checkins
mailing list