39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
# Tests StringIO and cStringIO
|
|
|
|
import string
|
|
|
|
def do_test(module):
|
|
s = (string.letters+'\n')*5
|
|
f = module.StringIO(s)
|
|
print f.read(10)
|
|
print f.readline()
|
|
print len(f.readlines(60))
|
|
|
|
f = module.StringIO()
|
|
f.write(s)
|
|
f.seek(10)
|
|
f.truncate()
|
|
print `f.getvalue()`
|
|
# This test fails for cStringIO; reported as SourceForge bug #115531;
|
|
# please uncomment this test when that bug is fixed.
|
|
# http://sourceforge.net/bugs/?func=detailbug&bug_id=115531&group_id=5470
|
|
## f.seek(0)
|
|
## f.truncate(5)
|
|
## print `f.getvalue()`
|
|
|
|
# This test fails for cStringIO; reported as SourceForge bug #115530;
|
|
# please uncomment this test when that bug is fixed.
|
|
# http://sourceforge.net/bugs/?func=detailbug&bug_id=115530&group_id=5470
|
|
## try:
|
|
## f.write("frobnitz")
|
|
## except ValueError, e:
|
|
## print "Caught expected ValueError writing to closed StringIO:"
|
|
## print e
|
|
## else:
|
|
## print "Failed to catch ValueError writing to closed StringIO."
|
|
|
|
# Don't bother testing cStringIO without
|
|
import StringIO, cStringIO
|
|
do_test(StringIO)
|
|
do_test(cStringIO)
|