SF patch #1359365: file and cStringIO raise a ValueError when next() is called
after calling close(). Change StringIO, so that it behaves the same way.
diff --git a/Lib/StringIO.py b/Lib/StringIO.py
index 5c463fb..1e5f254 100644
--- a/Lib/StringIO.py
+++ b/Lib/StringIO.py
@@ -72,8 +72,7 @@
method is called repeatedly. This method returns the next input line,
or raises StopIteration when EOF is hit.
"""
- if self.closed:
- raise StopIteration
+ _complain_ifclosed(self.closed)
r = self.readline()
if not r:
raise StopIteration
diff --git a/Lib/test/test_StringIO.py b/Lib/test/test_StringIO.py
index c61f7cc..a2e5444 100644
--- a/Lib/test/test_StringIO.py
+++ b/Lib/test/test_StringIO.py
@@ -87,6 +87,8 @@
eq(line, self._line + '\n')
i += 1
eq(i, 5)
+ self._fp.close()
+ self.assertRaises(ValueError, self._fp.next)
class TestStringIO(TestGenericStringIO):
MODULE = StringIO