Patch from jbalogh fixes issue #2282 (misnamed seekable() method).

This commit is contained in:
Ka-Ping Yee 2008-03-17 20:35:15 +00:00
parent e84b6336db
commit ddaa7064ee
4 changed files with 10 additions and 1 deletions

View File

@ -1203,7 +1203,7 @@ class TextIOWrapper(TextIOBase):
# were rendered by the decoder after feeding it those bytes. We
# use this to reconstruct intermediate decoder states in tell().
def _seekable(self):
def seekable(self):
return self._seekable
def flush(self):

View File

@ -895,6 +895,12 @@ class TextIOWrapperTest(unittest.TestCase):
txt.seek(pos)
self.assertEquals(txt.read(4), "BBB\n")
def test_issue2282(self):
buffer = io.BytesIO(self.testdata)
txt = io.TextIOWrapper(buffer, encoding="ascii")
self.assertEqual(buffer.seekable(), txt.seekable())
def test_newline_decoder(self):
import codecs
decoder = codecs.getincrementaldecoder("utf-8")()

View File

@ -33,6 +33,7 @@ Dwayne Bailey
Stig Bakken
Greg Ball
Luigi Ballabio
Jeff Balogh
Michael J. Barber
Chris Barker
Quentin Barnes

View File

@ -30,6 +30,8 @@ What's New in Python 3.0a3?
Core and Builtins
-----------------
- Issue #2282: io.TextIOWrapper was not overriding seekable() from io.IOBase.
- Issue #2115: Important speedup in setting __slot__ attributes. Also
prevent a possible crash: an Abstract Base Class would try to access a slot
on a registered virtual subclass.