29
29
from bzrlib.branch import Branch
 
30
30
from bzrlib.config import extract_email_address
 
31
31
from bzrlib.tests import TestCaseWithTransport
 
 
32
from bzrlib.urlutils import joinpath
 
34
35
class TestAnnotate(TestCaseWithTransport):
 
 
153
154
class TestSimpleAnnotate(TestCaseWithTransport):
 
154
155
    """Annotate tests with no complex setup."""
 
156
 
    def _setup_edited_file(self):
 
 
157
    def _setup_edited_file(self, relpath='.'):
 
157
158
        """Create a tree with a locally edited file."""
 
158
 
        tree = self.make_branch_and_tree('.')
 
159
 
        self.build_tree_contents([('file', 'foo\ngam\n')])
 
 
159
        tree = self.make_branch_and_tree(relpath)
 
 
160
        file_relpath = joinpath(relpath, 'file')
 
 
161
        self.build_tree_contents([(file_relpath, 'foo\ngam\n')])
 
161
163
        tree.commit('add file', committer="test@host", rev_id="rev1")
 
162
 
        self.build_tree_contents([('file', 'foo\nbar\ngam\n')])
 
 
164
        self.build_tree_contents([(file_relpath, 'foo\nbar\ngam\n')])
 
163
165
        tree.branch.get_config().set_user_option('email', 'current@host2')
 
 
168
    def test_annotate_cmd_revspec_branch(self):
 
 
169
        tree = self._setup_edited_file('trunk')
 
 
170
        tree.branch.create_checkout(self.get_url('work'), lightweight=True)
 
 
172
        out, err = self.run_bzr('annotate file -r branch:../trunk')
 
 
173
        self.assertEqual('', err)
 
165
179
    def test_annotate_edited_file(self):
 
166
180
        tree = self._setup_edited_file()