29
29
from bzrlib.uncommit import uncommit
32
class TestEntryDiffing(TestCaseWithTree):
35
super(TestEntryDiffing, self).setUp()
36
self.wt = self.make_branch_and_tree('.')
37
self.branch = self.wt.branch
38
open('file', 'wb').write('foo\n')
39
open('binfile', 'wb').write('foo\n')
40
self.wt.add(['file'], ['fileid'])
41
self.wt.add(['binfile'], ['binfileid'])
43
os.symlink('target1', 'symlink')
44
self.wt.add(['symlink'], ['linkid'])
45
self.wt.commit('message_1', rev_id = '1')
46
open('file', 'wb').write('bar\n')
47
open('binfile', 'wb').write('x' * 1023 + '\x00\n')
50
os.symlink('target2', 'symlink')
51
self.tree_1 = self.branch.repository.revision_tree('1')
52
self.inv_1 = self.branch.repository.get_inventory('1')
53
self.file_1 = self.inv_1['fileid']
54
self.file_1b = self.inv_1['binfileid']
55
self.tree_2 = self.workingtree_to_test_tree(self.wt)
56
self.tree_2.lock_read()
57
self.addCleanup(self.tree_2.unlock)
58
self.inv_2 = self.tree_2.inventory
59
self.file_2 = self.inv_2['fileid']
60
self.file_2b = self.inv_2['binfileid']
62
self.link_1 = self.inv_1['linkid']
63
self.link_2 = self.inv_2['linkid']
65
def test_file_diff_deleted(self):
67
self.applyDeprecated(one_zero,
70
"old_label", self.tree_1,
71
"/dev/null", None, None,
73
self.assertEqual(output.getvalue(), "--- old_label\n"
79
def test_file_diff_added(self):
81
self.applyDeprecated(one_zero,
84
"new_label", self.tree_1,
85
"/dev/null", None, None,
87
self.assertEqual(output.getvalue(), "--- /dev/null\n"
93
def test_file_diff_changed(self):
95
self.applyDeprecated(one_zero,
98
"/dev/null", self.tree_1,
99
"new_label", self.file_2, self.tree_2,
101
self.assertEqual(output.getvalue(), "--- /dev/null\n"
108
def test_file_diff_binary(self):
110
self.applyDeprecated(one_zero,
113
"/dev/null", self.tree_1,
114
"new_label", self.file_2b, self.tree_2,
116
self.assertEqual(output.getvalue(),
117
"Binary files /dev/null and new_label differ\n")
119
def test_link_diff_deleted(self):
120
self.requireFeature(SymlinkFeature)
122
self.applyDeprecated(one_zero,
124
internal_diff, "old_label",
125
self.tree_1, "/dev/null", None, None,
127
self.assertEqual(output.getvalue(),
128
"=== target was 'target1'\n")
130
def test_link_diff_added(self):
131
self.requireFeature(SymlinkFeature)
133
self.applyDeprecated(one_zero,
136
"new_label", self.tree_1,
137
"/dev/null", None, None,
138
output, reverse=True)
139
self.assertEqual(output.getvalue(),
140
"=== target is 'target1'\n")
142
def test_link_diff_changed(self):
143
self.requireFeature(SymlinkFeature)
145
self.applyDeprecated(one_zero,
148
"/dev/null", self.tree_1,
149
"new_label", self.link_2, self.tree_2,
151
self.assertEqual(output.getvalue(),
152
"=== target changed 'target1' => 'target2'\n")
155
32
class TestPreviousHeads(TestCaseWithTree):