Merged revisions 76798-76799 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76798 | benjamin.peterson | 2009-12-13 11:29:16 -0600 (Sun, 13 Dec 2009) | 1 line

  make StringIO like other file objects in that readline(-1) has no effect #7348
........
  r76799 | benjamin.peterson | 2009-12-13 11:31:31 -0600 (Sun, 13 Dec 2009) | 1 line

  add NEWS note
........
This commit is contained in:
Benjamin Peterson 2009-12-13 17:34:05 +00:00
parent d76e711eab
commit 9567112eb7
3 changed files with 6 additions and 1 deletions

View File

@ -158,7 +158,7 @@ class StringIO:
newpos = self.len
else:
newpos = i+1
if length is not None:
if length is not None and length > 0:
if self.pos + length < newpos:
newpos = self.pos + length
r = self.buf[self.pos:newpos]

View File

@ -28,6 +28,8 @@ class TestGenericStringIO(unittest.TestCase):
eq(self._fp.read(10), self._line[:10])
eq(self._fp.readline(), self._line[10:] + '\n')
eq(len(self._fp.readlines(60)), 2)
self._fp.seek(0)
eq(self._fp.readline(-1), self._line + '\n')
def test_writes(self):
f = self.MODULE.StringIO()

View File

@ -35,6 +35,9 @@ Core and Builtins
Library
-------
- Issue #7348: StringIO.StringIO.readline(-1) now acts as if it got no argument
like other file objects.
- Issue #5949: fixed IMAP4_SSL hang when the IMAP server response is
missing proper end-of-line termination.