diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2009-05-23 19:04:03 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2009-05-23 19:04:03 (GMT) |
commit | 716c444edcac0f32c6d82d530db2e6495e3d2be9 (patch) | |
tree | f63a8b6c4839ed622022eb5f1a8fab988b1847bc /Lib/test | |
parent | 744af4406406d8c96a5a368efbf6f377a7d79095 (diff) | |
download | cpython-716c444edcac0f32c6d82d530db2e6495e3d2be9.zip cpython-716c444edcac0f32c6d82d530db2e6495e3d2be9.tar.gz cpython-716c444edcac0f32c6d82d530db2e6495e3d2be9.tar.bz2 |
Issue #5761: Add the name of the underlying file to the repr() of various IO objects.
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_fileio.py | 10 | ||||
-rw-r--r-- | Lib/test/test_io.py | 20 |
2 files changed, 26 insertions, 4 deletions
diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py index 9188e70..657401e 100644 --- a/Lib/test/test_fileio.py +++ b/Lib/test/test_fileio.py @@ -70,9 +70,13 @@ class AutoFileTests(unittest.TestCase): self.assertEquals(array('b', [1, 2]), a[:n]) def testRepr(self): - self.assertEquals(repr(self.f), - "io.FileIO(%d, %s)" % (self.f.fileno(), - repr(self.f.mode))) + self.assertEquals(repr(self.f), "<_io.FileIO name=%r mode=%r>" + % (self.f.name, self.f.mode)) + del self.f.name + self.assertEquals(repr(self.f), "<_io.FileIO fd=%r mode=%r>" + % (self.f.fileno(), self.f.mode)) + self.f.close() + self.assertEquals(repr(self.f), "<_io.FileIO [closed]>") def testErrors(self): f = self.f diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py index 08e0f13..1337b7c 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -618,6 +618,16 @@ class CommonBufferedTests: self.assert_(s.startswith("Exception IOError: "), s) self.assert_(s.endswith(" ignored"), s) + def test_repr(self): + raw = self.MockRawIO() + b = self.tp(raw) + clsname = "%s.%s" % (self.tp.__module__, self.tp.__name__) + self.assertEqual(repr(b), "<%s>" % clsname) + raw.name = "dummy" + self.assertEqual(repr(b), "<%s name='dummy'>" % clsname) + raw.name = b"dummy" + self.assertEqual(repr(b), "<%s name=b'dummy'>" % clsname) + class BufferedReaderTest(unittest.TestCase, CommonBufferedTests): read_mode = "rb" @@ -1528,7 +1538,15 @@ class TextIOWrapperTest(unittest.TestCase): raw = self.BytesIO("hello".encode("utf-8")) b = self.BufferedReader(raw) t = self.TextIOWrapper(b, encoding="utf-8") - self.assertEqual(repr(t), "<TextIOWrapper encoding=utf-8>") + modname = self.TextIOWrapper.__module__ + self.assertEqual(repr(t), + "<%s.TextIOWrapper encoding='utf-8'>" % modname) + raw.name = "dummy" + self.assertEqual(repr(t), + "<%s.TextIOWrapper name='dummy' encoding='utf-8'>" % modname) + raw.name = b"dummy" + self.assertEqual(repr(t), + "<%s.TextIOWrapper name=b'dummy' encoding='utf-8'>" % modname) def test_line_buffering(self): r = self.BytesIO() |