]> granicus.if.org Git - python/commitdiff
Change decode() so that it works with a buffer (i.e. unicode(..., 'utf-8-sig'))
authorWalter Dörwald <walter@livinglogic.de>
Thu, 23 Nov 2006 05:03:56 +0000 (05:03 +0000)
committerWalter Dörwald <walter@livinglogic.de>
Thu, 23 Nov 2006 05:03:56 +0000 (05:03 +0000)
SF bug #1601501.

Lib/encodings/utf_8_sig.py
Lib/test/test_codecs.py

index f05f6b88db26eda0c18eaade3b0b78d97a75ac7e..d751da69c41585778d5a92783381d0c737b094c4 100644 (file)
@@ -16,7 +16,7 @@ def encode(input, errors='strict'):
 
 def decode(input, errors='strict'):
     prefix = 0
-    if input.startswith(codecs.BOM_UTF8):
+    if input[:3] == codecs.BOM_UTF8:
         input = input[3:]
         prefix = 3
     (output, consumed) = codecs.utf_8_decode(input, errors, True)
index 5b35a645386b165b1d6f8d2db035fc235934f350..3c800f87771164722672ea83bdfa4633ca9cfa46 100644 (file)
@@ -425,6 +425,10 @@ class UTF8SigTest(ReadTest):
             ]
         )
 
+    def test_bug1601501(self):
+        # SF bug #1601501: check that the codec works with a buffer
+        unicode("\xef\xbb\xbf", "utf-8-sig")
+
 class EscapeDecodeTest(unittest.TestCase):
     def test_empty(self):
         self.assertEquals(codecs.escape_decode(""), ("", 0))