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?=')
123123124124def 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