diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py --- a/Lib/test/test_email/test_email.py +++ b/Lib/test/test_email/test_email.py @@ -585,6 +585,105 @@ msg = MIMEText('文', _charset='euc-jp') eq(msg['content-transfer-encoding'], '7bit') + def __get_multipart_msg(self): + source = textwrap.dedent("""\ + Date: Fri, 18 Mar 2011 17:15:43 +0100 + To: foo@example.com + From: foodwatch-Newsletter + Subject: Aktuelles zu Japan, Klonfleisch und Smiley-System + Message-ID: <76a486bee62b0d200f33dc2ca08220ad@localhost.localdomain> + MIME-Version: 1.0 + Content-Type: multipart/alternative; + boundary="b1_76a486bee62b0d200f33dc2ca08220ad" + + --b1_76a486bee62b0d200f33dc2ca08220ad + Content-Type: text/plain; charset="utf-8" + Content-Transfer-Encoding: 8bit + + Guten Tag, , + + mit großer Betroffenheit sehe ich den Super-GAU - nicht! + + + --b1_76a486bee62b0d200f33dc2ca08220ad + Content-Type: text/html; charset="utf-8" + Content-Transfer-Encoding: 8bit + + + + + foodwatch - Newsletter + + +

mit großer Betroffenheit sehe ich den Super-GAU + - nicht!

+ + + --b1_76a486bee62b0d200f33dc2ca08220ad-- + + """).encode('utf-8') + return email.message_from_bytes(source) + + def test_multipart_base64(self): + msg = self.__get_multipart_msg() + try: + encoders.encode_base64(msg) + except: + self.fail('encoders.encode_base64() failure') + + def test_multipart_quopri(self): + msg = self.__get_multipart_msg() + try: + encoders.encode_quopri(msg) + except: + self.fail('encoders.encode_quopri() failure') + + def test_multipart_7or8bit(self): + msg = self.__get_multipart_msg() + try: + encoders.encode_7or8bit(msg) + except: + self.fail('encoders.encode_7or8bit() failure') + + def __get_nonmultipart_msg(self): + source = textwrap.dedent("""\ + Date: Fri, 18 Mar 2011 17:15:43 +0100 + To: foo@example.com + From: foodwatch-Newsletter + Subject: Aktuelles zu Japan, Klonfleisch und Smiley-System + Message-ID: <76a486bee62b0d200f33dc2ca08220ad@localhost.localdomain> + MIME-Version: 1.0 + Content-Type: text/plain; charset="utf-8" + Content-Transfer-Encoding: 8bit + + Guten Tag, , + + mit großer Betroffenheit sehe ich den Super-GAU - nicht! + + """).encode('utf-8') + return email.message_from_bytes(source) + + def test_nonmultipart_base64(self): + msg = self.__get_nonmultipart_msg() + try: + encoders.encode_base64(msg) + except: + self.fail('encoders.encode_base64() failure') + + def test_nonmultipart_quopri(self): + msg = self.__get_nonmultipart_msg() + try: + encoders.encode_quopri(msg) + except: + self.fail('encoders.encode_quopri() failure') + + def test_nonmultipart_7or8bit(self): + msg = self.__get_nonmultipart_msg() + try: + encoders.encode_7or8bit(msg) + except: + self.fail('encoders.encode_7or8bit() failure') # Test long header wrapping class TestLongHeaders(TestEmailBase):