mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Merge #11401 fix from 3.2.
This commit is contained in:
commit
cfec350e63
3 changed files with 11 additions and 1 deletions
|
@ -314,7 +314,7 @@ class Header:
|
||||||
self._continuation_ws, splitchars)
|
self._continuation_ws, splitchars)
|
||||||
for string, charset in self._chunks:
|
for string, charset in self._chunks:
|
||||||
lines = string.splitlines()
|
lines = string.splitlines()
|
||||||
formatter.feed(lines[0], charset)
|
formatter.feed(lines[0] if lines else '', charset)
|
||||||
for line in lines[1:]:
|
for line in lines[1:]:
|
||||||
formatter.newline()
|
formatter.newline()
|
||||||
if charset.header_encoding is not None:
|
if charset.header_encoding is not None:
|
||||||
|
|
|
@ -3705,6 +3705,13 @@ A very long line that must get split to something other than at the
|
||||||
h = Header('文', charset='shift_jis')
|
h = Header('文', charset='shift_jis')
|
||||||
self.assertEqual(h.encode(), '=?iso-2022-jp?b?GyRCSjgbKEI=?=')
|
self.assertEqual(h.encode(), '=?iso-2022-jp?b?GyRCSjgbKEI=?=')
|
||||||
|
|
||||||
|
def test_flatten_header_with_no_value(self):
|
||||||
|
# Issue 11401 (regression from email 4.x) Note that the space after
|
||||||
|
# the header doesn't reflect the input, but this is also the way
|
||||||
|
# email 4.x behaved. At some point it would be nice to fix that.
|
||||||
|
msg = email.message_from_string("EmptyHeader:")
|
||||||
|
self.assertEqual(str(msg), "EmptyHeader: \n\n")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Test RFC 2231 header parameters (en/de)coding
|
# Test RFC 2231 header parameters (en/de)coding
|
||||||
|
|
|
@ -72,6 +72,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #11401: fix handling of headers with no value; this fixes a regression
|
||||||
|
relative to Python2 and the result is now the same as it was in Python2.
|
||||||
|
|
||||||
- Issue #9298: base64 bodies weren't being folded to line lengths less than 78,
|
- 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
|
which was a regression relative to Python2. Unlike Python2, the last line
|
||||||
of the folded body now ends with a carriage return.
|
of the folded body now ends with a carriage return.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue