]> granicus.if.org Git - python/commitdiff
Oleg Broytmann's support for RFC 2231 encoded parameters, SF patch #549133
authorBarry Warsaw <barry@python.org>
Sat, 29 Jun 2002 05:58:45 +0000 (05:58 +0000)
committerBarry Warsaw <barry@python.org>
Sat, 29 Jun 2002 05:58:45 +0000 (05:58 +0000)
New test cases.

Lib/test/data/msg_29.txt [new file with mode: 0644]
Lib/test/test_email.py

diff --git a/Lib/test/data/msg_29.txt b/Lib/test/data/msg_29.txt
new file mode 100644 (file)
index 0000000..1fab561
--- /dev/null
@@ -0,0 +1,22 @@
+Return-Path: <bbb@zzz.org>
+Delivered-To: bbb@zzz.org
+Received: by mail.zzz.org (Postfix, from userid 889)
+       id 27CEAD38CC; Fri,  4 May 2001 14:05:44 -0400 (EDT)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii;
+     title*0*="us-ascii'en'This%20is%20even%20more%20";
+     title*1*="%2A%2A%2Afun%2A%2A%2A%20";
+     title*2="isn't it!"
+Content-Transfer-Encoding: 7bit
+Message-ID: <15090.61304.110929.45684@aaa.zzz.org>
+From: bbb@ddd.com (John X. Doe)
+To: bbb@zzz.org
+Subject: This is a test message
+Date: Fri, 4 May 2001 14:05:44 -0400
+
+
+Hi,
+
+Do you like this message?
+
+-Me
index b617bc0d7457e625f6a80c974b18fbbeaf294c89..efca4787a7cbeee649d731ba49b30adbe1d78b3e 100644 (file)
@@ -158,7 +158,7 @@ class TestMessageAPI(TestEmailBase):
         msg.set_boundary('BOUNDARY')
         header, value = msg.items()[4]
         eq(header.lower(), 'content-type')
-        eq(value, 'text/plain; charset=us-ascii; boundary="BOUNDARY"')
+        eq(value, 'text/plain; charset="us-ascii"; boundary="BOUNDARY"')
         # This one has a Content-Type: header, with a boundary, stuck in the
         # middle of its headers.  Make sure the order is preserved; it should
         # be fifth.
@@ -1787,6 +1787,17 @@ A very long line that must get split to something other than at the
         eq(h.encode(), hstr)
 
 
+# Test RFC 2231 header parameters decoding
+class TestRFC2231(TestEmailBase):
+    def test_get_param(self):
+        eq = self.assertEqual
+        msg = self._msgobj('msg_29.txt')
+        eq(msg.get_param('title'),
+           ('us-ascii', 'en', 'This is even more ***fun*** isn\'t it!'))
+        eq(msg.get_param('title', unquote=0),
+           ('us-ascii', 'en', '"This is even more ***fun*** isn\'t it!"'))
+
+
 \f
 def _testclasses():
     mod = sys.modules[__name__]