Oleg Broytmann's support for RFC 2231 encoded parameters, SF patch #549133

New test cases.
This commit is contained in:
Barry Warsaw 2002-06-29 05:58:45 +00:00
parent 12566a8826
commit 9546e7972c
2 changed files with 34 additions and 1 deletions

22
Lib/test/data/msg_29.txt Normal file
View File

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

View 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!"'))
def _testclasses():
mod = sys.modules[__name__]