view tests/test_diff.py @ 1414:99bc6003ac56

maps: add the "exists" method to RevMap This is a part of the bigger plan to get rid of reading or writing rev_map directly without going through the RevMap class. Before this patch, there is no easy way to know if the RevMap file exists or not, so the revset functions "fromsvn" and "svnrev" choose to read the rev_map file directly, and throw an exception if the file does not exist. This patch adds the "exists" method that will be used in svnmeta next patch, so these revset functions can test if the file exists without reading the rev_map file directly.
author Jun Wu <quark@fb.com>
date Fri, 13 May 2016 23:19:15 +0100
parents c6b01fd34694
children
line wrap: on
line source

import test_util

import unittest

from mercurial import ui

from hgsubversion import wrappers

expected_diff_output = '''Index: alpha
===================================================================
--- alpha\t(revision 3)
+++ alpha\t(working copy)
@@ -1,1 +1,3 @@
-file: alpha
+alpha
+
+added line
Index: foo
===================================================================
new file mode 100644
--- foo\t(revision 0)
+++ foo\t(working copy)
@@ -0,0 +1,1 @@
+This is missing a newline.
\ No newline at end of file
'''

class DiffTests(test_util.TestBase):
    def test_diff_output(self):
        self._load_fixture_and_fetch('two_revs.svndump')
        self.commitchanges([('foo', 'foo', 'This is missing a newline.'),
                            ('alpha', 'alpha', 'alpha\n\nadded line\n'),
                            ])
        u = test_util.testui()
        u.pushbuffer()
        wrappers.diff(lambda x, y, z: None, u, self.repo, svn=True)
        self.assertEqual(u.popbuffer(), expected_diff_output)