Mercurial > public > mercurial-scm > python-hglib
diff tests/test_merge.py @ 219:8341f2494b3f
hglib tests: migrate away from (unmaintained) nose
author | Mathias De Mare <mathias.de_mare@nokia.com> |
---|---|
date | Wed, 08 Mar 2023 17:04:58 +0100 |
parents | tests/test-merge.py@8c4d24b58c23 |
children | a2afbf236ca8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_merge.py Wed Mar 08 17:04:58 2023 +0100 @@ -0,0 +1,78 @@ +from tests import common +import hglib +from hglib.util import b + +class test_merge(common.basetest): + def setUp(self): + common.basetest.setUp(self) + + self.append('a', 'a') + rev, self.node0 = self.client.commit(b('first'), addremove=True) + + self.append('a', 'a') + rev, self.node1 = self.client.commit(b('change')) + + def test_basic(self): + self.client.update(self.node0) + self.append('b', 'a') + rev, node2 = self.client.commit(b('new file'), addremove=True) + self.client.merge(self.node1) + rev, node = self.client.commit(b('merge')) + diff = b("diff -r ") + node2[:12] + b(" -r ") + node[:12] + b(""" a +--- a/a ++++ b/a +@@ -1,1 +1,1 @@ +-a +\ No newline at end of file ++aa +\ No newline at end of file +""") + + self.assertEquals(diff, self.client.diff(change=node, nodates=True)) + + def test_merge_prompt_abort(self): + self.client.update(self.node0) + self.client.remove(b('a')) + self.client.commit(b('remove')) + + self.assertRaises(hglib.error.CommandError, self.client.merge) + + def test_merge_prompt_noninteractive(self): + self.client.update(self.node0) + self.client.remove(b('a')) + rev, node = self.client.commit(b('remove')) + + if self.client.version >= (3, 7): + self.assertRaises(hglib.error.CommandError, + self.client.merge, + cb=hglib.merge.handlers.noninteractive) + else: + self.client.merge(cb=hglib.merge.handlers.noninteractive) + + diff = b("diff -r ") + node[:12] + b(""" a +--- /dev/null ++++ b/a +@@ -0,0 +1,1 @@ ++aa +\ No newline at end of file +""") + self.assertEquals(diff, self.client.diff(nodates=True)) + + def test_merge_prompt_cb(self): + self.client.update(self.node0) + self.client.remove(b('a')) + rev, node = self.client.commit(b('remove')) + + def cb(output): + return b('c') + + self.client.merge(cb=cb) + + diff = b("diff -r ") + node[:12] + b(""" a +--- /dev/null ++++ b/a +@@ -0,0 +1,1 @@ ++aa +\ No newline at end of file +""") + self.assertEquals(diff, self.client.diff(nodates=True))