Fix issue #1822: MIMEMultipart.is_multipart() behaves correctly for a

just-created (and empty) instance.  Added tests for this. Thanks
Jonathan Share.
This commit is contained in:
Facundo Batista 2008-01-19 12:32:27 +00:00
parent 96f2184de6
commit 2b1b195d39
3 changed files with 12 additions and 0 deletions

View File

@ -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)

View File

@ -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

View File

@ -367,6 +367,9 @@ Core and builtins
Library
-------
- #1822: MIMEMultipart.is_multipart() behaves correctly for a just-created
(and empty) instance. Thanks Jonathan Share.
- #1861: Added an attribute to the sched module which returns an ordered
list of upcoming events (displayed as named tuples).