Merged revisions 87415 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r87415 | r.david.murray | 2010-12-21 13:07:59 -0500 (Tue, 21 Dec 2010) | 4 lines
Fix the change made for issue 1243654.
Surprisingly, it turns out there was no test that exercised this code path.
........
diff --git a/Lib/email/generator.py b/Lib/email/generator.py
index 717a6c6..eb71044 100644
--- a/Lib/email/generator.py
+++ b/Lib/email/generator.py
@@ -208,7 +208,8 @@
# Create a boundary that doesn't appear in any of the
# message texts.
alltext = NL.join(msgtexts)
- msg.set_boundary(self._make_boundary(alltext))
+ boundary = _make_boundary(alltext)
+ msg.set_boundary(boundary)
# If there's a preamble, write it out, with a trailing CRLF
if msg.preamble is not None:
print >> self._fp, msg.preamble
diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py
index 7a1d699..358b6a7 100644
--- a/Lib/email/test/test_email.py
+++ b/Lib/email/test/test_email.py
@@ -179,6 +179,17 @@
self.assertRaises(Errors.HeaderParseError,
msg.set_boundary, 'BOUNDARY')
+ def test_make_boundary(self):
+ msg = MIMEMultipart('form-data')
+ # Note that when the boundary gets created is an implementation
+ # detail and might change.
+ self.assertEqual(msg.items()[0][1], 'multipart/form-data')
+ # Trigger creation of boundary
+ msg.as_string()
+ self.assertEqual(msg.items()[0][1][:33],
+ 'multipart/form-data; boundary="==')
+ # XXX: there ought to be tests of the uniqueness of the boundary, too.
+
def test_message_rfc822_only(self):
# Issue 7970: message/rfc822 not in multipart parsed by
# HeaderParser caused an exception when flattened.