~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Martin Pool
  • Date: 2006-06-20 07:55:43 UTC
  • mfrom: (1798 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1799.
  • Revision ID: mbp@sourcefrog.net-20060620075543-b10f6575d4a4fa32
[merge] bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# (C) 2005,2006 Canonical Ltd
 
1
# Copyright (C) 2005, 2006 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
18
18
from cStringIO import StringIO
19
19
import os
20
20
 
21
 
import bzrlib
22
 
import bzrlib.branch
23
 
from bzrlib.branch import Branch
24
 
import bzrlib.bzrdir as bzrdir
25
 
from bzrlib.bzrdir import BzrDir
26
 
import bzrlib.errors as errors
 
21
from bzrlib import branch, bzrdir, errors, ui, workingtree
27
22
from bzrlib.errors import (NotBranchError, NotVersionedError, 
28
23
                           UnsupportedOperation)
29
24
from bzrlib.osutils import pathjoin, getcwd, has_symlinks
30
25
from bzrlib.tests import TestSkipped, TestCase
31
26
from bzrlib.tests.workingtree_implementations import TestCaseWithWorkingTree
32
27
from bzrlib.trace import mutter
33
 
import bzrlib.ui as ui
34
 
import bzrlib.workingtree as workingtree
35
28
from bzrlib.workingtree import (TreeEntry, TreeDirectory, TreeFile, TreeLink,
36
29
                                WorkingTree)
37
30
 
89
82
 
90
83
    def test_commit_sets_last_revision(self):
91
84
        tree = self.make_branch_and_tree('tree')
92
 
        tree.commit('foo', rev_id='foo', allow_pointless=True)
 
85
        committed_id = tree.commit('foo', rev_id='foo', allow_pointless=True)
93
86
        self.assertEqual('foo', tree.last_revision())
 
87
        # the commit should have returned the same id we asked for.
 
88
        self.assertEqual('foo', committed_id)
 
89
 
 
90
    def test_commit_returns_revision_id(self):
 
91
        tree = self.make_branch_and_tree('.')
 
92
        committed_id = tree.commit('message', allow_pointless=True)
 
93
        self.assertTrue(tree.branch.repository.has_revision(committed_id))
 
94
        self.assertNotEqual(None, committed_id)
94
95
 
95
96
    def test_commit_local_unbound(self):
96
97
        # using the library api to do a local commit on unbound branches is 
137
138
        self.assertEqual(None, master.last_revision())
138
139
        
139
140
 
140
 
class TestCommmitProgress(TestCaseWithWorkingTree):
 
141
class TestCommitProgress(TestCaseWithWorkingTree):
141
142
    
142
143
    def restoreDefaults(self):
143
144
        ui.ui_factory = self.old_ui_factory
167
168
        # into the factory for this test - just make the test ui factory
168
169
        # pun as a reporter. Then we can check the ordering is right.
169
170
        tree.commit('second post', specific_files=['b'])
170
 
        # 11 steps: 1 for rev, 1 for inventory, 1 for finishing. 2 for root
171
 
        # and 3 for basis files, and 3 for new inventory files.
 
171
        # 9 steps: 1 for rev, 2 for inventory, 1 for finishing. 2 for root
 
172
        # and 6 for inventory files.
 
173
        # 2 steps don't trigger an update, as 'a' and 'c' are not 
 
174
        # committed.
172
175
        self.assertEqual(
173
 
            [("update", 0, 10),
174
 
             ("update", 1, 10),
175
 
             ("update", 2, 10),
176
 
             ("update", 3, 10),
177
 
             ("update", 4, 10),
178
 
             ("update", 5, 10),
179
 
             ("update", 6, 10),
180
 
             ("update", 7, 10),
181
 
             ("update", 8, 10),
182
 
             ("update", 9, 10),
183
 
             ("update", 10, 10)],
 
176
            [("update", 0, 9),
 
177
             ("update", 1, 9),
 
178
             ("update", 2, 9),
 
179
             ("update", 3, 9),
 
180
             ("update", 4, 9),
 
181
             ("update", 5, 9),
 
182
             ("update", 6, 9),
 
183
             ("update", 7, 9)],
184
184
            factory._calls
185
185
           )