20
20
from bzrlib.selftest import TestCaseInTempDir
21
21
from bzrlib.branch import Branch
22
22
from bzrlib.commit import Commit
23
from bzrlib.conflicts import restore
24
from bzrlib.errors import NotConflicted
25
26
# TODO: Test commit with some added, and added-but-missing files
29
30
def test_conflicts(self):
30
31
"""Conflicts are detected properly"""
31
32
b = Branch.initialize('.')
32
file('hello', 'w').write('hello world')
33
file('hello.BASE', 'w').write('hello world')
33
file('hello', 'w').write('hello world4')
34
file('hello.THIS', 'w').write('hello world2')
35
file('hello.BASE', 'w').write('hello world1')
36
file('hello.OTHER', 'w').write('hello world3')
34
37
file('hello.sploo.BASE', 'w').write('yellow world')
38
file('hello.sploo.OTHER', 'w').write('yellow world2')
35
39
tree = b.working_tree()
36
self.assertEqual(len(list(tree.list_files())), 3)
40
self.assertEqual(len(list(tree.list_files())), 6)
37
41
conflicts = list(tree.iter_conflicts())
38
42
self.assertEqual(len(conflicts), 2)
39
43
self.assert_('hello' in conflicts)
40
44
self.assert_('hello.sploo' in conflicts)
41
os.unlink('hello.BASE')
42
os.unlink('hello.sploo.BASE')
46
restore('hello.sploo')
43
47
self.assertEqual(len(list(tree.iter_conflicts())), 0)
48
self.assertFileEqual('hello world2', 'hello')
49
assert not os.path.lexists('hello.sploo')
50
self.assertRaises(NotConflicted, restore, 'hello')
51
self.assertRaises(NotConflicted, restore, 'hello.sploo')