summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_io.py
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2008-11-20 20:14:50 (GMT)
committerBarry Warsaw <barry@python.org>2008-11-20 20:14:50 (GMT)
commit40e8246f6a5d659e09b27c4fc0803a0f99e5bb1c (patch)
tree2d934f969b56f06f2333528d1c2d92dde75e8f2e /Lib/test/test_io.py
parent91cc8fb92b5d59d26cfca0167b32f6f25b453849 (diff)
downloadcpython-40e8246f6a5d659e09b27c4fc0803a0f99e5bb1c.zip
cpython-40e8246f6a5d659e09b27c4fc0803a0f99e5bb1c.tar.gz
cpython-40e8246f6a5d659e09b27c4fc0803a0f99e5bb1c.tar.bz2
Fix for bug 4362 "FileIO object in io module"; Patch by amaury.forgeotdarc.
Diffstat (limited to 'Lib/test/test_io.py')
-rw-r--r--Lib/test/test_io.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 83d363d..79cfd8a 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -1249,6 +1249,9 @@ class TextIOWrapperTest(unittest.TestCase):
class MiscIOTest(unittest.TestCase):
+ def tearDown(self):
+ support.unlink(support.TESTFN)
+
def testImport__all__(self):
for name in io.__all__:
obj = getattr(io, name, None)
@@ -1261,6 +1264,34 @@ class MiscIOTest(unittest.TestCase):
self.assert_(issubclass(obj, io.IOBase))
+ def test_attributes(self):
+ f = io.open(support.TESTFN, "wb", buffering=0)
+ self.assertEquals(f.mode, "w")
+ f.close()
+
+ f = io.open(support.TESTFN, "U")
+ self.assertEquals(f.name, support.TESTFN)
+ self.assertEquals(f.buffer.name, support.TESTFN)
+ self.assertEquals(f.buffer.raw.name, support.TESTFN)
+ self.assertEquals(f.mode, "U")
+ self.assertEquals(f.buffer.mode, "r")
+ self.assertEquals(f.buffer.raw.mode, "r")
+ f.close()
+
+ f = io.open(support.TESTFN, "w+")
+ self.assertEquals(f.mode, "w+")
+ self.assertEquals(f.buffer.mode, "r+") # Does it really matter?
+ self.assertEquals(f.buffer.raw.mode, "r+")
+
+ g = io.open(f.fileno(), "wb", closefd=False)
+ self.assertEquals(g.mode, "w")
+ self.assertEquals(g.raw.mode, "w")
+ self.assertEquals(g.name, f.fileno())
+ self.assertEquals(g.raw.name, f.fileno())
+ f.close()
+ g.close()
+
+
def test_main():
support.run_unittest(IOTest, BytesIOTest, StringIOTest,
BufferedReaderTest, BufferedWriterTest,