~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_switch.py

  • Committer: Ross Lagerwall
  • Date: 2012-08-07 06:32:51 UTC
  • mto: (6437.63.5 2.5)
  • mto: This revision was merged to the branch mainline in revision 6558.
  • Revision ID: rosslagerwall@gmail.com-20120807063251-x9p03ghg2ws8oqjc
Add bzrlib/locale to .bzrignore

bzrlib/locale is generated with ./setup.py build_mo which is in turn called
by ./setup.py build

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
from bzrlib import (
23
23
    branch,
24
24
    errors,
25
 
    lock,
26
25
    merge as _mod_merge,
27
26
    switch,
28
27
    tests,
29
 
    workingtree,
30
28
    )
31
29
 
32
30
 
36
34
        super(TestSwitch, self).setUp()
37
35
        self.lightweight = True
38
36
 
39
 
    @staticmethod
40
 
    def _master_if_present(branch):
41
 
        master = branch.get_master_branch()
42
 
        if master:
43
 
            return master
44
 
        else:
45
 
            return branch
46
 
 
47
37
    def _setup_tree(self):
48
38
        tree = self.make_branch_and_tree('branch-1')
49
39
        self.build_tree(['branch-1/file-1'])
51
41
        tree.commit('rev1')
52
42
        return tree
53
43
 
54
 
    def _setup_uncommitted(self, same_revision=False):
55
 
        tree = self._setup_tree()
56
 
        to_branch = tree.bzrdir.sprout('branch-2').open_branch()
57
 
        self.build_tree(['branch-1/file-2'])
58
 
        if not same_revision:
59
 
            tree.add('file-2')
60
 
            tree.remove('file-1')
61
 
            tree.commit('rev2')
62
 
        checkout = tree.branch.create_checkout('checkout',
63
 
            lightweight=self.lightweight)
64
 
        self.build_tree(['checkout/file-3'])
65
 
        checkout.add('file-3')
66
 
        return checkout, to_branch
67
 
 
68
 
    def test_switch_store_uncommitted(self):
69
 
        """Test switch updates tree and stores uncommitted changes."""
70
 
        checkout, to_branch = self._setup_uncommitted()
71
 
        self.assertPathDoesNotExist('checkout/file-1')
72
 
        self.assertPathExists('checkout/file-2')
73
 
        switch.switch(checkout.bzrdir, to_branch, store_uncommitted=True)
74
 
        self.assertPathExists('checkout/file-1')
75
 
        self.assertPathDoesNotExist('checkout/file-2')
76
 
        self.assertPathDoesNotExist('checkout/file-3')
77
 
 
78
 
    def test_switch_restore_uncommitted(self):
79
 
        """Test switch updates tree and restores uncommitted changes."""
80
 
        checkout, to_branch = self._setup_uncommitted()
81
 
        old_branch = self._master_if_present(checkout.branch)
82
 
        self.assertPathDoesNotExist('checkout/file-1')
83
 
        self.assertPathExists('checkout/file-2')
84
 
        self.assertPathExists('checkout/file-3')
85
 
        switch.switch(checkout.bzrdir, to_branch, store_uncommitted=True)
86
 
        checkout = workingtree.WorkingTree.open('checkout')
87
 
        switch.switch(checkout.bzrdir, old_branch, store_uncommitted=True)
88
 
        self.assertPathDoesNotExist('checkout/file-1')
89
 
        self.assertPathExists('checkout/file-2')
90
 
        self.assertPathExists('checkout/file-3')
91
 
 
92
 
    def test_switch_restore_uncommitted_same_revision(self):
93
 
        """Test switch updates tree and restores uncommitted changes."""
94
 
        checkout, to_branch = self._setup_uncommitted(same_revision=True)
95
 
        old_branch = self._master_if_present(checkout.branch)
96
 
        switch.switch(checkout.bzrdir, to_branch, store_uncommitted=True)
97
 
        checkout = workingtree.WorkingTree.open('checkout')
98
 
        switch.switch(checkout.bzrdir, old_branch, store_uncommitted=True)
99
 
        self.assertPathExists('checkout/file-3')
100
 
 
101
44
    def test_switch_updates(self):
102
45
        """Test switch updates tree and keeps uncommitted changes."""
103
 
        checkout, to_branch = self._setup_uncommitted()
 
46
        tree = self._setup_tree()
 
47
        to_branch = tree.bzrdir.sprout('branch-2').open_branch()
 
48
        self.build_tree(['branch-1/file-2'])
 
49
        tree.add('file-2')
 
50
        tree.remove('file-1')
 
51
        tree.commit('rev2')
 
52
        checkout = tree.branch.create_checkout('checkout',
 
53
            lightweight=self.lightweight)
 
54
        self.build_tree(['checkout/file-3'])
 
55
        checkout.add('file-3')
104
56
        self.assertPathDoesNotExist('checkout/file-1')
105
57
        self.assertPathExists('checkout/file-2')
106
58
        switch.switch(checkout.bzrdir, to_branch)