]> git.ozlabs.org Git - patchwork/commitdiff
tests/parser: Add subject encoding tests
authorJeremy Kerr <jk@ozlabs.org>
Fri, 11 Feb 2011 00:45:51 +0000 (08:45 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Fri, 11 Feb 2011 00:46:53 +0000 (08:46 +0800)
We should now be able to decode internationalised Subject headers, so
add tests for this.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
apps/patchwork/tests/patchparser.py
apps/patchwork/tests/utils.py

index ff0025aab9284d7bd432177d7b34c34c088ebcc2..1135a0a57b9f9b795d2d882b76e5bdb89cf5cae6 100644 (file)
@@ -173,6 +173,29 @@ class SenderUTF8QPSplitEncodingTest(SenderEncodingTest):
 class SenderUTF8B64EncodingTest(SenderUTF8QPEncodingTest):
     from_header = '=?utf-8?B?w6l4YW1wbGUgdXNlcg==?= <user@example.com>'
 
+class SubjectEncodingTest(PatchTest):
+    sender = 'example user <user@example.com>'
+    subject = 'test subject'
+    subject_header = 'test subject'
+
+    def setUp(self):
+        mail = 'From: %s\n' % self.sender + \
+               'Subject: %s\n\n' % self.subject_header + \
+               'test\n\n' + defaults.patch
+        self.projects = defaults.project
+        self.email = message_from_string(mail)
+
+    def testSubjectEncoding(self):
+        (patch, comment) = find_content(self.project, self.email)
+        self.assertEquals(patch.name, self.subject)
+
+class SubjectUTF8QPEncodingTest(SubjectEncodingTest):
+    subject = u'test s\xfcbject'
+    subject_header = '=?utf-8?q?test=20s=c3=bcbject?='
+
+class SubjectUTF8QPMultipleEncodingTest(SubjectEncodingTest):
+    subject = u'test s\xfcbject'
+    subject_header = 'test =?utf-8?q?s=c3=bcbject?='
 
 class SenderCorrelationTest(unittest.TestCase):
     existing_sender = 'Existing Sender <existing@example.com>'
index a85e168d38753667f4fed458132414ac0c4034f8..cf445aa27105ce073611eeff0c5e6ee0d5f8e146 100644 (file)
@@ -50,6 +50,12 @@ class defaults(object):
 
     patch_name = 'Test Patch'
 
+    patch = """--- /dev/null   2011-01-01 00:00:00.000000000 +0800
++++ a  2011-01-01 00:00:00.000000000 +0800
+@@ -0,0 +1 @@
++a
+"""
+
 _user_idx = 1
 def create_user():
     global _user_idx