bpo-21315: Fix parsing of encoded words with missing leading ws. (GH-… · python/cpython@dc20fc4

@@ -118,7 +118,7 @@ def test_get_encoded_word_gets_first_even_if_no_space(self):

118118

'=?us-ascii?q?first?==?utf-8?q?second?=',

119119

'first',

120120

'first',

121-

[],

121+

[errors.InvalidHeaderDefect],

122122

'=?utf-8?q?second?=')

123123124124

def test_get_encoded_word_sets_extra_attributes(self):

@@ -361,6 +361,25 @@ def test_get_unstructured_no_whitespace_between_ews(self):

361361

'=?utf-8?q?foo?==?utf-8?q?bar?=',

362362

'foobar',

363363

'foobar',

364+

[errors.InvalidHeaderDefect,

365+

errors.InvalidHeaderDefect],

366+

'')

367+368+

def test_get_unstructured_ew_without_leading_whitespace(self):

369+

self._test_get_x(

370+

self._get_unst,

371+

'nowhitespace=?utf-8?q?somevalue?=',

372+

'nowhitespacesomevalue',

373+

'nowhitespacesomevalue',

374+

[errors.InvalidHeaderDefect],

375+

'')

376+377+

def test_get_unstructured_ew_without_trailing_whitespace(self):

378+

self._test_get_x(

379+

self._get_unst,

380+

'=?utf-8?q?somevalue?=nowhitespace',

381+

'somevaluenowhitespace',

382+

'somevaluenowhitespace',

364383

[errors.InvalidHeaderDefect],

365384

'')

366385

@@ -546,7 +565,8 @@ def test_encoded_word_inside_quotes(self):

546565

'"=?utf-8?Q?not_really_valid?="',

547566

'"not really valid"',

548567

'not really valid',

549-

[errors.InvalidHeaderDefect],

568+

[errors.InvalidHeaderDefect,

569+

errors.InvalidHeaderDefect],

550570

'')

551571552572

# get_comment