~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/repository_implementations/test_commit_builder.py

Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Tests for repository commit builder."""
18
18
 
 
19
from bzrlib import inventory
19
20
from bzrlib.errors import UnsupportedOperation
20
21
from bzrlib.repository import CommitBuilder
21
22
from bzrlib.tests.repository_implementations.test_repository import TestCaseWithRepository
28
29
        builder = tree.branch.get_commit_builder([])
29
30
        self.assertIsInstance(builder, CommitBuilder)
30
31
 
31
 
    def test_set_root_id(self):
32
 
        tree = self.make_branch_and_tree(".")
33
 
        builder = tree.branch.get_commit_builder([])
34
 
        self.assertIs(None, builder.new_inventory.root)
35
 
        builder.set_root_id()
36
 
        self.assertIsInstance(builder.new_inventory.root.file_id, basestring)
37
 
        builder.set_root_id('foo')
38
 
        self.assertEqual('foo', builder.new_inventory.root.file_id)
 
32
    def record_root(self, builder, tree):
 
33
        if builder.record_root_entry is True:
 
34
            ie = tree.inventory.root
 
35
            parent_tree = tree.branch.repository.revision_tree(None)
 
36
            parent_invs = [parent_tree.inventory]
 
37
            builder.record_entry_contents(ie, parent_invs, '', tree)
39
38
 
40
39
    def test_finish_inventory(self):
41
40
        tree = self.make_branch_and_tree(".")
42
41
        builder = tree.branch.get_commit_builder([])
43
 
        builder.set_root_id()
 
42
        self.record_root(builder, tree)
44
43
        builder.finish_inventory()
45
44
 
46
45
    def test_commit_message(self):
47
46
        tree = self.make_branch_and_tree(".")
48
47
        builder = tree.branch.get_commit_builder([])
49
 
        builder.set_root_id()
 
48
        self.record_root(builder, tree)
50
49
        builder.finish_inventory()
51
50
        rev_id = builder.commit('foo bar blah')
52
51
        rev = tree.branch.repository.get_revision(rev_id)
59
58
        except UnsupportedOperation:
60
59
            # This format doesn't support supplied revision ids
61
60
            return
62
 
        builder.set_root_id()
 
61
        self.record_root(builder, tree)
63
62
        builder.finish_inventory()
64
63
        self.assertEqual("foo", builder.commit('foo bar'))
65
64
        self.assertTrue(tree.branch.repository.has_revision("foo"))
71
70
    def test_commit(self):
72
71
        tree = self.make_branch_and_tree(".")
73
72
        builder = tree.branch.get_commit_builder([])
74
 
        builder.set_root_id()
 
73
        self.record_root(builder, tree)
75
74
        builder.finish_inventory()
76
75
        rev_id = builder.commit('foo bar')
77
76
        self.assertNotEqual(None, rev_id)