/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/workingtree_implementations/test_nested_specifics.py

  • Committer: Matt Nordhoff
  • Date: 2009-04-04 02:50:01 UTC
  • mfrom: (4253 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4256.
  • Revision ID: mnordhoff@mattnordhoff.com-20090404025001-z1403k0tatmc8l91
Merge bzr.dev, fixing conflicts.

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
#
14
14
# You should have received a copy of the GNU General Public License
15
15
# along with this program; if not, write to the Free Software
16
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
 
 
18
 
 
 
16
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
17
 
 
18
 
 
19
from bzrlib.tests import TestNotApplicable
19
20
from bzrlib.transform import TreeTransform
20
21
from bzrlib.tests.workingtree_implementations import TestCaseWithWorkingTree
21
22
 
22
23
 
23
24
class TestNestedSupport(TestCaseWithWorkingTree):
24
25
 
 
26
    def make_branch_and_tree(self, path):
 
27
        tree = TestCaseWithWorkingTree.make_branch_and_tree(self, path)
 
28
        if not tree.supports_tree_reference():
 
29
            raise TestNotApplicable('Tree references not supported')
 
30
        return tree
 
31
 
25
32
    def test_set_get_tree_reference(self):
26
33
        """This tests that setting a tree reference is persistent."""
27
34
        tree = self.make_branch_and_tree('.')
28
 
        if not tree.supports_tree_reference():
29
 
            return
30
35
        transform = TreeTransform(tree)
31
36
        trans_id = transform.new_directory('reference', transform.root,
32
37
            'subtree-id')
40
45
 
41
46
    def test_extract_while_locked(self):
42
47
        tree = self.make_branch_and_tree('.')
43
 
        if not tree.supports_tree_reference():
44
 
            return
45
48
        tree.lock_write()
46
49
        self.addCleanup(tree.unlock)
47
50
        self.build_tree(['subtree/'])
48
51
        tree.add(['subtree'], ['subtree-id'])
49
52
        subtree = tree.extract('subtree-id')
 
53
 
 
54
    def prepare_with_subtree(self):
 
55
        tree = self.make_branch_and_tree('.')
 
56
        tree.lock_write()
 
57
        self.addCleanup(tree.unlock)
 
58
        subtree = self.make_branch_and_tree('subtree')
 
59
        tree.add(['subtree'], ['subtree-id'])
 
60
        return tree
 
61
 
 
62
    def test_kind_does_not_autodetect_subtree(self):
 
63
        tree = self.prepare_with_subtree()
 
64
        self.assertEqual('directory', tree.kind('subtree-id'))
 
65
 
 
66
    def test_comparison_data_does_not_autodetect_subtree(self):
 
67
        tree = self.prepare_with_subtree()
 
68
        entry = tree.iter_entries_by_dir(['subtree-id']).next()[1]
 
69
        self.assertEqual('directory',
 
70
                         tree._comparison_data(entry, 'subtree')[0])