From: Grégory Starck Date: Tue, 30 Mar 2021 08:37:37 +0000 (-0400) Subject: bpo-43125: Fix: return expected type (str), not original value (bytes) in email/base6... X-Git-Tag: v3.10.0a7~54 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cf35e05f89bb008d6f4553f9875e0fe87fc02406;p=thirdparty%2FPython%2Fcpython.git bpo-43125: Fix: return expected type (str), not original value (bytes) in email/base64mime.py::body_encode (GH-24476) --- diff --git a/Lib/email/base64mime.py b/Lib/email/base64mime.py index 17f0818f6caa..a7cc37365c6f 100644 --- a/Lib/email/base64mime.py +++ b/Lib/email/base64mime.py @@ -84,7 +84,7 @@ def body_encode(s, maxlinelen=76, eol=NL): in an email. """ if not s: - return s + return "" encvec = [] max_unencoded = maxlinelen * 3 // 4 diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py index 044b93862a14..720a63b4e48f 100644 --- a/Lib/test/test_email/test_email.py +++ b/Lib/test/test_email/test_email.py @@ -4261,7 +4261,7 @@ class TestBase64(unittest.TestCase): def test_encode(self): eq = self.assertEqual - eq(base64mime.body_encode(b''), b'') + eq(base64mime.body_encode(b''), '') eq(base64mime.body_encode(b'hello'), 'aGVsbG8=\n') # Test the binary flag eq(base64mime.body_encode(b'hello\n'), 'aGVsbG8K\n') @@ -4292,7 +4292,6 @@ eHh4eCB4eHh4IA==\r eq(he('hello\nworld'), '=?iso-8859-1?b?aGVsbG8Kd29ybGQ=?=') - class TestQuopri(unittest.TestCase): def setUp(self): # Set of characters (as byte integers) that don't need to be encoded diff --git a/Misc/NEWS.d/next/Library/2021-02-07-19-13-30.bpo-43125.AqNoMa.rst b/Misc/NEWS.d/next/Library/2021-02-07-19-13-30.bpo-43125.AqNoMa.rst new file mode 100644 index 000000000000..4c4a5836d259 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2021-02-07-19-13-30.bpo-43125.AqNoMa.rst @@ -0,0 +1 @@ +Return empty string if base64mime.body_encode receive empty bytes