~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_mv.py

Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
    )
25
25
 
26
26
from bzrlib.tests import (
 
27
    CaseInsensitiveFilesystemFeature,
27
28
    SymlinkFeature,
28
29
    TestCaseWithTransport,
29
30
    )
124
125
        os.chdir('..')
125
126
        self.assertMoved('sub1/sub2/hello.txt','sub1/hello.txt')
126
127
 
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')
139
140
 
 
141
    def test_mv_change_case_dir(self):
 
142
        tree = self.make_branch_and_tree('.')
 
143
        self.build_tree(['foo/'])
 
144
        tree.add(['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')
 
152
 
 
153
    def test_mv_change_case_dir_w_files(self):
 
154
        tree = self.make_branch_and_tree('.')
 
155
        self.build_tree(['foo/', 'foo/bar'])
 
156
        tree.add(['foo'])
 
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')
 
164
 
 
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)
 
172
        self.assertEquals(
 
173
            'bzr: ERROR: Could not move to Foo: Foo is not versioned.\n',
 
174
            err)
 
175
 
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.