[Python-3000-checkins] r58909 - python/branches/py3k/Lib/test/outstanding_bugs.py
christian.heimes
python-3000-checkins at python.org
Thu Nov 8 14:12:43 CET 2007
Author: christian.heimes
Date: Thu Nov 8 14:12:43 2007
New Revision: 58909
Modified:
python/branches/py3k/Lib/test/outstanding_bugs.py
Log:
Added tests from Raghuram Devarakonda for bug #1395 'py3k: duplicated line endings when using read(1)' to outstanding_bugs.py
Modified: python/branches/py3k/Lib/test/outstanding_bugs.py
==============================================================================
--- python/branches/py3k/Lib/test/outstanding_bugs.py (original)
+++ python/branches/py3k/Lib/test/outstanding_bugs.py Thu Nov 8 14:12:43 2007
@@ -45,9 +45,77 @@
self.assertEquals(aptr, 1)
self.assertEquals(bptr, 0)
+# test_io
+import io
+class TextIOWrapperTest(unittest.TestCase):
+
+ def setUp(self):
+ self.testdata = b"AAA\r\nBBB\rCCC\r\nDDD\nEEE\r\n"
+ self.normalized = b"AAA\nBBB\nCCC\nDDD\nEEE\n".decode("ASCII")
+
+ def tearDown(self):
+ test_support.unlink(test_support.TESTFN)
+
+
+ def test_issue1395_1(self):
+ txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ASCII")
+
+ # read one char at a time
+ reads = ""
+ while True:
+ c = txt.read(1)
+ if not c:
+ break
+ reads += c
+ self.assertEquals(reads, self.normalized)
+
+ def test_issue1395_2(self):
+ txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ASCII")
+ txt._CHUNK_SIZE = 4
+
+ reads = ""
+ while True:
+ c = txt.read(4)
+ if not c:
+ break
+ reads += c
+ self.assertEquals(reads, self.normalized)
+
+ def test_issue1395_3(self):
+ txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ASCII")
+ txt._CHUNK_SIZE = 4
+
+ reads = txt.read(4)
+ reads += txt.read(4)
+ reads += txt.readline()
+ reads += txt.readline()
+ reads += txt.readline()
+ self.assertEquals(reads, self.normalized)
+
+ def test_issue1395_4(self):
+ txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ASCII")
+ txt._CHUNK_SIZE = 4
+
+ reads = txt.read(4)
+ reads += txt.read()
+ self.assertEquals(reads, self.normalized)
+
+ def test_issue1395_5(self):
+ txt = io.TextIOWrapper(io.BytesIO(self.testdata), encoding="ASCII")
+ txt._CHUNK_SIZE = 4
+
+ reads = txt.read(4)
+ pos = txt.tell()
+ txt.seek(0)
+ txt.seek(pos)
+ self.assertEquals(txt.read(4), "BBB\n")
+
+
def test_main():
- test_support.run_unittest(TestDifflibLongestMatch)
+ test_support.run_unittest(
+ TestDifflibLongestMatch,
+ TextIOWrapperTest)
if __name__ == "__main__":
test_main()
More information about the Python-3000-checkins
mailing list