~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_annotate.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-06-20 03:50:35 UTC
  • mfrom: (1740.5.9 bzr.mbp.traceback)
  • Revision ID: pqm@pqm.ubuntu.com-20060620035035-a9a7dc096fed5060
(mbp) show traceback on stderr on unexpected errors

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
import os
32
32
 
33
33
from bzrlib.branch import Branch
34
 
from bzrlib.clone import copy_branch
35
34
from bzrlib.errors import BzrCommandError
36
35
from bzrlib.osutils import has_symlinks
37
 
from bzrlib.tests import TestCaseInTempDir, BzrTestBase
 
36
from bzrlib.tests import TestCaseWithTransport
38
37
from bzrlib.annotate import annotate_file
39
38
 
40
39
 
41
 
class TestAnnotate(TestCaseInTempDir):
 
40
class TestAnnotate(TestCaseWithTransport):
 
41
 
42
42
    def setUp(self):
43
43
        super(TestAnnotate, self).setUp()
44
 
        b = Branch.initialize(u'.')
 
44
        wt = self.make_branch_and_tree('.')
 
45
        b = wt.branch
45
46
        self.build_tree_contents([('hello.txt', 'my helicopter\n'),
46
47
                                  ('nomail.txt', 'nomail\n')])
47
 
        b.working_tree().add(['hello.txt'])
48
 
        b.working_tree().commit('add hello', 
49
 
                                committer='test@user')
50
 
        b.working_tree().add(['nomail.txt'])
51
 
        b.working_tree().commit('add nomail', committer='no mail')
 
48
        wt.add(['hello.txt'])
 
49
        wt.commit('add hello', committer='test@user')
 
50
        wt.add(['nomail.txt'])
 
51
        wt.commit('add nomail', committer='no mail')
 
52
        file('hello.txt', 'ab').write('your helicopter')
 
53
        wt.commit('mod hello', committer='user@test')
52
54
 
53
55
    def test_help_annotate(self):
54
56
        """Annotate command exists"""
59
61
        self.assertEquals(err, '')
60
62
        self.assertEqualDiff(out, '''\
61
63
    1 test@us | my helicopter
 
64
    3 user@te | your helicopter
62
65
''')
63
66
 
64
67
    def test_no_mail(self):
67
70
        self.assertEqualDiff(out, '''\
68
71
    2 no mail | nomail
69
72
''')
 
73
 
 
74
    def test_annotate_cmd_revision(self):
 
75
        out, err = self.run_bzr_captured(['annotate', 'hello.txt', '-r 1'])
 
76
        self.assertEquals(err, '')
 
77
        self.assertEqualDiff(out, '''\
 
78
    1 test@us | my helicopter
 
79
''')
 
80
 
 
81
    def test_annotate_cmd_revision3(self):
 
82
        out, err = self.run_bzr_captured(['annotate', 'hello.txt', '-r 3'])
 
83
        self.assertEquals(err, '')
 
84
        self.assertEqualDiff(out, '''\
 
85
    1 test@us | my helicopter
 
86
    3 user@te | your helicopter
 
87
''')
 
88
 
 
89
    def test_annotate_cmd_unknown_revision(self):
 
90
        out, err = self.run_bzr_captured(['annotate', 'hello.txt', '-r 10'],
 
91
                                         retcode=3)
 
92
        self.assertEquals(out, '')
 
93
        self.assertContainsRe(err, 'has no revision 10')
 
94
 
 
95
    def test_annotate_cmd_two_revisions(self):
 
96
        out, err = self.run_bzr_captured(['annotate', 'hello.txt', '-r 1..2'],
 
97
                                         retcode=3)
 
98
        self.assertEquals(out, '')
 
99
        self.assertEquals(err, 'bzr: ERROR: bzr annotate --revision takes'
 
100
                               ' exactly 1 argument\n')