Added a longish test case to stress seek/tell with a stateful decoder.
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 49404e1..38af35a 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -577,20 +577,30 @@
     """
 
     test_cases = [
-        # I=1 fixed-length mode
+        # I=1, O=1 (fixed-length input == fixed-length output)
         (b'abcd', False, 'a.b.c.d.'),
-        # I=0, O=0, variable-length mode
+        # I=0, O=0 (variable-length input, variable-length output)
         (b'oiabcd', True, 'abcd.'),
-        # I=0, O=0, variable-length mode, should ignore extra periods
+        # I=0, O=0 (should ignore extra periods)
         (b'oi...abcd...', True, 'abcd.'),
-        # I=0, O=6
-        (b'i.o6.xyz.', False, 'xyz---.'),
-        # I=2, O=6
+        # I=0, O=6 (variable-length input, fixed-length output)
+        (b'i.o6.x.xyz.toolongtofit.', False, 'x-----.xyz---.toolon.'),
+        # I=2, O=6 (fixed-length input < fixed-length output)
         (b'i.i2.o6xyz', True, 'xy----.z-----.'),
-        # I=0, O=3
-        (b'i.o3.x.xyz.toolong.', False, 'x--.xyz.too.'),
-        # I=6, O=3
-        (b'i.o3.i6.abcdefghijklmnop', True, 'abc.ghi.mno.')
+        # I=6, O=3 (fixed-length input > fixed-length output)
+        (b'i.o3.i6.abcdefghijklmnop', True, 'abc.ghi.mno.'),
+        # I=0, then 3; O=29, then 15 (with longer output)
+        (b'i.o29.a.b.cde.o15.abcdefghijabcdefghij.i3.a.b.c.d.ei00k.l.m', True,
+         'a----------------------------.' +
+         'b----------------------------.' +
+         'cde--------------------------.' +
+         'abcdefghijabcde.' +
+         'a.b------------.' +
+         '.c.------------.' +
+         'd.e------------.' +
+         'k--------------.' +
+         'l--------------.' +
+         'm--------------.')
     ]
 
     def testDecoder(self):