67
67
class TestCaseWithTree(TestCaseWithBzrDir):
69
def make_branch_and_tree(self, relpath, format=None):
70
made_control = self.make_bzrdir(relpath, format=format)
69
def make_branch_and_tree(self, relpath):
70
made_control = self.make_bzrdir(relpath, format=
71
self.workingtree_format._matchingbzrdir)
71
72
made_control.create_repository()
72
73
made_control.create_branch()
73
74
return self.workingtree_format.initialize(made_control)
75
def get_tree_no_parents_no_content(self):
76
# make a working tree with the right shape
77
tree = self.make_branch_and_tree('.')
76
def _convert_tree(self, tree, converter=None):
77
"""helper to convert using the converter or a supplied one."""
78
78
# convert that to the final shape
79
return self.workingtree_to_test_tree(tree)
80
converter = self.workingtree_to_test_tree
81
return converter(tree)
83
def get_tree_no_parents_no_content(self, empty_tree, converter=None):
84
"""Make a tree with no parents and no contents from empty_tree.
86
:param empty_tree: A working tree with no content and no parents to
89
return self._convert_tree(empty_tree, converter)
81
91
def _make_abc_tree(self, tree):
82
92
"""setup an abc content tree."""
84
94
self.build_tree(files, transport=tree.bzrdir.root_transport)
85
95
tree.add(files, ['a-id', 'b-id', 'c-id'])
87
def get_tree_no_parents_abc_content(self):
97
def get_tree_no_parents_abc_content(self, tree, converter=None):
88
98
"""return a test tree with a, b/, b/c contents."""
89
tree = self.make_branch_and_tree('.')
90
99
self._make_abc_tree(tree)
91
return self.workingtree_to_test_tree(tree)
100
return self._convert_tree(tree, converter)
93
def get_tree_no_parents_abc_content_2(self):
102
def get_tree_no_parents_abc_content_2(self, tree, converter=None):
94
103
"""return a test tree with a, b/, b/c contents.
96
105
This variation changes the content of 'a' to foobar\n.
98
tree = self.make_branch_and_tree('.')
99
107
self._make_abc_tree(tree)
100
108
f = open(tree.basedir + '/a', 'wb')
102
110
f.write('foobar\n')
105
return self.workingtree_to_test_tree(tree)
113
return self._convert_tree(tree, converter)
107
def get_tree_no_parents_abc_content_3(self):
115
def get_tree_no_parents_abc_content_3(self, tree, converter=None):
108
116
"""return a test tree with a, b/, b/c contents.
110
118
This variation changes the executable flag of b/c to True.
112
tree = self.make_branch_and_tree('.')
113
120
self._make_abc_tree(tree)
114
121
tt = transform.TreeTransform(tree)
115
122
trans_id = tt.trans_id_tree_path('b/c')
116
123
tt.set_executability(True, trans_id)
118
return self.workingtree_to_test_tree(tree)
125
return self._convert_tree(tree, converter)
120
def get_tree_no_parents_abc_content_4(self):
127
def get_tree_no_parents_abc_content_4(self, tree, converter=None):
121
128
"""return a test tree with d, b/, b/c contents.
123
130
This variation renames a to d.
125
tree = self.make_branch_and_tree('.')
126
132
self._make_abc_tree(tree)
127
133
tree.rename_one('a', 'd')
128
return self.workingtree_to_test_tree(tree)
134
return self._convert_tree(tree, converter)
130
def get_tree_no_parents_abc_content_5(self):
136
def get_tree_no_parents_abc_content_5(self, tree, converter=None):
131
137
"""return a test tree with d, b/, b/c contents.
133
139
This variation renames a to d and alters its content to 'bar\n'.
135
tree = self.make_branch_and_tree('.')
136
141
self._make_abc_tree(tree)
137
142
tree.rename_one('a', 'd')
138
143
f = open(tree.basedir + '/d', 'wb')
143
return self.workingtree_to_test_tree(tree)
148
return self._convert_tree(tree, converter)
145
def get_tree_no_parents_abc_content_6(self):
150
def get_tree_no_parents_abc_content_6(self, tree, converter=None):
146
151
"""return a test tree with a, b/, e contents.
148
153
This variation renames b/c to e, and makes it executable.
150
tree = self.make_branch_and_tree('.')
151
155
self._make_abc_tree(tree)
152
156
tt = transform.TreeTransform(tree)
153
157
trans_id = tt.trans_id_tree_path('b/c')