diff options
-rw-r--r-- | Lib/test/test_StringIO.py | 7 | ||||
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/cStringIO.c | 3 |
3 files changed, 12 insertions, 1 deletions
diff --git a/Lib/test/test_StringIO.py b/Lib/test/test_StringIO.py index a2e5444..cc3367f 100644 --- a/Lib/test/test_StringIO.py +++ b/Lib/test/test_StringIO.py @@ -75,6 +75,13 @@ class TestGenericStringIO(unittest.TestCase): f.close() self.assertEqual(f.closed, True) + def test_isatty(self): + f = self.MODULE.StringIO() + self.assertRaises(TypeError, f.isatty, None) + self.assertEqual(f.isatty(), False) + f.close() + self.assertRaises(ValueError, f.isatty) + def test_iterator(self): eq = self.assertEqual unless = self.failUnless @@ -449,6 +449,9 @@ Library codecs.getincrementaldecoder() and codecs.getincrementalencoder() have been added. +- SF patch #1359365: cStringIO.StringIO.isatty() will raise a ValueError + now if close() has been called before (like file and StringIO.StringIO do) + - A regrtest option -w was added to re-run failed tests in verbose mode. - Patch #1446372: quit and exit can now be called from the interactive diff --git a/Modules/cStringIO.c b/Modules/cStringIO.c index fd28aa9..bdc9f00 100644 --- a/Modules/cStringIO.c +++ b/Modules/cStringIO.c @@ -144,7 +144,8 @@ PyDoc_STRVAR(IO_isatty__doc__, "isatty(): always returns 0"); static PyObject * IO_isatty(IOobject *self, PyObject *unused) { - Py_INCREF(Py_False); + if (!IO__opencheck(self)) return NULL; + Py_INCREF(Py_False); return Py_False; } |