44 lines
948 B
Python
44 lines
948 B
Python
# Tests StringIO and cStringIO
|
|
|
|
def do_test(module):
|
|
s = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+'\n')*5
|
|
f = module.StringIO(s)
|
|
print f.read(10)
|
|
print f.readline()
|
|
print len(f.readlines(60))
|
|
|
|
f = module.StringIO()
|
|
f.write('abcdef')
|
|
f.seek(3)
|
|
f.write('uvwxyz')
|
|
f.write('!')
|
|
print `f.getvalue()`
|
|
f.close()
|
|
|
|
f = module.StringIO()
|
|
f.writelines(["a", "b", "c"])
|
|
f.seek(0)
|
|
print `f.getvalue()`
|
|
f.close()
|
|
|
|
f = module.StringIO()
|
|
f.write(s)
|
|
f.seek(10)
|
|
f.truncate()
|
|
print `f.getvalue()`
|
|
f.seek(0)
|
|
f.truncate(5)
|
|
print `f.getvalue()`
|
|
f.close()
|
|
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."
|
|
|
|
import StringIO, cStringIO
|
|
do_test(StringIO)
|
|
do_test(cStringIO)
|