Commits

Augie Fackler committed 8caf122

test_template_keywords: handle changeset output ordering change in hg 3.0

hg change 69402eb72115 caused commands.log to produce a more sensible
ordering for this log invocation (namely, it now matches the graphlog
ordering). In order to portably test across hg versions, use graphlog
output to test these keyword functions.

Comments (0)

Files changed (1)

tests/test_template_keywords.py

 class TestLogKeywords(test_util.TestBase):
     @test_util.requiresmodule(templatekw)
     def test_svn_keywords(self):
-        defaults = {'date': None, 'rev': None, 'user': None}
+        defaults = {'date': None, 'rev': None, 'user': None, 'graph': True}
         repo = self._load_fixture_and_fetch('two_revs.svndump')
 
         # we want one commit that isn't from Subversion
         self.commitchanges([('foo', 'foo', 'frobnicate\n')])
 
         ui = CapturingUI()
-        commands.log(ui, repo, template='{rev}:{svnrev} ', **defaults)
-        self.assertEqual(ui._output, '0:2 1:3 2: ')
-        ui = CapturingUI()
-        commands.log(ui, repo, template='{rev}:{svnpath} ', **defaults)
-        self.assertEqual(ui._output, '0:/trunk 1:/trunk 2: ')
-        ui = CapturingUI()
-        commands.log(ui, repo, template='{rev}:{svnuuid} ', **defaults)
-        self.assertEqual(ui._output,
-                         ('0:df2126f7-00ab-4d49-b42c-7e981dde0bcf '
-                          '1:df2126f7-00ab-4d49-b42c-7e981dde0bcf '
-                          '2: '))
+        commands.log(ui, repo, template=('  rev: {rev} svnrev:{svnrev} '
+                                         'svnpath:{svnpath} svnuuid:{svnuuid}\n'),
+                     **defaults)
+        print ui._output
+        self.assertEqual(ui._output.strip(), '''
+  rev: 2 svnrev: svnpath: svnuuid:
+@
+|
+  rev: 1 svnrev:3 svnpath:/trunk svnuuid:df2126f7-00ab-4d49-b42c-7e981dde0bcf
+o
+|
+  rev: 0 svnrev:2 svnpath:/trunk svnuuid:df2126f7-00ab-4d49-b42c-7e981dde0bcf
+o
+'''.strip())
 
     @test_util.requiresmodule(revset)
     @test_util.requiresmodule(templatekw)