]> granicus.if.org Git - python/commitdiff
More boiled down tests from Anthony's big torture suite.
authorBarry Warsaw <barry@python.org>
Tue, 11 May 2004 22:21:56 +0000 (22:21 +0000)
committerBarry Warsaw <barry@python.org>
Tue, 11 May 2004 22:21:56 +0000 (22:21 +0000)
Lib/email/test/test_email.py

index 86c5cc94a08f2ccc8c54dec342a515b6f9fd1a3c..bd2796026da45c4b78af470069ab32fe3dd8fb54 100644 (file)
@@ -1032,8 +1032,8 @@ class TestMIMEText(unittest.TestCase):
 
 
 \f
-# Test a more complicated multipart/mixed type message
-class TestMultipartMixed(TestEmailBase):
+# Test complicated multipart/* messages
+class TestMultipart(TestEmailBase):
     def setUp(self):
         fp = openfile('PyBanner048.gif')
         try:
@@ -1305,6 +1305,26 @@ hello world
 
 ''')
 
+    def test_message_external_body(self):
+        eq = self.assertEqual
+        msg = self._msgobj('msg_36.txt')
+        eq(len(msg.get_payload()), 2)
+        msg1 = msg.get_payload(1)
+        eq(msg1.get_content_type(), 'multipart/alternative')
+        eq(len(msg1.get_payload()), 2)
+        for subpart in msg1.get_payload():
+            eq(subpart.get_content_type(), 'message/external-body')
+            eq(len(subpart.get_payload()), 1)
+            subsubpart = subpart.get_payload(0)
+            eq(subsubpart.get_content_type(), 'text/plain')
+
+    def test_double_boundary(self):
+        # msg_37.txt is a multipart that contains two dash-boundary's in a
+        # row.  Our interpretation of RFC 2046 calls for ignoring the second
+        # and subsequent boundaries.
+        msg = self._msgobj('msg_37.txt')
+        self.assertEqual(len(msg.get_payload()), 3)
+
 
 \f
 # Test some badly formatted messages
@@ -1863,6 +1883,10 @@ class TestIdempotent(TestEmailBase):
         msg, text = self._msgobj('msg_12a.txt')
         self._idempotent(msg, text)
 
+    def test_message_external_body_idempotent(self):
+        msg, text = self._msgobj('msg_36.txt')
+        self._idempotent(msg, text)
+
     def test_content_type(self):
         eq = self.assertEquals
         unless = self.failUnless