[email] bpo-29478: Fix passing max_line_length=None from Compat32 policy (GH-595) (GH-2233)
If max_line_length=None is specified while using the Compat32 policy,
it is no longer ignored..
(cherry picked from commit b459f74826
)
This commit is contained in:
parent
2eca5b465f
commit
e9f4d8db5f
|
@ -361,8 +361,12 @@ class Compat32(Policy):
|
|||
# Assume it is a Header-like object.
|
||||
h = value
|
||||
if h is not None:
|
||||
parts.append(h.encode(linesep=self.linesep,
|
||||
maxlinelen=self.max_line_length))
|
||||
# The Header class interprets a value of None for maxlinelen as the
|
||||
# default value of 78, as recommended by RFC 2822.
|
||||
maxlinelen = 0
|
||||
if self.max_line_length is not None:
|
||||
maxlinelen = self.max_line_length
|
||||
parts.append(h.encode(linesep=self.linesep, maxlinelen=maxlinelen))
|
||||
parts.append(self.linesep)
|
||||
return ''.join(parts)
|
||||
|
||||
|
|
|
@ -162,6 +162,13 @@ class TestGeneratorBase:
|
|||
g.flatten(msg)
|
||||
self.assertEqual(s.getvalue(), self.typ(expected))
|
||||
|
||||
def test_compat32_max_line_length_does_not_fold_when_none(self):
|
||||
msg = self.msgmaker(self.typ(self.refold_long_expected[0]))
|
||||
s = self.ioclass()
|
||||
g = self.genclass(s, policy=policy.compat32.clone(max_line_length=None))
|
||||
g.flatten(msg)
|
||||
self.assertEqual(s.getvalue(), self.typ(self.refold_long_expected[0]))
|
||||
|
||||
|
||||
class TestGenerator(TestGeneratorBase, TestEmailBase):
|
||||
|
||||
|
|
|
@ -309,6 +309,7 @@ Garrett Cooper
|
|||
Greg Copeland
|
||||
Ian Cordasco
|
||||
Aldo Cortesi
|
||||
Mircea Cosbuc
|
||||
David Costanzo
|
||||
Scott Cotton
|
||||
Greg Couch
|
||||
|
|
Loading…
Reference in New Issue