test_replace_header(): New test for Message.replace_header().
authorBarry Warsaw <barry@python.org>
Fri, 6 Sep 2002 03:39:59 +0000 (03:39 +0000)
committerBarry Warsaw <barry@python.org>
Fri, 6 Sep 2002 03:39:59 +0000 (03:39 +0000)
Lib/email/test/test_email.py

index 5012d43703c054b7a3141aba908a23cb82ba84ad..bd075ce5bf1ead8750f87181758004b42f820c8f 100644 (file)
@@ -435,6 +435,23 @@ class TestMessageAPI(TestEmailBase):
         msg['Content-Type'] = 'no-slash-in-this-string'
         self.assertEqual(msg.get_content_subtype(), 'plain')
 
+    def test_replace_header(self):
+        eq = self.assertEqual
+        msg = Message()
+        msg.add_header('First', 'One')
+        msg.add_header('Second', 'Two')
+        msg.add_header('Third', 'Three')
+        eq(msg.keys(), ['First', 'Second', 'Third'])
+        eq(msg.values(), ['One', 'Two', 'Three'])
+        msg.replace_header('Second', 'Twenty')
+        eq(msg.keys(), ['First', 'Second', 'Third'])
+        eq(msg.values(), ['One', 'Twenty', 'Three'])
+        msg.add_header('First', 'Eleven')
+        msg.replace_header('First', 'One Hundred')
+        eq(msg.keys(), ['First', 'Second', 'Third', 'First'])
+        eq(msg.values(), ['One Hundred', 'Twenty', 'Three', 'Eleven'])
+        self.assertRaises(KeyError, msg.replace_header, 'Fourth', 'Missing')
+
 
 \f
 # Test the email.Encoders module