Index: Lib/email/test/test_email.py =================================================================== --- Lib/email/test/test_email.py (révision 68145) +++ Lib/email/test/test_email.py (copie de travail) @@ -944,7 +944,7 @@ def test_encoding(self): payload = self._au.get_payload() - self.assertEqual(base64.decodestring(payload), self._audiodata) + self.assertEqual(base64.decodestring(payload.encode("ASCII")), self._audiodata) def test_checkSetMinor(self): au = MIMEAudio(self._audiodata, 'fish') @@ -984,12 +984,18 @@ def test_encoding(self): payload = self._im.get_payload() - self.assertEqual(base64.decodestring(payload), self._imgdata) + self.assertEqual(base64.decodestring(payload.encode("ASCII")), self._imgdata) def test_checkSetMinor(self): im = MIMEImage(self._imgdata, 'fish') self.assertEqual(im.get_content_type(), 'image/fish') + def test_as_string(self): + im = MIMEImage(self._imgdata, 'fish') + data = im.as_string() + self.assert_(data.startswith('Content-Type: image/fish\nMIME-Version: 1.0\nContent-Transfer-Encoding: base64\n\nR0lGO')) + self.assert_(data.endswith('EezykGwMGNX77w0hAAA7')) + def test_add_header(self): eq = self.assertEqual unless = self.failUnless @@ -1024,7 +1030,7 @@ eq = self.assertEqual bytes = b'\xfa\xfb\xfc\xfd\xfe\xff' msg = MIMEApplication(bytes) - eq(msg.get_payload(), b'+vv8/f7/') + eq(msg.get_payload(), '+vv8/f7/') eq(msg.get_payload(decode=True), bytes) Index: Lib/email/encoders.py =================================================================== --- Lib/email/encoders.py (révision 68145) +++ Lib/email/encoders.py (copie de travail) @@ -30,6 +30,7 @@ """ orig = msg.get_payload() encdata = _bencode(orig) + encdata = str(encdata, "ASCII") msg.set_payload(encdata) msg['Content-Transfer-Encoding'] = 'base64'