~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/bzrdir_implementations/test_bzrdir.py

Introduce BzrDir.destroy_workingtree

Show diffs side-by-side

added added

removed removed

Lines of Context:
150
150
        wt = dir.create_workingtree(revision_id=bzrlib.revision.NULL_REVISION)
151
151
        self.assertEqual([], wt.get_parent_ids())
152
152
 
 
153
    def test_destroy_workingtree(self):
 
154
        tree = self.make_branch_and_tree('tree')
 
155
        self.build_tree(['tree/file'])
 
156
        tree.add('file')
 
157
        tree.commit('first commit')
 
158
        bzrdir = tree.bzrdir
 
159
        try:
 
160
            bzrdir.destroy_workingtree(keep_files=False)
 
161
        except errors.UnsupportedOperation:
 
162
            raise TestSkipped('Format does not support destroying tree')
 
163
        self.failIfExists('tree/file')
 
164
        self.assertRaises(errors.NoWorkingTree, bzrdir.open_workingtree)
 
165
        bzrdir.create_workingtree()
 
166
        self.failUnlessExists('tree/file')
 
167
        bzrdir.destroy_workingtree(keep_files=True)
 
168
        self.failUnlessExists('tree/file')
 
169
        self.assertRaises(errors.NoWorkingTree, bzrdir.open_workingtree)
 
170
            
153
171
    def test_clone_bzrdir_empty(self):
154
172
        dir = self.make_bzrdir('source')
155
173
        target = dir.clone(self.get_url('target'))