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

antoine.pitrou python-checkins at python.org
Wed Jan 7 00:58:38 CET 2009


Author: antoine.pitrou
Date: Wed Jan 7 00:58:38 2009
New Revision: 68369
Log:
Add tests for the destructor behaviour of TextIOWrapper
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	Wed Jan 7 00:58:38 2009
@@ -1257,6 +1257,40 @@
 finally:
 os.linesep = save_linesep
 
+ def testDestructor(self):
+ l = []
+ class MyBytesIO(io.BytesIO):
+ def close(self):
+ l.append(self.getvalue())
+ io.BytesIO.close(self)
+ b = MyBytesIO()
+ t = io.TextIOWrapper(b, encoding="ascii")
+ t.write("abc")
+ del t
+ self.assertEquals([b"abc"], l)
+
+ def testOverrideDestructor(self):
+ record = []
+ class MyTextIO(io.TextIOWrapper):
+ def __del__(self):
+ record.append(1)
+ try:
+ f = io.TextIOWrapper.__del__
+ except AttributeError:
+ pass
+ else:
+ f(self)
+ def close(self):
+ record.append(2)
+ io.TextIOWrapper.close(self)
+ def flush(self):
+ record.append(3)
+ io.TextIOWrapper.flush(self)
+ b = io.BytesIO()
+ t = MyTextIO(b, encoding="ascii")
+ del t
+ self.assertEqual(record, [1, 2, 3])
+
 # Systematic tests of the text I/O API
 
 def testBasicIO(self):


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /