From 61971193bbaf7c7572a07cbb08add0c04be5ad55 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Tue, 13 Jan 2015 15:23:03 +0100 Subject: Fixed ignoring charset on mail content type when parsing mails. --- service/test/unit/adapter/mail_test.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'service/test/unit') diff --git a/service/test/unit/adapter/mail_test.py b/service/test/unit/adapter/mail_test.py index 9dc54e66..be7b731d 100644 --- a/service/test/unit/adapter/mail_test.py +++ b/service/test/unit/adapter/mail_test.py @@ -171,6 +171,17 @@ class TestPixelatedMail(unittest.TestCase): self.assertRegexpMatches(mail.text_plain_body, '([\s\S]*100%)') self.assertRegexpMatches(mail.html_body, '([\s\S]*100%)') + def test_content_type_header_of_mail_part_is_used(self): + plain_headers = {'Content-Type': 'text/plain; charset=utf-8', 'Content-Transfer-Encoding': 'quoted-printable'} + html_headers = {'Content-Type': 'text/html; charset=utf-8', 'Content-Transfer-Encoding': 'quoted-printable'} + parts = {'alternatives': [{'content': 'H=C3=A4llo', 'headers': plain_headers}, {'content': '

H=C3=A4llo

', 'headers': html_headers}]} + + mail = PixelatedMail.from_soledad(None, None, self._create_bdoc(raw='some raw body'), parts=parts, soledad_querier=None) + + self.assertEqual(2, len(mail.alternatives)) + self.assertEquals(u'H\xe4llo', mail.text_plain_body) + self.assertEquals(u'

H\xe4llo

', mail.html_body) + def test_clean_line_breaks_on_address_headers(self): many_recipients = 'One ,\nTwo , Normal ,\nalone@mail.com' headers = {'Cc': many_recipients, -- cgit v1.2.3