mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
[3.12] gh-77749: Fix inconsistent behavior of non-ASCII handling in EmailPolicy.fold() (GH-6986) (GH-114606)
It now always encodes non-ASCII characters in headers if utf8 is false.
(cherry picked from commit 504334c7be
)
Co-authored-by: Rito Takeuchi <licht-t@outlook.jp>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
61f8f58f81
commit
fd8aafd64d
3 changed files with 27 additions and 1 deletions
|
@ -135,6 +135,23 @@ class PolicyAPITests(unittest.TestCase):
|
|||
for attr, value in expected.items():
|
||||
self.assertEqual(getattr(added, attr), value)
|
||||
|
||||
def test_fold_utf8(self):
|
||||
expected_ascii = 'Subject: =?utf-8?q?=C3=A1?=\n'
|
||||
expected_utf8 = 'Subject: á\n'
|
||||
|
||||
msg = email.message.EmailMessage()
|
||||
s = 'á'
|
||||
msg['Subject'] = s
|
||||
|
||||
p_ascii = email.policy.default.clone()
|
||||
p_utf8 = email.policy.default.clone(utf8=True)
|
||||
|
||||
self.assertEqual(p_ascii.fold('Subject', msg['Subject']), expected_ascii)
|
||||
self.assertEqual(p_utf8.fold('Subject', msg['Subject']), expected_utf8)
|
||||
|
||||
self.assertEqual(p_ascii.fold('Subject', s), expected_ascii)
|
||||
self.assertEqual(p_utf8.fold('Subject', s), expected_utf8)
|
||||
|
||||
def test_fold_zero_max_line_length(self):
|
||||
expected = 'Subject: =?utf-8?q?=C3=A1?=\n'
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue