diff tests/test_template_keywords.py @ 684:8687c5aa4f35

Add svnrev, svnpath and svnuuid keyword. Based on a patch by Wagner Bruna posted here: http://groups.google.com/group/hgsubversion/browse_thread/thread/b3913337e021ab18
author Andi Albrecht <albrecht.andi@gmail.com>
date Thu, 02 Sep 2010 21:30:17 +0200
parents
children d424bd1ac647
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/tests/test_template_keywords.py
@@ -0,0 +1,39 @@
+import test_util
+
+import unittest
+
+from mercurial import commands
+from mercurial import ui
+
+
+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):
+
+    def test_svn_keywords(self):
+        defaults = {'date': None, 'rev': None, 'user': None}
+        repo = self._load_fixture_and_fetch('two_revs.svndump')
+        ui = CapturingUI()
+        commands.log(ui, repo, template='{rev}:{svnrev} ', **defaults)
+        self.assertEqual(ui._output, '0:2 1:3 ')
+        ui = CapturingUI()
+        commands.log(ui, repo, template='{rev}:{svnpath} ', **defaults)
+        self.assertEqual(ui._output, '0:/trunk 1:/trunk ')
+        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 '))
+
+
+def suite():
+    all = [unittest.TestLoader().loadTestsFromTestCase(TestLogKeywords),]
+    return unittest.TestSuite(all)