summaryrefslogtreecommitdiffstats
path: root/Lib/email
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/email')
-rw-r--r--Lib/email/test/data/msg_32.txt14
-rw-r--r--Lib/email/test/data/msg_33.txt29
-rw-r--r--Lib/email/test/test_email.py23
3 files changed, 66 insertions, 0 deletions
diff --git a/Lib/email/test/data/msg_32.txt b/Lib/email/test/data/msg_32.txt
new file mode 100644
index 0000000..07ec5af
--- /dev/null
+++ b/Lib/email/test/data/msg_32.txt
@@ -0,0 +1,14 @@
+Delivered-To: freebsd-isp@freebsd.org
+Date: Tue, 26 Sep 2000 12:23:03 -0500
+From: Anne Person <aperson@example.com>
+To: Barney Dude <bdude@example.com>
+Subject: Re: Limiting Perl CPU Utilization...
+Mime-Version: 1.0
+Content-Type: text/plain; charset*=ansi-x3.4-1968''us-ascii
+Content-Disposition: inline
+User-Agent: Mutt/1.3.8i
+Sender: owner-freebsd-isp@FreeBSD.ORG
+Precedence: bulk
+X-Loop: FreeBSD.org
+
+Some message.
diff --git a/Lib/email/test/data/msg_33.txt b/Lib/email/test/data/msg_33.txt
new file mode 100644
index 0000000..042787a
--- /dev/null
+++ b/Lib/email/test/data/msg_33.txt
@@ -0,0 +1,29 @@
+Delivered-To: freebsd-isp@freebsd.org
+Date: Wed, 27 Sep 2000 11:11:09 -0500
+From: Anne Person <aperson@example.com>
+To: Barney Dude <bdude@example.com>
+Subject: Re: Limiting Perl CPU Utilization...
+Mime-Version: 1.0
+Content-Type: multipart/signed; micalg*=ansi-x3.4-1968''pgp-md5;
+ protocol*=ansi-x3.4-1968''application%2Fpgp-signature;
+ boundary*="ansi-x3.4-1968''EeQfGwPcQSOJBaQU"
+Content-Disposition: inline
+Sender: owner-freebsd-isp@FreeBSD.ORG
+Precedence: bulk
+X-Loop: FreeBSD.org
+
+
+--EeQfGwPcQSOJBaQU
+Content-Type: text/plain; charset*=ansi-x3.4-1968''us-ascii
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+part 1
+
+--EeQfGwPcQSOJBaQU
+Content-Type: text/plain
+Content-Disposition: inline
+
+part 2
+
+--EeQfGwPcQSOJBaQU--
diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py
index 7df5fcc..a63adc8 100644
--- a/Lib/email/test/test_email.py
+++ b/Lib/email/test/test_email.py
@@ -1465,6 +1465,14 @@ class TestIdempotent(TestEmailBase):
msg, text = self._msgobj('msg_31.txt')
self._idempotent(msg, text)
+ def test_rfc2231_charset(self):
+ msg, text = self._msgobj('msg_32.txt')
+ self._idempotent(msg, text)
+
+ def test_more_rfc2231_parameters(self):
+ msg, text = self._msgobj('msg_33.txt')
+ self._idempotent(msg, text)
+
def test_content_type(self):
eq = self.assertEquals
unless = self.failUnless
@@ -1514,6 +1522,7 @@ class TestIdempotent(TestEmailBase):
self.failUnless(isinstance(msg1.get_payload(), StringType))
eq(msg1.get_payload(), '\n')
+
# Test various other bits of the package's functionality
class TestMiscellaneous(unittest.TestCase):
@@ -2147,6 +2156,15 @@ A very long line that must get split to something other than at the
h.append('hello', 'iso-8859-1')
eq(h, '=?iso-8859-1?q?hello?=')
+ def test_unicode_error(self):
+ raises = self.assertRaises
+ raises(UnicodeError, Header, u'[P\xf6stal]', 'us-ascii')
+ raises(UnicodeError, Header, '[P\xf6stal]', 'us-ascii')
+ h = Header()
+ raises(UnicodeError, h.append, u'[P\xf6stal]', 'us-ascii')
+ raises(UnicodeError, h.append, '[P\xf6stal]', 'us-ascii')
+ raises(UnicodeError, Header, u'\u83ca\u5730\u6642\u592b', 'iso-8859-1')
+
# Test RFC 2231 header parameters (en/de)coding
@@ -2226,6 +2244,11 @@ Do you like this message?
-Me
""")
+ def test_rfc2231_get_content_charset(self):
+ eq = self.assertEqual
+ msg = self._msgobj('msg_32.txt')
+ eq(msg.get_content_charset(), 'us-ascii')
+
def _testclasses():