/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

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

  • Committer: Robert Collins
  • Date: 2010-05-11 08:36:16 UTC
  • mto: This revision was merged to the branch mainline in revision 5223.
  • Revision ID: robertc@robertcollins.net-20100511083616-b8fjb19zomwupid0
Make all lock methods return Result objects, rather than lock_read returning self, as per John's review.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
"""Tests for the commit CLI of bzr."""
19
19
 
20
20
import os
21
 
import re
22
21
import sys
23
22
 
24
23
from bzrlib import (
108
107
                              'modified hello\.txt\n'
109
108
                              'Committed revision 2\.\n$')
110
109
 
111
 
    def test_unicode_commit_message_is_filename(self):
112
 
        """Unicode commit message same as a filename (Bug #563646).
113
 
        """
114
 
        file_name = u'\N{euro sign}'
115
 
        self.run_bzr(['init'])
116
 
        open(file_name, 'w').write('hello world')
117
 
        self.run_bzr(['add'])
118
 
        out, err = self.run_bzr(['commit', '-m', file_name])
119
 
        reflags = re.MULTILINE|re.DOTALL|re.UNICODE
120
 
        te = osutils.get_terminal_encoding()
121
 
        self.assertContainsRe(err.decode(te),
122
 
            u'The commit message is a file name:',
123
 
            flags=reflags)
124
 
 
125
 
        # Run same test with a filename that causes encode
126
 
        # error for the terminal encoding. We do this
127
 
        # by forcing terminal encoding of ascii for
128
 
        # osutils.get_terminal_encoding which is used
129
 
        # by ui.text.show_warning
130
 
        default_get_terminal_enc = osutils.get_terminal_encoding
131
 
        try:
132
 
            osutils.get_terminal_encoding = lambda: 'ascii'
133
 
            file_name = u'foo\u1234'
134
 
            open(file_name, 'w').write('hello world')
135
 
            self.run_bzr(['add'])
136
 
            out, err = self.run_bzr(['commit', '-m', file_name])
137
 
            reflags = re.MULTILINE|re.DOTALL|re.UNICODE
138
 
            te = osutils.get_terminal_encoding()
139
 
            self.assertContainsRe(err.decode(te, 'replace'),
140
 
                u'The commit message is a file name:',
141
 
                flags=reflags)
142
 
        finally:
143
 
            osutils.get_terminal_encoding = default_get_terminal_enc
144
 
 
145
110
    def test_warn_about_forgotten_commit_message(self):
146
111
        """Test that the lack of -m parameter is caught"""
147
112
        wt = self.make_branch_and_tree('.')
745
710
        out, err = self.run_bzr_error(["empty commit message"],
746
711
            "commit tree/hello.txt", stdin="n\n")
747
712
        self.assertEqual(expected, tree.last_revision())
748
 
 
749
 
    def test_commit_without_username(self):
750
 
        """Ensure commit error if username is not set.
751
 
        """
752
 
        self.run_bzr(['init', 'foo'])
753
 
        os.chdir('foo')
754
 
        open('foo.txt', 'w').write('hello')
755
 
        self.run_bzr(['add'])
756
 
        osutils.set_or_unset_env('EMAIL', None)
757
 
        osutils.set_or_unset_env('BZR_EMAIL', None)
758
 
        out, err = self.run_bzr(['commit', '-m', 'initial'], 3)
759
 
        self.assertContainsRe(err, 'Unable to determine your name')