Note that io.StringIO insists on writing unicode objects only, so it does behave differently than StringIO.StringIO in Python 2.7. If window-mocker carefully converts everythign that's fine, but doing so will break the Python 3 support. So far I must say I avoid io.StringIO in code that supports both py 2 and 3 as it makes the code quite ugly (lots of "if sys.version" checks). But YMMV.
Note that io.StringIO insists on writing unicode objects only, so it does behave differently than StringIO.StringIO in Python 2.7. If window-mocker carefully converts everythign that's fine, but doing so will break the Python 3 support. So far I must say I avoid io.StringIO in code that supports both py 2 and 3 as it makes the code quite ugly (lots of "if sys.version" checks). But YMMV.