def test_update_tags_return_a_set_for_current_tags_and_a_set_for_removed(self):
     pixelated_mail = PixelatedMail.from_leap_mail(
         test_helper.leap_mail(leap_flags=[], extra_flags=["tag_custom_1", "tag_custom_2"])
     )
     current_tags, removed_tags = pixelated_mail.update_tags(set([Tag("custom_1"), Tag("custom_3")]))
     self.assertEquals(set([Tag("custom_3"), Tag("custom_1")]), current_tags)
     self.assertEquals(set([Tag("custom_2")]), removed_tags)
 def test_non_tags_flags_are_ignored(self):
     pixelated_mail = PixelatedMail.from_leap_mail(
         test_helper.leap_mail(leap_flags=["\\Recent"], extra_flags=["this_is_not_a_tag", "tag_custom_tag"])
     )
     self.assertEquals(set([Tag("custom_tag"), Tag("inbox")]), pixelated_mail.tags)
 def test_leap_flags_that_are_custom_tags_are_handled(self):
     pixelated_mail = PixelatedMail.from_leap_mail(test_helper.leap_mail(extra_flags=["tag_work"]))
     self.assertIn(Tag("work"), pixelated_mail.tags)
 def test_custom_tags_containing_our_prefix_are_handled(self):
     pixelated_mail = PixelatedMail.from_leap_mail(test_helper.leap_mail(extra_flags=["tag_tag_work_tag_"]))
     self.assertIn(Tag("tag_work_tag_"), pixelated_mail.tags)
 def test_leap_draft_flag_is_translated_to_draft_tag(self):
     pixelated_mail = PixelatedMail.from_leap_mail(test_helper.leap_mail(leap_flags=["\\Draft"]))
     self.assertIn(Tag("drafts"), pixelated_mail.tags)
 def test_leap_deleted_flag_is_translated_to_trash_tag(self):
     pixelated_mail = PixelatedMail.from_leap_mail(test_helper.leap_mail(leap_flags=["\\Deleted"]))
     self.assertIn(Tag("trash"), pixelated_mail.tags)
 def test_leap_recent_flag_is_translated_to_inbox_tag(self):
     pixelated_mail = PixelatedMail.from_leap_mail(test_helper.leap_mail(leap_flags=["\\Recent"]))
     self.assertIn(Tag("inbox"), pixelated_mail.tags)
 def mail(self, mail_id):
     for message in self.leap_mailbox.messages:
         if message.getUID() == int(mail_id):
             return PixelatedMail.from_leap_mail(message)
 def mails(self):
     mails = self.leap_mailbox.messages or []
     mails = [PixelatedMail.from_leap_mail(mail) for mail in mails]
     return mails