~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_identitymap.py

  • Committer: John Arbash Meinel
  • Date: 2009-07-06 18:59:24 UTC
  • mto: This revision was merged to the branch mainline in revision 4522.
  • Revision ID: john@arbash-meinel.com-20090706185924-qlhn1j607117lgdj
Start implementing an Annotator.add_special_text functionality.

The Python implementation supports it. Basically, it is meant to allow things
like WT and PreviewTree to insert the 'current' content into the graph, so that
we can get local modifications into the annotations.
There is also some work here to get support for texts that are already cached
in the annotator. So that we avoid extracting them, and can shortcut the
history.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005 by Canonical Ltd
 
1
# Copyright (C) 2005 Canonical Ltd
2
2
#   Authors: Robert Collins <robert.collins@canonical.com>
3
3
#
4
4
# This program is free software; you can redistribute it and/or modify
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
 
16
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
17
 
18
18
"""Tests for the IdentityMap class."""
19
19
 
45
45
        map.add_weave("id", weave)
46
46
        self.assertRaises(errors.BzrError, map.add_weave, "id", weave)
47
47
        self.assertEqual(weave, map.find_weave("id"))
48
 
 
 
48
 
49
49
    def test_remove_object(self):
50
50
        map = identitymap.IdentityMap()
51
51
        weave = "foo"
52
52
        map.add_weave("id", weave)
53
53
        map.remove_object(weave)
54
54
        map.add_weave("id", weave)
55
 
        rev_history = [1]
56
 
        map.add_revision_history(rev_history)
57
 
        map.remove_object(rev_history)
58
 
 
59
 
    def test_add_revision_history(self):
60
 
        map = identitymap.IdentityMap()
61
 
        rev_history = [1,2,3]
62
 
        map.add_revision_history(rev_history)
63
 
        self.assertEqual(rev_history, map.find_revision_history())
64
 
 
65
 
    def test_double_add_revision_history(self):
66
 
        map = identitymap.IdentityMap()
67
 
        revision_history = [1]
68
 
        map.add_revision_history(revision_history)
69
 
        self.assertRaises(errors.BzrError,
70
 
                          map.add_revision_history,
71
 
                          revision_history)
72
 
        self.assertEqual(revision_history, map.find_revision_history())
73
 
 
74
 
 
 
55
 
 
56
 
75
57
class TestNullIdentityMap(TestCase):
76
58
 
77
59
    def test_symbols(self):
92
74
        map.add_weave("id", weave)
93
75
        map.add_weave("id", weave)
94
76
        self.assertEqual(None, map.find_weave("id"))
95
 
        
 
77
 
96
78
    def test_null_identity_map_has_no_remove(self):
97
79
        map = identitymap.NullIdentityMap()
98
80
        self.assertEqual(None, getattr(map, 'remove_object', None))
99
81
 
100
 
    def test_add_revision_history(self):
101
 
        map = identitymap.NullIdentityMap()
102
 
        rev_history = [1,2,3]
103
 
        map.add_revision_history(rev_history)
104
 
        self.assertEqual(None, map.find_revision_history())
105
 
 
106
 
    def test_double_add_revision_history(self):
107
 
        map = identitymap.NullIdentityMap()
108
 
        revision_history = [1]
109
 
        map.add_revision_history(revision_history)
110
 
        map.add_revision_history(revision_history)
111
 
        self.assertEqual(None, map.find_revision_history())