1. Agreed, better to sort it out.
2. I'll have to look into that a bit deeper (later today if I can) but in principle I agree, just make it part of the requirement (but let's add it to the docstring or comments, so later users don't forget).

Also what really bugs me is how the original test could ever have worked. There's no StringIO in Python 3, so that test should have failed immediately on import. The only explanation I can come up with is that Travis never even ran the test on the original commit, which worries me a lot.