diff options
| author | Aurélien Bompard <aurelien@bompard.org> | 2012-10-02 10:11:58 +0200 |
|---|---|---|
| committer | Aurélien Bompard <aurelien@bompard.org> | 2012-10-02 10:11:58 +0200 |
| commit | dc3ade6110c49ed647ee5008fe2fef0e9a6d8522 (patch) | |
| tree | 948f847a2462391bc68f4ae4c7171ebb841c92f5 /kittystore/test | |
| parent | e012672451eda6293fd6817036d4dea907f63a4c (diff) | |
| download | kittystore-dc3ade6110c49ed647ee5008fe2fef0e9a6d8522.tar.gz kittystore-dc3ade6110c49ed647ee5008fe2fef0e9a6d8522.tar.xz kittystore-dc3ade6110c49ed647ee5008fe2fef0e9a6d8522.zip | |
Fix header decoding and associated tests
Diffstat (limited to 'kittystore/test')
| -rw-r--r-- | kittystore/test/test_scrub.py | 12 | ||||
| -rw-r--r-- | kittystore/test/test_utils.py | 13 |
2 files changed, 13 insertions, 12 deletions
diff --git a/kittystore/test/test_scrub.py b/kittystore/test/test_scrub.py index 8637e97..e694be3 100644 --- a/kittystore/test/test_scrub.py +++ b/kittystore/test/test_scrub.py @@ -89,3 +89,15 @@ class TestScrubber(unittest.TestCase): u"This is a test message\r\n" u"Non-ASCII chars: r\xe9ponse fran\xe7ais \n") + def test_non_ascii_payload(self): + """Scrubber must handle non-ascii messages""" + for enc in ["utf8", "iso8859"]: + with open(get_test_file("payload-%s.txt" % enc)) as email_file: + msg = email.message_from_file(email_file) + store = Mock() + scrubber = Scrubber("testlist@example.com", msg, store) + contents = scrubber.scrub() + self.assertTrue(isinstance(contents, unicode)) + self.assertEqual(contents, u'This message contains non-ascii ' + u'characters:\n\xe9 \xe8 \xe7 \xe0 \xee \xef \xeb \u20ac\n') + diff --git a/kittystore/test/test_utils.py b/kittystore/test/test_utils.py index 46d7e72..64466b8 100644 --- a/kittystore/test/test_utils.py +++ b/kittystore/test/test_utils.py @@ -30,17 +30,6 @@ class TestUtils(unittest.TestCase): msg, "example-list", store) self.assertEqual(ref_id, None) - def test_non_ascii_payload(self): - """utils.payload_to_unicode must handle non-ascii messages""" - for enc in ["utf8", "iso8859"]: - with open(get_test_file("payload-%s.txt" % enc)) as email_file: - msg = email.message_from_file(email_file) - payload = kittystore.utils.payload_to_unicode(msg) - #print enc, repr(payload) - self.assertTrue(isinstance(payload, unicode)) - self.assertEqual(payload, u'This message contains non-ascii ' - u'characters:\n\xe9 \xe8 \xe7 \xe0 \xee \xef \xeb \u20ac\n') - def test_non_ascii_headers(self): """utils.header_to_unicode must handle non-ascii headers""" testdata = [ @@ -49,7 +38,7 @@ class TestUtils(unittest.TestCase): ("=?iso-8859-1?q?Bj=F6rn_Persson?=", u'Bj\xf6rn Persson'), ("=?UTF-8?B?TWFyY2VsYSBNYcWhbMOhxYhvdsOh?=", u'Marcela Ma\u0161l\xe1\u0148ov\xe1'), ("Dan =?ISO-8859-1?Q?Hor=E1k?=", u'Dan Hor\xe1k'), - ("=?ISO-8859-1?Q?Bj=F6rn?= Persson", u'Bj\xf6rnPersson'), + ("=?ISO-8859-1?Q?Bj=F6rn?= Persson", u'Bj\xf6rn Persson'), ("=?UTF-8?Q?Re=3A_=5BFedora=2Dfr=2Dlist=5D_Compte=2Drendu_de_la_r=C3=A9union_du_?= =?UTF-8?Q?1_novembre_2009?=", u"Re: [Fedora-fr-list] Compte-rendu de la r\xe9union du 1 novembre 2009"), ("=?iso-8859-1?q?Compte-rendu_de_la_r=E9union_du_?= =?iso-8859-1?q?1_novembre_2009?=", u"Compte-rendu de la r\xe9union du 1 novembre 2009"), ] |
