[Python-checkins] r68348 - sandbox/trunk/io-c/test_io.py

antoine.pitrou python-checkins at python.org
Mon Jan 5 21:31:22 CET 2009


Author: antoine.pitrou
Date: Mon Jan  5 21:31:22 2009
New Revision: 68348

Log:
Again more tests.



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	Mon Jan  5 21:31:22 2009
@@ -20,8 +20,10 @@
     def __init__(self, read_stack=()):
         self._read_stack = list(read_stack)
         self._write_stack = []
+        self._reads = 0
 
     def read(self, n=None):
+        self._reads += 1
         try:
             return self._read_stack.pop(0)
         except:
@@ -50,6 +52,7 @@
         return 0   # same comment as above
 
     def readinto(self, buf):
+        self._reads += 1
         max_len = len(buf)
         try:
             data = self._read_stack[0]
@@ -443,9 +446,22 @@
     def testRead(self):
         rawio = MockRawIO((b"abc", b"d", b"efg"))
         bufio = self.tp(rawio)
-
         self.assertEquals(b"abcdef", bufio.read(6))
 
+    def testRead1(self):
+        rawio = MockRawIO((b"abc", b"d", b"efg"))
+        bufio = self.tp(rawio)
+        self.assertEquals(b"a", bufio.read(1))
+        self.assertEquals(b"b", bufio.read1(1))
+        self.assertEquals(rawio._reads, 1)
+        self.assertEquals(b"c", bufio.read1(100))
+        self.assertEquals(rawio._reads, 1)
+        self.assertEquals(b"d", bufio.read1(100))
+        self.assertEquals(rawio._reads, 2)
+        self.assertEquals(b"efg", bufio.read1(100))
+        self.assertEquals(rawio._reads, 3)
+        self.assertEquals(b"", bufio.read1(100))
+
     def testBuffering(self):
         data = b"abcdefghi"
         dlen = len(data)
@@ -753,6 +769,35 @@
         BufferedReaderTest.testThreads(self)
         BufferedWriterTest.testThreads(self)
 
+    def testWritesAndPeeks(self):
+        def _peek(bufio):
+            bufio.peek(1)
+        self.check_writes(_peek)
+        def _peek(bufio):
+            pos = bufio.tell()
+            bufio.seek(-1, 1)
+            bufio.peek(1)
+            bufio.seek(pos, 0)
+        self.check_writes(_peek)
+
+    def testWritesAndReads(self):
+        def _read(bufio):
+            bufio.seek(-1, 1)
+            bufio.read(1)
+        self.check_writes(_read)
+
+    def testWritesAndRead1s(self):
+        def _read1(bufio):
+            bufio.seek(-1, 1)
+            bufio.read1(1)
+        self.check_writes(_read1)
+
+    def testWritesAndReadintos(self):
+        def _read(bufio):
+            bufio.seek(-1, 1)
+            bufio.readinto(bytearray(1))
+        self.check_writes(_read)
+
     def testWritesAndSeeks(self):
         def _seekabs(bufio):
             pos = bufio.tell()


More information about the Python-checkins mailing list