summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorFacundo Batista <facundobatista@gmail.com>2008-01-19 12:32:27 (GMT)
committerFacundo Batista <facundobatista@gmail.com>2008-01-19 12:32:27 (GMT)
commit2b1b195d396ee92260425b17ee5d17b7f4525485 (patch)
treec008972e73aaf7c611c893f7ce605fdcc911a549 /Lib
parent96f2184de6f48acc44c69f9ff0d80410e93b904a (diff)
downloadcpython-2b1b195d396ee92260425b17ee5d17b7f4525485.zip
cpython-2b1b195d396ee92260425b17ee5d17b7f4525485.tar.gz
cpython-2b1b195d396ee92260425b17ee5d17b7f4525485.tar.bz2
Fix issue #1822: MIMEMultipart.is_multipart() behaves correctly for a
just-created (and empty) instance. Added tests for this. Thanks Jonathan Share.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/email/mime/multipart.py6
-rw-r--r--Lib/email/test/test_email.py3
2 files changed, 9 insertions, 0 deletions
diff --git a/Lib/email/mime/multipart.py b/Lib/email/mime/multipart.py
index 5c8c9db..9661865 100644
--- a/Lib/email/mime/multipart.py
+++ b/Lib/email/mime/multipart.py
@@ -34,6 +34,12 @@ class MIMEMultipart(MIMEBase):
keyword arguments (or passed into the _params argument).
"""
MIMEBase.__init__(self, 'multipart', _subtype, **_params)
+
+ # Initialise _payload to an empty list as the Message superclass's
+ # implementation of is_multipart assumes that _payload is a list for
+ # multipart messages.
+ self._payload = []
+
if _subparts:
for p in _subparts:
self.attach(p)
diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py
index 5a86da8..3a68f02 100644
--- a/Lib/email/test/test_email.py
+++ b/Lib/email/test/test_email.py
@@ -1861,6 +1861,9 @@ message 2
eq(msg.get_payload(0), text1)
eq(msg.get_payload(1), text2)
+ def test_default_multipart_constructor(self):
+ msg = MIMEMultipart()
+ self.assertTrue(msg.is_multipart())
# A general test of parser->model->generator idempotency. IOW, read a message