125
126
self.assertMoved('sub1/sub2/hello.txt','sub1/hello.txt')
127
def test_mv_change_case(self):
128
def test_mv_change_case_file(self):
128
129
# test for bug #77740 (mv unable change filename case on Windows)
129
130
tree = self.make_branch_and_tree('.')
130
131
self.build_tree(['test.txt'])
137
138
self.assertInWorkingTree('Test.txt')
138
139
self.assertNotInWorkingTree('test.txt')
141
def test_mv_change_case_dir(self):
142
tree = self.make_branch_and_tree('.')
143
self.build_tree(['foo/'])
145
self.run_bzr('mv foo Foo')
146
# we can't use failUnlessExists on case-insensitive filesystem
147
# so try to check shape of the tree
148
shape = sorted(os.listdir(u'.'))
149
self.assertEqual(['.bzr', 'Foo'], shape)
150
self.assertInWorkingTree('Foo')
151
self.assertNotInWorkingTree('foo')
153
def test_mv_change_case_dir_w_files(self):
154
tree = self.make_branch_and_tree('.')
155
self.build_tree(['foo/', 'foo/bar'])
157
self.run_bzr('mv foo Foo')
158
# we can't use failUnlessExists on case-insensitive filesystem
159
# so try to check shape of the tree
160
shape = sorted(os.listdir(u'.'))
161
self.assertEqual(['.bzr', 'Foo'], shape)
162
self.assertInWorkingTree('Foo')
163
self.assertNotInWorkingTree('foo')
165
def test_mv_file_to_wrong_case_dir(self):
166
self.requireFeature(CaseInsensitiveFilesystemFeature)
167
tree = self.make_branch_and_tree('.')
168
self.build_tree(['foo/', 'bar'])
169
tree.add(['foo', 'bar'])
170
out, err = self.run_bzr('mv bar Foo', retcode=3)
171
self.assertEquals('', out)
173
'bzr: ERROR: Could not move to Foo: Foo is not versioned.\n',
140
176
def test_mv_smoke_aliases(self):
141
177
# just test that aliases for mv exist, if their behaviour is changed in
142
178
# the future, then extend the tests.