From e465e7dd69c1f09ff1322424732a3668cdfd2f10 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Fri, 11 Feb 2011 08:45:51 +0800 Subject: [PATCH] tests/parser: Add subject encoding tests We should now be able to decode internationalised Subject headers, so add tests for this. Signed-off-by: Jeremy Kerr --- apps/patchwork/tests/patchparser.py | 23 +++++++++++++++++++++++ apps/patchwork/tests/utils.py | 6 ++++++ 2 files changed, 29 insertions(+) diff --git a/apps/patchwork/tests/patchparser.py b/apps/patchwork/tests/patchparser.py index ff0025a..1135a0a 100644 --- a/apps/patchwork/tests/patchparser.py +++ b/apps/patchwork/tests/patchparser.py @@ -173,6 +173,29 @@ class SenderUTF8QPSplitEncodingTest(SenderEncodingTest): class SenderUTF8B64EncodingTest(SenderUTF8QPEncodingTest): from_header = '=?utf-8?B?w6l4YW1wbGUgdXNlcg==?= ' +class SubjectEncodingTest(PatchTest): + sender = 'example user ' + 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 ' diff --git a/apps/patchwork/tests/utils.py b/apps/patchwork/tests/utils.py index a85e168..cf445aa 100644 --- a/apps/patchwork/tests/utils.py +++ b/apps/patchwork/tests/utils.py @@ -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 -- 2.39.2