| # 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) |