annotate tests/test_template_keywords.py @ 721:af817963897e

test_template_keywords: use new requiresmodule decorator
author Augie Fackler <durin42@gmail.com>
date Mon, 04 Oct 2010 23:03:28 -0500
parents cb32d90f915e
children aa24148a7454
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
684
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
1 import test_util
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
2
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
3 import unittest
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
4
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
5 from mercurial import commands
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
6 from mercurial import ui
687
d424bd1ac647 templatekw: restore compatibility with hg < 1.5
Augie Fackler <durin42@gmail.com>
parents: 684
diff changeset
7 try:
d424bd1ac647 templatekw: restore compatibility with hg < 1.5
Augie Fackler <durin42@gmail.com>
parents: 684
diff changeset
8 from mercurial import templatekw
d424bd1ac647 templatekw: restore compatibility with hg < 1.5
Augie Fackler <durin42@gmail.com>
parents: 684
diff changeset
9 templatekw.keywords
d424bd1ac647 templatekw: restore compatibility with hg < 1.5
Augie Fackler <durin42@gmail.com>
parents: 684
diff changeset
10 except ImportError:
d424bd1ac647 templatekw: restore compatibility with hg < 1.5
Augie Fackler <durin42@gmail.com>
parents: 684
diff changeset
11 templatekw = None
684
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
12
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
13
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
14 class CapturingUI(ui.ui):
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
15
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
16 def __init__(self, *args, **kwds):
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
17 super(CapturingUI, self).__init__(*args, **kwds)
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
18 self._output = ""
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
19
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
20 def write(self, msg, *args, **kwds):
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
21 self._output += msg
8687c5aa4f35 Add svnrev, svnpath and svnuuid keyword.
Andi Albrecht <albrecht.andi@gmail.com>
parents:
diff changeset
22
721
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
23
707
cb32d90f915e templatekw: clean up implementation & test; add help.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 687
diff changeset
24 class TestLogKeywords(test_util.TestBase):
721
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
25 @test_util.requiresmodule(templatekw)
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
26 def test_svn_keywords(self):
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
27 defaults = {'date': None, 'rev': None, 'user': None}
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
28 repo = self._load_fixture_and_fetch('two_revs.svndump')
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
29
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
30 # we want one commit that isn't from Subversion
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
31 self.commitchanges([('foo', 'foo', 'frobnicate\n')])
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
32
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
33 ui = CapturingUI()
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
34 commands.log(ui, repo, template='{rev}:{svnrev} ', **defaults)
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
35 self.assertEqual(ui._output, '0:2 1:3 2: ')
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
36 ui = CapturingUI()
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
37 commands.log(ui, repo, template='{rev}:{svnpath} ', **defaults)
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
38 self.assertEqual(ui._output, '0:/trunk 1:/trunk 2: ')
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
39 ui = CapturingUI()
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
40 commands.log(ui, repo, template='{rev}:{svnuuid} ', **defaults)
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
41 self.assertEqual(ui._output,
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
42 ('0:df2126f7-00ab-4d49-b42c-7e981dde0bcf '
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
43 '1:df2126f7-00ab-4d49-b42c-7e981dde0bcf '
af817963897e test_template_keywords: use new requiresmodule decorator
Augie Fackler <durin42@gmail.com>
parents: 707
diff changeset
44 '2: '))
687
d424bd1ac647 templatekw: restore compatibility with hg < 1.5
Augie Fackler <durin42@gmail.com>
parents: 684
diff changeset
45
d424bd1ac647 templatekw: restore compatibility with hg < 1.5
Augie Fackler <durin42@gmail.com>
parents: 684
diff changeset
46
707
cb32d90f915e templatekw: clean up implementation & test; add help.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 687
diff changeset
47 def suite():
cb32d90f915e templatekw: clean up implementation & test; add help.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 687
diff changeset
48 all = [unittest.TestLoader().loadTestsFromTestCase(TestLogKeywords),]
cb32d90f915e templatekw: clean up implementation & test; add help.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 687
diff changeset
49 return unittest.TestSuite(all)