mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
#9298: restore proper folding of base64 encoded bodies.
Patch by Yves Dorfsman.
This commit is contained in:
parent
d3b7a55f54
commit
6d94bd470e
4 changed files with 21 additions and 6 deletions
|
|
@ -12,7 +12,7 @@ __all__ = [
|
|||
]
|
||||
|
||||
|
||||
from base64 import b64encode as _bencode
|
||||
from base64 import encodebytes as _bencode
|
||||
from quopri import encodestring as _encodestring
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -553,9 +553,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()
|
||||
|
|
@ -1107,10 +1116,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)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -202,6 +202,7 @@ Daniel Dittmar
|
|||
Jaromir Dolecek
|
||||
Ismail Donmez
|
||||
Dima Dorfman
|
||||
Yves Dorfsman
|
||||
Cesar Douady
|
||||
Dean Draayer
|
||||
Fred L. Drake, Jr.
|
||||
|
|
|
|||
|
|
@ -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 #11569: use absolute path to the sysctl command in multiprocessing to
|
||||
ensure that it will be found regardless of the shell PATH. This ensures
|
||||
that multiprocessing.cpu_count works on default installs of MacOSX.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue