From cf35e05f89bb008d6f4553f9875e0fe87fc02406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Starck?= Date: Tue, 30 Mar 2021 04:37:37 -0400 Subject: bpo-43125: Fix: return expected type (str), not original value (bytes) in email/base64mime.py::body_encode (GH-24476) --- Lib/email/base64mime.py | 2 +- Lib/test/test_email/test_email.py | 3 +-- Misc/NEWS.d/next/Library/2021-02-07-19-13-30.bpo-43125.AqNoMa.rst | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2021-02-07-19-13-30.bpo-43125.AqNoMa.rst diff --git a/Lib/email/base64mime.py b/Lib/email/base64mime.py index 17f0818..a7cc373 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 044b938..720a63b 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 0000000..4c4a583 --- /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 -- cgit v0.12