]> git.ozlabs.org Git - patchwork/blobdiff - apps/patchwork/tests/patchparser.py
[parser] Handle patches with no content charset defined
[patchwork] / apps / patchwork / tests / patchparser.py
index 649da0a2f684f5ed3face1da5ffd968702afc76b..351843259b69ab8c84012c817f349b282e55f381 100644 (file)
@@ -61,14 +61,38 @@ class InlinePatchTest(PatchTest):
 class AttachmentPatchTest(InlinePatchTest):
     patch_filename = '0001-add-line.patch'
     test_comment = 'Test for attached patch'
+    content_subtype = 'x-patch'
 
     def setUp(self):
         self.orig_patch = read_patch(self.patch_filename)
         email = create_email(self.test_comment, multipart = True)
-        attachment = MIMEText(self.orig_patch, _subtype = 'x-patch')
+        attachment = MIMEText(self.orig_patch, _subtype = self.content_subtype)
         email.attach(attachment)
         (self.patch, self.comment) = find_content(self.project, email)
 
+class AttachmentXDiffPatchTest(AttachmentPatchTest):
+    content_subtype = 'x-diff'
+
+class UTF8InlinePatchTest(InlinePatchTest):
+    patch_filename = '0002-utf-8.patch'
+    patch_encoding = 'utf-8'
+
+    def setUp(self):
+        self.orig_patch = read_patch(self.patch_filename, self.patch_encoding)
+        email = create_email(self.test_comment + '\n' + self.orig_patch,
+                             content_encoding = self.patch_encoding)
+        (self.patch, self.comment) = find_content(self.project, email)
+
+class NoCharsetInlinePatchTest(InlinePatchTest):
+    """ Test mails with no content-type or content-encoding header """
+    patch_filename = '0001-add-line.patch'
+
+    def setUp(self):
+        self.orig_patch = read_patch(self.patch_filename)
+        email = create_email(self.test_comment + '\n' + self.orig_patch)
+        del email['Content-Type']
+        del email['Content-Transfer-Encoding']
+        (self.patch, self.comment) = find_content(self.project, email)
 
 class SignatureCommentTest(InlinePatchTest):
     patch_filename = '0001-add-line.patch'
@@ -162,8 +186,6 @@ class SenderCorrelationTest(unittest.TestCase):
         (self.person, new) = find_author(self.existing_sender_mail)
         self.person.save()
 
-        print Person.objects.all()
-
     def testExisingSender(self):
         (person, new) = find_author(self.existing_sender_mail)
         self.assertEqual(new, False)