[Python-checkins] r56445 - python/branches/cpy_merge/Lib/test/test_memoryio.py

alexandre.vassalotti python-checkins at python.org
Wed Jul 18 22:22:55 CEST 2007


Author: alexandre.vassalotti
Date: Wed Jul 18 22:22:55 2007
New Revision: 56445

Modified:
   python/branches/cpy_merge/Lib/test/test_memoryio.py
Log:
Test if getvalue() result is constant after a read().
Test the flush method.
Test subclassing support.
Test if over-seeking with BytesIO inserts null-bytes.


Modified: python/branches/cpy_merge/Lib/test/test_memoryio.py
==============================================================================
--- python/branches/cpy_merge/Lib/test/test_memoryio.py	(original)
+++ python/branches/cpy_merge/Lib/test/test_memoryio.py	Wed Jul 18 22:22:55 2007
@@ -147,6 +147,8 @@
         memio = self.ioclass(buf)
 
         self.assertEqual(memio.getvalue(), buf)
+        memio.read()
+        self.assertEqual(memio.getvalue(), buf)
         memio = self.ioclass(buf * 1000)
         self.assertEqual(memio.getvalue()[-3:], "890")
         memio.close()
@@ -169,14 +171,22 @@
         buf = self.buftype("1234567890")
         memio = self.ioclass(buf)
 
-        self.assertEqual(0, memio.tell())
+        self.assertEqual(memio.tell(), 0)
         memio.seek(5)
-        self.assertEqual(5, memio.tell())
+        self.assertEqual(memio.tell(), 5)
         memio.seek(10000)
-        self.assertEqual(10000, memio.tell())
+        self.assertEqual(memio.tell(), 10000)
         memio.close()
         self.assertRaises(ValueError, memio.tell)
 
+    def test_flush(self):
+        buf = self.buftype("1234567890")
+        memio = self.ioclass(buf)
+
+        self.assertEqual(memio.flush(), None)
+        memio.close()
+        self.assertRaises(ValueError, memio.flush)
+
     def test_flags(self):
         memio = self.ioclass()
 
@@ -192,6 +202,15 @@
         self.assertRaises(ValueError, memio.isatty)
         self.assertEqual(memio.closed, True)
 
+    def test_subclassing(self):
+        buf = self.buftype("1234567890")
+        def test():
+            class MemIO(self.ioclass):
+                pass
+            m = MemIO(buf)
+            return m.getvalue()
+        self.assertEqual(test(), buf)
+
 
 class PyBytesIOTest(MemoryTestMixin, unittest.TestCase):
     buftype = bytes
@@ -220,6 +239,14 @@
         memio.close()
         self.assertRaises(ValueError, memio.readinto, b)
 
+    def test_overseek(self):
+        buf = self.buftype("1234567890")
+        memio = self.ioclass()
+
+        memio.seek(2)
+        memio.write(buf)
+        self.assertEqual(memio.getvalue(), '\0\0' + buf)
+
 
 class PyStringIOTest(MemoryTestMixin, unittest.TestCase):
     buftype = unicode


More information about the Python-checkins mailing list