]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Add unit tests for the newlines property of IncrementalNewlineDecoder.
authorAlexandre Vassalotti <alexandre@peadrop.com>
Sun, 6 Jan 2008 00:34:32 +0000 (00:34 +0000)
committerAlexandre Vassalotti <alexandre@peadrop.com>
Sun, 6 Jan 2008 00:34:32 +0000 (00:34 +0000)
Lib/test/test_io.py

index 87e871bc9349ecf96e5b85244feebe8cc2784e1f..33b32e0a1bbac42704c2c3b52d9c1105c02246b6 100644 (file)
@@ -911,6 +911,22 @@ class TextIOWrapperTest(unittest.TestCase):
         self.assertEquals(decoder.decode(b'\xe8\xa2\x88\r'), "\u8888")
         self.assertEquals(decoder.decode(b'\n'), "\n")
 
+        decoder = codecs.getincrementaldecoder("utf-8")()
+        decoder = io.IncrementalNewlineDecoder(decoder, translate=True)
+        self.assertEquals(decoder.newlines, None)
+        decoder.decode(b"abc\n\r")
+        self.assertEquals(decoder.newlines, '\n')
+        decoder.decode(b"\nabc")
+        self.assertEquals(decoder.newlines, ('\n', '\r\n'))
+        decoder.decode(b"abc\r")
+        self.assertEquals(decoder.newlines, ('\n', '\r\n'))
+        decoder.decode(b"abc")
+        self.assertEquals(decoder.newlines, ('\r', '\n', '\r\n'))
+        decoder.decode(b"abc\r")
+        decoder.reset()
+        self.assertEquals(decoder.decode(b"abc"), "abc")
+        self.assertEquals(decoder.newlines, None)
+
 # XXX Tests for open()
 
 class MiscIOTest(unittest.TestCase):