cpython/Lib/test/test_email
R. David Murray 85d5c18c9d
bpo-27240 Rewrite the email header folding algorithm. (#3488)
The original algorithm tried to delegate the folding to the tokens so
that those tokens whose folding rules differed could specify the
differences.  However, this resulted in a lot of duplicated code because
most of the rules were the same.

The new algorithm moves all folding logic into a set of functions
external to the token classes, but puts the information about which
tokens can be folded in which ways on the tokens...with the exception of
mime-parameters, which are a special case (which was not even
implemented in the old folder).

This algorithm can still probably be improved and hopefully simplified
somewhat.

Note that some of the test expectations are changed.  I believe the
changes are toward more desirable and consistent behavior: in general
when (re) folding a line the canonical version of the tokens is
generated, rather than preserving errors or extra whitespace.
2017-12-03 18:51:41 -05:00
..
data #14983: always add a line end after a MIME boundary marker. 2014-02-08 17:54:56 -05:00
__init__.py Merge with 3.5 2016-09-09 12:09:07 -07:00
__main__.py Issue #22002: Make full use of test discovery in test sub-packages. 2014-07-23 12:00:29 -05:00
test__encoded_words.py Closes #18464: fix typo in test name. 2013-07-15 12:09:47 -04:00
test__header_value_parser.py bpo-27240 Rewrite the email header folding algorithm. (#3488) 2017-12-03 18:51:41 -05:00
test_asian_codecs.py Merge with 3.5 2016-05-06 17:35:21 -04:00
test_contentmanager.py Issue #27076: Doc, comment and tests spelling fixes 2016-05-26 05:35:26 +00:00
test_defect_handling.py Issue #19590: Use specific asserts in email tests. 2013-11-16 12:56:23 +02:00
test_email.py bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
test_generator.py bpo-27240 Rewrite the email header folding algorithm. (#3488) 2017-12-03 18:51:41 -05:00
test_headerregistry.py bpo-27240 Rewrite the email header folding algorithm. (#3488) 2017-12-03 18:51:41 -05:00
test_inversion.py #28047: Fix calculation of base64 line length. 2016-09-09 15:00:09 -04:00
test_message.py #24277: The new email API is no longer provisional. 2016-09-07 21:15:59 -04:00
test_parser.py #20476: add a message_factory policy attribute to email. 2016-09-09 18:39:18 -04:00
test_pickleable.py Issue #22777: Test pickling with all protocols. 2014-12-15 14:03:42 +02:00
test_policy.py #20476: Deal with the message_factory circular import differently. 2016-09-10 00:22:25 -04:00
test_utils.py Issue #24836: Skip FormatDateTests of test_email.test_utils on Mac OS X Snow 2015-09-18 16:32:23 +02:00
torture_test.py Issue 26912: fix broken imports in test_email package. 2016-05-06 17:35:05 -04:00