summaryrefslogtreecommitdiffstats
path: root/kittystore/test
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2012-10-02 10:11:58 +0200
committerAurélien Bompard <aurelien@bompard.org>2012-10-02 10:11:58 +0200
commitdc3ade6110c49ed647ee5008fe2fef0e9a6d8522 (patch)
tree948f847a2462391bc68f4ae4c7171ebb841c92f5 /kittystore/test
parente012672451eda6293fd6817036d4dea907f63a4c (diff)
downloadkittystore-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.py12
-rw-r--r--kittystore/test/test_utils.py13
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"),
]