This commit is contained in:
R David Murray 2011-03-16 16:13:07 -04:00
commit 78099bb153
4 changed files with 21 additions and 6 deletions

View File

@ -12,7 +12,7 @@ __all__ = [
]
from base64 import b64encode as _bencode
from base64 import encodebytes as _bencode
from quopri import encodestring as _encodestring

View File

@ -573,9 +573,18 @@ class TestMessageAPI(TestEmailBase):
msg['Dummy'] = 'dummy\nX-Injected-Header: test'
self.assertRaises(errors.HeaderParseError, msg.as_string)
# Test the email.encoders module
class TestEncoders(unittest.TestCase):
def test_EncodersEncode_base64(self):
with openfile('PyBanner048.gif', 'rb') as fp:
bindata = fp.read()
mimed = email.mime.image.MIMEImage(bindata)
base64ed = mimed.get_payload()
# the transfer-encoded body lines should all be <=76 characters
lines = base64ed.split('\n')
self.assertLessEqual(max([ len(x) for x in lines ]), 76)
def test_encode_empty_payload(self):
eq = self.assertEqual
msg = Message()
@ -1141,10 +1150,11 @@ class TestMIMEApplication(unittest.TestCase):
def test_body(self):
eq = self.assertEqual
bytes = b'\xfa\xfb\xfc\xfd\xfe\xff'
msg = MIMEApplication(bytes)
eq(msg.get_payload(), '+vv8/f7/')
eq(msg.get_payload(decode=True), bytes)
bytesdata = b'\xfa\xfb\xfc\xfd\xfe\xff'
msg = MIMEApplication(bytesdata)
# whitespace in the cte encoded block is RFC-irrelevant.
eq(msg.get_payload().strip(), '+vv8/f7/')
eq(msg.get_payload(decode=True), bytesdata)

View File

@ -225,6 +225,7 @@ Jaromir Dolecek
Ismail Donmez
Marcos Donolo
Dima Dorfman
Yves Dorfsman
Cesar Douady
Dean Draayer
Fred L. Drake, Jr.

View File

@ -40,6 +40,10 @@ Core and Builtins
Library
-------
- Issue #9298: base64 bodies weren't being folded to line lengths less than 78,
which was a regression relative to Python2. Unlike Python2, the last line
of the folded body now ends with a carriage return.
- Issue #11560: shutil.unpack_archive now correctly handles the format
parameter. Patch by Evan Dandrea.