~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/testlog.py

  • Committer: Aaron Bentley
  • Date: 2005-10-03 16:53:39 UTC
  • mto: (1185.25.1)
  • mto: This revision was merged to the branch mainline in revision 1419.
  • Revision ID: abentley@panoramicfeedback.com-20051003165339-9ee4d484477fd164
Ignored user-installed plugins

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
import os
 
18
from cStringIO import StringIO
18
19
 
19
 
from bzrlib.selftest import BzrTestBase
 
20
from bzrlib.selftest import BzrTestBase, TestCaseInTempDir
20
21
from bzrlib.log import LogFormatter, show_log, LongLogFormatter
21
22
from bzrlib.branch import Branch
 
23
from bzrlib.errors import InvalidRevisionNumber
22
24
 
23
25
class _LogEntry(object):
24
26
    # should probably move into bzrlib.log?
47
49
        self.logs.append(le)
48
50
 
49
51
 
50
 
class SimpleLogTest(BzrTestBase):
 
52
class SimpleLogTest(TestCaseInTempDir):
 
53
 
51
54
    def checkDelta(self, delta, **kw):
52
55
        """Check the filenames touched by a delta are as expected."""
53
56
        for n in 'added', 'removed', 'renamed', 'modified', 'unchanged':
61
64
            got = [x[0] for x in getattr(delta, n)]
62
65
            self.assertEquals(expected, got)
63
66
 
64
 
    
65
 
    def runTest(self):
 
67
    def test_cur_revno(self):
 
68
        b = Branch.initialize('.')
 
69
 
 
70
        lf = LogCatcher()
 
71
        b.commit('empty commit')
 
72
        show_log(b, lf, verbose=True, start_revision=1, end_revision=1)
 
73
        self.assertRaises(InvalidRevisionNumber, show_log, b, lf,
 
74
                          start_revision=2, end_revision=1) 
 
75
        self.assertRaises(InvalidRevisionNumber, show_log, b, lf,
 
76
                          start_revision=1, end_revision=2) 
 
77
        self.assertRaises(InvalidRevisionNumber, show_log, b, lf,
 
78
                          start_revision=0, end_revision=2) 
 
79
        self.assertRaises(InvalidRevisionNumber, show_log, b, lf,
 
80
                          start_revision=1, end_revision=0) 
 
81
        self.assertRaises(InvalidRevisionNumber, show_log, b, lf,
 
82
                          start_revision=-1, end_revision=1) 
 
83
        self.assertRaises(InvalidRevisionNumber, show_log, b, lf,
 
84
                          start_revision=1, end_revision=-1) 
 
85
 
 
86
    def test_simple_log(self):
66
87
        eq = self.assertEquals
67
 
        ass = self.assert_
68
88
        
69
 
        b = Branch('.', init=True)
 
89
        b = Branch.initialize('.')
70
90
 
71
91
        lf = LogCatcher()
72
92
        show_log(b, lf)
88
108
        self.build_tree(['hello'])
89
109
        b.add('hello')
90
110
        b.commit('add one file')
 
111
 
 
112
        lf = StringIO()
91
113
        # log using regular thing
92
 
        show_log(b, LongLogFormatter(self.TEST_LOG))
 
114
        show_log(b, LongLogFormatter(lf))
 
115
        lf.seek(0)
 
116
        for l in lf.readlines():
 
117
            self.log(l)
93
118
 
94
119
        # get log as data structure
95
120
        lf = LogCatcher()
107
132
        self.log('log 2 delta: %r' % d)
108
133
        # self.checkDelta(d, added=['hello'])
109
134
        
 
135
        # commit a log message with control characters
 
136
        msg = "All 8-bit chars: " +  ''.join([unichr(x) for x in range(256)])
 
137
        b.commit(msg)
 
138
        lf = LogCatcher()
 
139
        show_log(b, lf, verbose=True)
 
140
        committed_msg = lf.logs[0].rev.message
 
141
        self.log("escaped commit message: %r", committed_msg)
 
142
        self.assert_(msg != committed_msg)
 
143
        self.assert_(len(committed_msg) > len(msg))