Mercurial > hgsubversion
view tests/test_template_keywords.py @ 1500:f75c1d112793
tox: give up on Mercurial older than 3.2
Mercurial 3.2 is from November of 2014, and there's a more recent
Ubuntu LTS release than 2014 now available. Debian stable has 3.1, but
the backports get users up to 3.7.x, so I'm comfortable just letting
these older versions of hg be broken.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sun, 12 Feb 2017 18:31:47 -0500 |
parents | 8caf1226adec |
children |
line wrap: on
line source
import test_util import unittest from mercurial import commands from mercurial import error from mercurial import ui try: from mercurial import templatekw templatekw.keywords except ImportError: templatekw = None try: from mercurial import revset revset.methods except ImportError: revset = None class CapturingUI(ui.ui): def __init__(self, *args, **kwds): super(CapturingUI, self).__init__(*args, **kwds) self._output = "" def write(self, msg, *args, **kwds): self._output += msg class TestLogKeywords(test_util.TestBase): @test_util.requiresmodule(templatekw) def test_svn_keywords(self): 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: {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) def test_svn_revsets(self): repo = self._load_fixture_and_fetch('two_revs.svndump') # we want one commit that isn't from Subversion self.commitchanges([('foo', 'foo', 'frobnicate\n')]) defaults = {'date': None, 'rev': ['fromsvn()'], 'user': None} ui = CapturingUI() commands.log(ui, repo, template='{rev}:{svnrev} ', **defaults) self.assertEqual(ui._output, '0:2 1:3 ') defaults = {'date': None, 'rev': ['svnrev(2)'], 'user': None} ui = CapturingUI() commands.log(ui, repo, template='{rev}:{svnrev} ', **defaults) self.assertEqual(ui._output, '0:2 ') defaults = {'date': None, 'rev': ['fromsvn(1)'], 'user': None} self.assertRaises(error.ParseError, commands.log, self.ui(), repo, template='{rev}:{svnrev} ', **defaults) defaults = {'date': None, 'rev': ['svnrev(1, 2)'], 'user': None} self.assertRaises(error.ParseError, commands.log, self.ui(), repo, template='{rev}:{svnrev} ', **defaults)