SF patch# 1770008 by Christian Heimes (plus some extras).
Completely get rid of StringIO.py and cStringIO.c.
I had to fix a few tests and modules beyond what Christian did, and
invent a few conventions. E.g. in elementtree, I chose to
write/return Unicode strings whe no encoding is given, but bytes when
an explicit encoding is given. Also mimetools was made to always
assume binary files.
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index 7e37c29..a4ae21a 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -5,7 +5,7 @@
run_with_locale
from operator import neg
-import sys, warnings, cStringIO, random, UserDict
+import sys, warnings, random, UserDict, io
warnings.filterwarnings("ignore", "hex../oct.. of negative int",
FutureWarning, __name__)
warnings.filterwarnings("ignore", "integer argument expected",
@@ -1455,11 +1455,11 @@
self.assertRaises(ValueError, input)
sys.stdout = BitBucket()
- sys.stdin = cStringIO.StringIO("NULL\0")
+ sys.stdin = io.StringIO("NULL\0")
self.assertRaises(TypeError, input, 42, 42)
- sys.stdin = cStringIO.StringIO(" 'whitespace'")
+ sys.stdin = io.StringIO(" 'whitespace'")
self.assertEqual(input(), " 'whitespace'")
- sys.stdin = cStringIO.StringIO()
+ sys.stdin = io.StringIO()
self.assertRaises(EOFError, input)
del sys.stdout