From: Barry Warsaw Date: Fri, 13 Jul 2007 21:20:38 +0000 (+0000) Subject: In response to this SF bug: X-Git-Tag: v2.5.2c1~238 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9c2d4deec3cd3bb0cd380f009a8094ca13cab94d;p=thirdparty%2FPython%2Fcpython.git In response to this SF bug: [ 1752723 ] email.message_from_string: initial line gets discarded I added a test to assert that when the first line of text passed to message_from_string() contains a leading space, the message ends up with the appropriate FirstHeaderLineIsContinuationDefect on its defects list. The bug is invalid. --- diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py index a03299991ef9..5a86da8a3c37 100644 --- a/Lib/email/test/test_email.py +++ b/Lib/email/test/test_email.py @@ -1492,6 +1492,18 @@ counter to RFC 2822, there's no separating newline here self.failUnless(isinstance(bad.defects[0], Errors.StartBoundaryNotFoundDefect)) + def test_first_line_is_continuation_header(self): + eq = self.assertEqual + m = ' Line 1\nLine 2\nLine 3' + msg = email.message_from_string(m) + eq(msg.keys(), []) + eq(msg.get_payload(), 'Line 2\nLine 3') + eq(len(msg.defects), 1) + self.failUnless(isinstance(msg.defects[0], + Errors.FirstHeaderLineIsContinuationDefect)) + eq(msg.defects[0].line, ' Line 1\n') + + # Test RFC 2047 header encoding and decoding diff --git a/Lib/email/test/test_email_renamed.py b/Lib/email/test/test_email_renamed.py index 44238c78f8c4..37ce7af26fb5 100644 --- a/Lib/email/test/test_email_renamed.py +++ b/Lib/email/test/test_email_renamed.py @@ -1490,6 +1490,17 @@ counter to RFC 2822, there's no separating newline here self.failUnless(isinstance(bad.defects[0], errors.StartBoundaryNotFoundDefect)) + def test_first_line_is_continuation_header(self): + eq = self.assertEqual + m = ' Line 1\nLine 2\nLine 3' + msg = email.message_from_string(m) + eq(msg.keys(), []) + eq(msg.get_payload(), 'Line 2\nLine 3') + eq(len(msg.defects), 1) + self.failUnless(isinstance(msg.defects[0], + errors.FirstHeaderLineIsContinuationDefect)) + eq(msg.defects[0].line, ' Line 1\n') + # Test RFC 2047 header encoding and decoding