[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