/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
1
# Copyright (C) 2006-2007 by Jelmer Vernooij
0.436.177 by Jelmer Vernooij
Remove trailing whitespace.
2
#
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
0.436.131 by Jelmer Vernooij
Change license back to GPLv2+
5
# the Free Software Foundation; either version 2 of the License, or
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
"""Tests for the maptree code."""
17
7406.3.2 by Jelmer Vernooij
Update for breezy.
18
from ....tests import (
0.436.178 by Jelmer Vernooij
Finish rename to 'bzr-rewrite'.
19
    TestCase,
20
    TestCaseWithTransport,
21
    )
7406.3.2 by Jelmer Vernooij
Update for breezy.
22
from ....treebuilder import (
0.436.178 by Jelmer Vernooij
Finish rename to 'bzr-rewrite'.
23
    TreeBuilder,
24
    )
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
25
7406.3.2 by Jelmer Vernooij
Update for breezy.
26
from ..maptree import (
0.436.157 by Jelmer Vernooij
use absolute imports everywhere.
27
    MapTree,
28
    map_file_ids,
29
    )
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
30
31
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
32
class EmptyMapTreeTests(TestCaseWithTransport):
0.436.178 by Jelmer Vernooij
Finish rename to 'bzr-rewrite'.
33
0.436.17 by Jelmer Vernooij
Move maptree code to separate files.
34
    def setUp(self):
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
35
        super(EmptyMapTreeTests, self).setUp()
0.436.177 by Jelmer Vernooij
Remove trailing whitespace.
36
        tree = self.make_branch_and_tree('branch')
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
37
        self.oldtree = tree
38
39
    def test_has_filename(self):
40
        self.oldtree.lock_write()
41
        builder = TreeBuilder()
42
        builder.start_tree(self.oldtree)
43
        builder.build(['foo'])
44
        builder.finish_tree()
45
        self.maptree = MapTree(self.oldtree, {})
46
        self.oldtree.unlock()
47
        self.assertTrue(self.maptree.has_filename('foo'))
48
        self.assertTrue(self.oldtree.has_filename('foo'))
49
        self.assertFalse(self.maptree.has_filename('bar'))
50
51
    def test_path2id(self):
52
        self.oldtree.lock_write()
0.441.3 by Robert Collins
Update rebase to 1.6b3 API changes.
53
        self.addCleanup(self.oldtree.unlock)
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
54
        builder = TreeBuilder()
55
        builder.start_tree(self.oldtree)
56
        builder.build(['foo'])
57
        builder.build(['bar'])
58
        builder.build(['bla'])
59
        builder.finish_tree()
60
        self.maptree = MapTree(self.oldtree, {})
0.436.243 by Jelmer Vernooij
Avoid deprecated methods, use Tree API only.
61
        self.assertEquals(self.oldtree.path2id("foo"),
62
                          self.maptree.path2id("foo"))
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
63
64
    def test_id2path(self):
65
        self.oldtree.lock_write()
0.441.3 by Robert Collins
Update rebase to 1.6b3 API changes.
66
        self.addCleanup(self.oldtree.unlock)
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
67
        builder = TreeBuilder()
68
        builder.start_tree(self.oldtree)
69
        builder.build(['foo'])
70
        builder.build(['bar'])
71
        builder.build(['bla'])
72
        builder.finish_tree()
73
        self.maptree = MapTree(self.oldtree, {})
7406.3.5 by Jelmer Vernooij
Fix formatting.
74
        self.assertEquals(
75
            "foo", self.maptree.id2path(self.maptree.path2id("foo")))
0.436.18 by Jelmer Vernooij
More tests, extend MapTree a bit.
76
0.436.21 by Jelmer Vernooij
Tests.
77
78
class MapFileIdTests(TestCase):
0.441.3 by Robert Collins
Update rebase to 1.6b3 API changes.
79
0.436.21 by Jelmer Vernooij
Tests.
80
    def test_empty(self):
81
        self.assertEquals({}, map_file_ids(None, [], []))