]> granicus.if.org Git - python/commitdiff
Merged revisions 78461 via svnmerge from
authorFlorent Xicluna <florent.xicluna@gmail.com>
Fri, 26 Feb 2010 11:12:33 +0000 (11:12 +0000)
committerFlorent Xicluna <florent.xicluna@gmail.com>
Fri, 26 Feb 2010 11:12:33 +0000 (11:12 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78461 | florent.xicluna | 2010-02-26 11:40:58 +0100 (ven, 26 fév 2010) | 2 lines

  #691291: codecs.open() should not convert end of lines on reading and writing.
........

Lib/test/test_codecs.py

index 4b4d40cbcdbeeb49aaf19ab2cfff1eaa7eecfe3a..974ebd40636b7817ea0ba7216c651aa7d76fa703 100644 (file)
@@ -483,6 +483,21 @@ class UTF16Test(ReadTest):
         self.check_state_handling_decode(self.encoding,
                                          "spamspam", self.spambe)
 
+    def test_bug691291(self):
+        # Files are always opened in binary mode, even if no binary mode was
+        # specified.  This means that no automatic conversion of '\n' is done
+        # on reading and writing.
+        s1 = 'Hello\r\nworld\r\n'
+
+        s = s1.encode(self.encoding)
+        try:
+            with open(support.TESTFN, 'wb') as fp:
+                fp.write(s)
+            with codecs.open(support.TESTFN, 'U', encoding=self.encoding) as reader:
+                self.assertEqual(reader.read(), s1)
+        finally:
+            support.unlink(support.TESTFN)
+
 class UTF16LETest(ReadTest):
     encoding = "utf-16-le"