202
202
self.assertEquals(our_lock.peek(), None)
205
t = self.get_transport()
207
dir = bzrdir.BzrDirMetaFormat1().initialize(url)
208
repo = dir.create_repository()
209
branch = dir.create_branch()
210
return workingtree.WorkingTreeFormat3().initialize(dir)
204
def create_format2_tree(self, url):
205
return BzrDir.create_standalone_workingtree(url)
212
def test_conflicts(self):
213
from bzrlib.tests.test_conflicts import example_conflicts
214
tree = self.make_tree()
215
tree.set_conflict_lines(example_conflicts)
216
tree2 = WorkingTree.open('.')
217
self.assertEqual(list(tree2.conflict_lines()), example_conflicts)
218
tree2._control_files.put('conflicts', StringIO(''))
219
self.assertRaises(errors.ConflictFormatError,
220
tree2.conflict_lines)
221
tree2._control_files.put('conflicts', StringIO('a'))
222
self.assertRaises(errors.ConflictFormatError,
223
tree2.conflict_lines)
207
def test_conflict_lines_format2(self):
208
# test backwards compatability
209
tree = self.create_format2_tree('.')
210
self.assertRaises(errors.UnsupportedOperation, tree.set_conflict_lines,
212
file('lala.BASE', 'wb').write('labase')
213
expected = ('contents conflict', None, 'lala')
214
self.assertEqual(list(tree.conflict_lines()), [expected])
215
file('lala', 'wb').write('la')
216
tree.add('lala', 'lala-id')
217
expected = ('contents conflict', 'lala-id', 'lala')
218
self.assertEqual(list(tree.conflict_lines()), [expected])
219
file('lala.THIS', 'wb').write('lathis')
220
file('lala.OTHER', 'wb').write('laother')
221
# When "text conflict"s happen, stem, THIS and OTHER are text
222
expected = ('text conflict', 'lala-id', 'lala')
223
self.assertEqual(list(tree.conflict_lines()), [expected])
224
os.unlink('lala.OTHER')
225
os.mkdir('lala.OTHER')
226
expected = ('contents conflict', 'lala-id', 'lala')
227
self.assertEqual(list(tree.conflict_lines()), [expected])