]> 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 be569c7b4c4d1b8b0537683b7f5c1397264b244e..351843259b69ab8c84012c817f349b282e55f381 100644 (file)
@@ -61,14 +61,18 @@ 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'
@@ -79,6 +83,17 @@ class UTF8InlinePatchTest(InlinePatchTest):
                              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'
     test_comment = 'Test comment\nmore comment'