X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tests%2Ftestirker.py;h=765e19d1396cdb1c31ceba8590186d5418de03e1;hb=8cd1b16a02c99132d2383ade0b3d7da43fe73054;hp=8bec6d0d065955ae1035b67ec09bbea634062c6c;hpb=6a73fedeef5fea9b643fa5f7a47f4b161c6cf5de;p=bzrirker.git diff --git a/tests/testirker.py b/tests/testirker.py index 8bec6d0..765e19d 100644 --- a/tests/testirker.py +++ b/tests/testirker.py @@ -15,3 +15,60 @@ from bzrlib.plugins.bzrirker.irkerhook import IrkerSender def test_suite(): return TestLoader().loadTestsFromName(__name__) + +sample_config=("[DEFAULT]\n" + "irker_project=bzrirker\n" + "irker_channels=irc://chat.example.test/commits\n") + +colour_config=("[DEFAULT]\n" + "irker_project=bzrirker\n" + "irker_colours=mIRC\n" + "irker_channels=irc://chat.example.test/commits\n") + + +class TestConfigured(TestCaseInTempDir): + + def test_no_colours(self): + irker = self.get_irker() + self.assertEqual({ + 'bold': '', 'green': '', 'blue': '', 'red': '', + 'yellow': '', 'brown': '', 'magenta': '', 'cyan': '', + 'reset': ''}, irker.colours()) + + def test_colours(self): + irker = self.get_irker(colour_config) + self.assertEqual({ + 'bold': '\x02', 'green': '\x0303', 'blue': '\x0302', + 'red': '\x0305', 'yellow': '\x0307', 'brown': '\x0305', + 'magenta': '\x0306', 'cyan': '\x0310', 'reset': '\x0F'}, + irker.colours()) + + def test_message(self): + irker = self.get_irker() + self.assertEqual( + 'bzrirker: Sample work * 1 / : foo bar ', + irker._format()) + + def test_message_colour(self): + irker = self.get_irker(colour_config) + self.assertEqual( + '\x02bzrirker:\x0f \x0303Sample \x0f' + ' work * \x021\x0f / \x02\x0f: foo bar ', irker._format()) + + + def get_irker(self, text=sample_config): + my_config = config.MemoryStack(text) + self.branch = BzrDir.create_branch_convenience('.') + tree = self.branch.bzrdir.open_workingtree() + tree.commit('foo bar\nfuzzy\nwuzzy', rev_id='A', + allow_pointless=True, + timestamp=1, + timezone=0, + committer="Sample ", + ) + irker = IrkerSender(self.branch, 'A', my_config) + # We're not calling send, so do the setup stuff here + irker._setup_revision_and_revno() + return irker + +