X-Git-Url: https://git.sommitrealweird.co.uk/eoc.git/blobdiff_plain/0f7cd8b5551e2ec4333cb10561375872dd7e03d3..HEAD:/eocTests.py diff --git a/eocTests.py b/eocTests.py index acf99b3..ca60797 100644 --- a/eocTests.py +++ b/eocTests.py @@ -244,6 +244,30 @@ class DotDirTestCases(unittest.TestCase): mlm = eoc.MailingListManager(DOTDIR) self.dotdir_is_ok() + +class RemoveSomeHeadersTest(unittest.TestCase): + + def testRemoveSomeHeaders(self): + mlm = eoc.MailingListManager(DOTDIR) + ml = eoc.MailingList(mlm, "list@example.com") + mail = """\ +Header-1: this is a simple header +Header-2: this + is + a + complex header with a colon: yes it is +Header-3: odd numbered headers are simple + +Body. +""" + mail2 = ml.remove_some_headers(mail, ["Header-2"]) + self.failUnlessEqual(mail2, """\ +Header-1: this is a simple header +Header-3: odd numbered headers are simple + +Body. +""") + class ListBase(unittest.TestCase): def setUp(self): @@ -332,6 +356,7 @@ class ListOptionTestCases(ListBase): "ignore-bounce": "no", "language": "", "pristine-headers": "", + "subject-prefix": "", }) def testChangeOptions(self): @@ -358,6 +383,7 @@ class ListOptionTestCases(ListBase): "ignore-bounce": "no", "language": "", "pristine-headers": "", + "subject-prefix": "", }) class SubscriberDatabaseTestCases(ListBase): @@ -416,6 +442,33 @@ class SubscriberDatabaseTestCases(ListBase): subs.sort() self.failUnlessEqual(subs, addrs) + def testSubjectPrefix(self): + ml = self.mlm.create_list("prefix@example.com") + ml.cp.set("list", "subject-prefix", "[test]") + ml.save_config() + + self.failUnlessEqual(ml.cp.get("list", "subject-prefix"), "[test]") + + mail = """\ +To: test@example.com +From: test2@example.com +Subject: testing whether the subject prefix works +Precedence: bulk + +Body. +""" + prefixed_mail = ml.add_subject_prefix(mail) + + self.failUnlessEqual(prefixed_mail, """\ +To: test@example.com +From: test2@example.com +Subject: [test] testing whether the subject prefix works +Precedence: bulk + +Body. +""") + + class ModerationBoxTestCases(ListBase): def testModerationBox(self):