comparison 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
comparison
equal deleted inserted replaced
218:934608d4fcba 219:8341f2494b3f
1 from tests import common
2 import hglib
3 from hglib.util import b
4
5 class test_merge(common.basetest):
6 def setUp(self):
7 common.basetest.setUp(self)
8
9 self.append('a', 'a')
10 rev, self.node0 = self.client.commit(b('first'), addremove=True)
11
12 self.append('a', 'a')
13 rev, self.node1 = self.client.commit(b('change'))
14
15 def test_basic(self):
16 self.client.update(self.node0)
17 self.append('b', 'a')
18 rev, node2 = self.client.commit(b('new file'), addremove=True)
19 self.client.merge(self.node1)
20 rev, node = self.client.commit(b('merge'))
21 diff = b("diff -r ") + node2[:12] + b(" -r ") + node[:12] + b(""" a
22 --- a/a
23 +++ b/a
24 @@ -1,1 +1,1 @@
25 -a
26 \ No newline at end of file
27 +aa
28 \ No newline at end of file
29 """)
30
31 self.assertEquals(diff, self.client.diff(change=node, nodates=True))
32
33 def test_merge_prompt_abort(self):
34 self.client.update(self.node0)
35 self.client.remove(b('a'))
36 self.client.commit(b('remove'))
37
38 self.assertRaises(hglib.error.CommandError, self.client.merge)
39
40 def test_merge_prompt_noninteractive(self):
41 self.client.update(self.node0)
42 self.client.remove(b('a'))
43 rev, node = self.client.commit(b('remove'))
44
45 if self.client.version >= (3, 7):
46 self.assertRaises(hglib.error.CommandError,
47 self.client.merge,
48 cb=hglib.merge.handlers.noninteractive)
49 else:
50 self.client.merge(cb=hglib.merge.handlers.noninteractive)
51
52 diff = b("diff -r ") + node[:12] + b(""" a
53 --- /dev/null
54 +++ b/a
55 @@ -0,0 +1,1 @@
56 +aa
57 \ No newline at end of file
58 """)
59 self.assertEquals(diff, self.client.diff(nodates=True))
60
61 def test_merge_prompt_cb(self):
62 self.client.update(self.node0)
63 self.client.remove(b('a'))
64 rev, node = self.client.commit(b('remove'))
65
66 def cb(output):
67 return b('c')
68
69 self.client.merge(cb=cb)
70
71 diff = b("diff -r ") + node[:12] + b(""" a
72 --- /dev/null
73 +++ b/a
74 @@ -0,0 +1,1 @@
75 +aa
76 \ No newline at end of file
77 """)
78 self.assertEquals(diff, self.client.diff(nodates=True))