summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/email/Message.py4
-rw-r--r--Lib/email/test/test_email.py12
2 files changed, 14 insertions, 2 deletions
diff --git a/Lib/email/Message.py b/Lib/email/Message.py
index dd8d864..2245f9b 100644
--- a/Lib/email/Message.py
+++ b/Lib/email/Message.py
@@ -664,7 +664,7 @@ class Message:
if not self.has_key(header):
return
new_ctype = ''
- for p, v in self.get_params(header, unquote=requote):
+ for p, v in self.get_params(header=header, unquote=requote):
if p.lower() <> param.lower():
if not new_ctype:
new_ctype = _formatparam(p, v, requote)
@@ -700,7 +700,7 @@ class Message:
if not self.has_key(header):
self[header] = type
return
- params = self.get_params(header, unquote=requote)
+ params = self.get_params(header=header, unquote=requote)
del self[header]
self[header] = type
# Skip the first param; it's the old type.
diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py
index 4479fb2..d079b9e 100644
--- a/Lib/email/test/test_email.py
+++ b/Lib/email/test/test_email.py
@@ -354,6 +354,12 @@ class TestMessageAPI(TestEmailBase):
('boundary', 'D1690A7AC1.996856090/mail.example.com'),
('report-type', old_val)])
+ def test_del_param_on_other_header(self):
+ msg = Message()
+ msg.add_header('Content-Disposition', 'attachment', filename='bud.gif')
+ msg.del_param('filename', 'content-disposition')
+ self.assertEqual(msg['content-disposition'], 'attachment')
+
def test_set_type(self):
eq = self.assertEqual
msg = Message()
@@ -365,6 +371,12 @@ class TestMessageAPI(TestEmailBase):
msg.set_type('text/html')
eq(msg['content-type'], 'text/html; charset="us-ascii"')
+ def test_set_type_on_other_header(self):
+ msg = Message()
+ msg['X-Content-Type'] = 'text/plain'
+ msg.set_type('application/octet-stream', 'X-Content-Type')
+ self.assertEqual(msg['x-content-type'], 'application/octet-stream')
+
def test_get_content_type_missing(self):
msg = Message()
self.assertEqual(msg.get_content_type(), 'text/plain')