diff options
| author | tkikuchi | 2007-03-24 06:01:35 +0000 |
|---|---|---|
| committer | tkikuchi | 2007-03-24 06:01:35 +0000 |
| commit | a8b5ce78a7c5ec7c4e9dabfef37f83c153b53d36 (patch) | |
| tree | 81805fe2fffca0ae3758662dfee1e336269e7cab /Mailman/testing/test_handlers.py | |
| parent | 8b83e896dfdbf349190fc9e70a258221907b7a84 (diff) | |
| download | mailman-a8b5ce78a7c5ec7c4e9dabfef37f83c153b53d36.tar.gz mailman-a8b5ce78a7c5ec7c4e9dabfef37f83c153b53d36.tar.zst mailman-a8b5ce78a7c5ec7c4e9dabfef37f83c153b53d36.zip | |
Diffstat (limited to 'Mailman/testing/test_handlers.py')
| -rw-r--r-- | Mailman/testing/test_handlers.py | 84 |
1 files changed, 74 insertions, 10 deletions
diff --git a/Mailman/testing/test_handlers.py b/Mailman/testing/test_handlers.py index 931a7ca44..59fd4de08 100644 --- a/Mailman/testing/test_handlers.py +++ b/Mailman/testing/test_handlers.py @@ -580,6 +580,70 @@ Subject: Re: [XTEST] About Mailman... CookHeaders.process(self._mlist, msg, {}) self.assertEqual(msg['subject'], 'Re: [XTEST] About Mailman...') + def test_subject_munging_i18n(self): + self._mlist.subject_prefix = '[XTEST]' + msg = Message.Message() + msg['Subject'] = '=?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=' + CookHeaders.process(self._mlist, msg, {}) + self.assertEqual(unicode(msg['subject']), + u'[XTEST] \u30e1\u30fc\u30eb\u30de\u30f3') + self.assertEqual(msg['subject'], + '[XTEST] =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=') + self._mlist.subject_prefix = '[XTEST %d]' + self._mlist.post_id = 456 + msg = Message.Message() + msg['Subject'] = '=?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=' + CookHeaders.process(self._mlist, msg, {}) + self.assertEqual(unicode(msg['subject']), + u'[XTEST 456] \u30e1\u30fc\u30eb\u30de\u30f3') + self.assertEqual(msg['subject'], + '[XTEST 456] =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=') + msg = Message.Message() + msg['Subject' + ] = 'Re: [XTEST 123] =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=' + CookHeaders.process(self._mlist, msg, {}) + # next code suceeds if python email patch tracker #1681333 is applied. + #self.assertEqual(unicode(msg['subject']), + # u'[XTEST 456] Re: \u30e1\u30fc\u30eb\u30de\u30f3') + self.assertEqual(msg['subject'], + '[XTEST 456] Re: =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=') + + def test_subject_munging_prefix_number(self): + self._mlist.subject_prefix = '[XTEST %d]' + self._mlist.post_id = 456 + msg = Message.Message() + msg['Subject'] = 'About Mailman...' + CookHeaders.process(self._mlist, msg, {}) + self.assertEqual(msg['subject'], '[XTEST 456] About Mailman...') + msg = Message.Message() + msg['Subject'] = 'Re: [XTEST 123] About Mailman...' + CookHeaders.process(self._mlist, msg, {}) + self.assertEqual(msg['subject'], '[XTEST 456] Re: About Mailman...') + + def test_subject_munging_prefix_newstyle(self): + self._mlist.subject_prefix = '[XTEST]' + config.OLD_STYLE_PREFIXING = False + msg = Message.Message() + msg['Subject'] = 'Re: [XTEST] About Mailman...' + CookHeaders.process(self._mlist, msg, {}) + self.assertEqual(msg['subject'], '[XTEST] Re: About Mailman...') + + def test_subject_munging_prefix_crooked(self): + # In this test case, we get an extra space between the prefix and + # the original subject. It's because the original is crooked. + # Note that isubject starting by '\n ' is generated by some version of + # Eudora Japanese edition. + self._mlist.subject_prefix = '[XTEST]' + msg = Message.Message() + msg['Subject'] = '\n About Mailman...' + CookHeaders.process(self._mlist, msg, {}) + self.assertEqual(str(msg['subject']), '[XTEST] About Mailman...') + del msg['subject'] + msg['Subject'] = '\n =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=' + CookHeaders.process(self._mlist, msg, {}) + self.assertEqual(str(msg['subject']), + '[XTEST] =?iso-2022-jp?b?IBskQiVhITwlayVeJXMbKEI=?=') + def test_reply_to_list(self): eq = self.assertEqual mlist = self._mlist @@ -1609,7 +1673,7 @@ Here is message %(i)d def test_send_i18n_digest(self): eq = self.assertEqual mlist = self._mlist - mlist.preferred_language = 'fr' + mlist.preferred_language = 'fr' msg = email.message_from_string("""\ From: aperson@example.org To: _xtest@example.com @@ -1622,23 +1686,23 @@ Content-Transfer-Encoding: 7bit """) mlist.digest_size_threshhold = 0 ToDigest.process(mlist, msg, {}) - files = self._sb.files() + files = self._sb.files() eq(len(files), 2) for filebase in files: - qmsg, qdata = self._sb.dequeue(filebase) + qmsg, qdata = self._sb.dequeue(filebase) if qmsg.get_content_maintype() == 'multipart': mimemsg = qmsg mimedata = qdata else: rfc1153msg = qmsg rfc1153data = qdata - eq(rfc1153msg.get_content_type(), 'text/plain') - eq(rfc1153msg.get_content_charset(), 'utf-8') - eq(rfc1153msg['content-transfer-encoding'], 'base64') - toc = mimemsg.get_payload()[1] - eq(toc.get_content_type(), 'text/plain') - eq(toc.get_content_charset(), 'utf-8') - eq(toc['content-transfer-encoding'], 'base64') + eq(rfc1153msg.get_content_type(), 'text/plain') + eq(rfc1153msg.get_content_charset(), 'utf-8') + eq(rfc1153msg['content-transfer-encoding'], 'base64') + toc = mimemsg.get_payload()[1] + eq(toc.get_content_type(), 'text/plain') + eq(toc.get_content_charset(), 'utf-8') + eq(toc['content-transfer-encoding'], 'base64') |
