~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Jelmer Vernooij
  • Date: 2011-04-05 01:12:15 UTC
  • mto: This revision was merged to the branch mainline in revision 5757.
  • Revision ID: jelmer@samba.org-20110405011215-8g6izwf3uz8v4174
Remove some unnecessary imports, clean up lazy imports.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
 
21
21
import os
22
22
 
 
23
from bzrlib import osutils
23
24
from bzrlib.workingtree import WorkingTree
24
 
from bzrlib.tests.blackbox import ExternalBase
 
25
from bzrlib.tests import TestCaseWithTransport
25
26
from bzrlib.directory_service import directories
26
27
 
27
28
 
28
 
class TestSwitch(ExternalBase):
 
29
class TestSwitch(TestCaseWithTransport):
29
30
 
30
31
    def _create_sample_tree(self):
31
32
        tree = self.make_branch_and_tree('branch-1')
167
168
    def prepare_lightweight_switch(self):
168
169
        branch = self.make_branch('branch')
169
170
        branch.create_checkout('tree', lightweight=True)
170
 
        os.rename('branch', 'branch1')
 
171
        osutils.rename('branch', 'branch1')
171
172
 
172
173
    def test_switch_lightweight_after_branch_moved(self):
173
174
        self.prepare_lightweight_switch()
225
226
        self.run_bzr('switch -b foo:branch2', working_dir='tree')
226
227
        tree = WorkingTree.open('tree')
227
228
        self.assertEndsWith(tree.branch.base, 'foo-branch2/')
 
229
 
 
230
    def test_switch_with_post_switch_hook(self):
 
231
        from bzrlib import branch as _mod_branch
 
232
        calls = []
 
233
        _mod_branch.Branch.hooks.install_named_hook('post_switch',
 
234
            calls.append, None)
 
235
        self.make_branch_and_tree('branch')
 
236
        self.run_bzr('branch branch branch2')
 
237
        self.run_bzr('checkout branch checkout')
 
238
        os.chdir('checkout')
 
239
        self.assertLength(0, calls)
 
240
        out, err = self.run_bzr('switch ../branch2')
 
241
        self.assertLength(1, calls)
 
242
 
 
243
    def test_switch_lightweight_co_with_post_switch_hook(self):
 
244
        from bzrlib import branch as _mod_branch
 
245
        calls = []
 
246
        _mod_branch.Branch.hooks.install_named_hook('post_switch',
 
247
            calls.append, None)
 
248
        self.make_branch_and_tree('branch')
 
249
        self.run_bzr('branch branch branch2')
 
250
        self.run_bzr('checkout --lightweight branch checkout')
 
251
        os.chdir('checkout')
 
252
        self.assertLength(0, calls)
 
253
        out, err = self.run_bzr('switch ../branch2')
 
254
        self.assertLength(1, calls)
 
255
 
 
256
    def test_switch_lightweight_directory(self):
 
257
        """Test --directory option"""
 
258
 
 
259
        # create a source branch
 
260
        a_tree = self.make_branch_and_tree('a')
 
261
        self.build_tree_contents([('a/a', 'initial\n')])
 
262
        a_tree.add('a')
 
263
        a_tree.commit(message='initial')
 
264
 
 
265
        # clone and add a differing revision
 
266
        b_tree = a_tree.bzrdir.sprout('b').open_workingtree()
 
267
        self.build_tree_contents([('b/a', 'initial\nmore\n')])
 
268
        b_tree.commit(message='more')
 
269
 
 
270
        self.run_bzr('checkout --lightweight a checkout')
 
271
        self.run_bzr('switch --directory checkout b')
 
272
        self.assertFileEqual('initial\nmore\n', 'checkout/a')