/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 breezy/tests/test_osutils_encodings.py

Merge test-run support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
from .. import (
24
24
    osutils,
25
25
    )
26
 
from ..sixish import PY3
27
26
from . import (
28
27
    TestCase,
29
28
    )
30
 
from .ui_testing import (
31
 
    BytesIOWithEncoding,
32
 
    StringIOWithEncoding,
33
 
    )
 
29
from .ui_testing import BytesIOWithEncoding
34
30
 
35
31
 
36
32
class FakeCodec(object):
88
84
                             stdin_encoding,
89
85
                             user_encoding='user_encoding',
90
86
                             enable_fake_encodings=True):
91
 
        if PY3:
92
 
            sys.stdout = StringIOWithEncoding()
93
 
        else:
94
 
            sys.stdout = BytesIOWithEncoding()
 
87
        sys.stdout = BytesIOWithEncoding()
95
88
        sys.stdout.encoding = stdout_encoding
96
 
        if PY3:
97
 
            sys.stderr = StringIOWithEncoding()
98
 
        else:
99
 
            sys.stderr = BytesIOWithEncoding()
 
89
        sys.stderr = BytesIOWithEncoding()
100
90
        sys.stderr.encoding = stderr_encoding
101
 
        if PY3:
102
 
            sys.stdin = StringIOWithEncoding()
103
 
        else:
104
 
            sys.stdin = BytesIOWithEncoding()
 
91
        sys.stdin = BytesIOWithEncoding()
105
92
        sys.stdin.encoding = stdin_encoding
106
93
        osutils._cached_user_encoding = user_encoding
107
94
        if enable_fake_encodings:
172
159
 
173
160
        # check stderr
174
161
        self.assertEqual('brz: warning: unknown terminal encoding cp-unknown.\n'
175
 
                         '  Using encoding latin-1 instead.\n',
176
 
                         sys.stderr.getvalue())
 
162
                          '  Using encoding latin-1 instead.\n',
 
163
                          sys.stderr.getvalue())
177
164
 
178
165
 
179
166
class TestUserEncoding(TestCase):
184
171
        self.overrideAttr(osutils, '_cached_user_encoding', None)
185
172
        self.overrideAttr(locale, 'getpreferredencoding', self.get_encoding)
186
173
        self.overrideAttr(locale, 'CODESET', None)
187
 
        if PY3:
188
 
            self.overrideAttr(sys, 'stderr', StringIOWithEncoding())
189
 
        else:
190
 
            self.overrideAttr(sys, 'stderr', BytesIOWithEncoding())
 
174
        self.overrideAttr(sys, 'stderr', BytesIOWithEncoding())
191
175
 
192
176
    def get_encoding(self, do_setlocale=True):
193
177
        return self._encoding
195
179
    def test_get_user_encoding(self):
196
180
        self._encoding = 'user_encoding'
197
181
        fake_codec.add('user_encoding')
198
 
        self.assertEqual('iso8859-1',  # fake_codec maps to latin-1
199
 
                         osutils.get_user_encoding())
 
182
        self.assertEqual('iso8859-1', # fake_codec maps to latin-1
 
183
                          osutils.get_user_encoding())
200
184
        self.assertEqual('', sys.stderr.getvalue())
201
185
 
202
186
    def test_user_cp0(self):
208
192
        self._encoding = 'cp-unknown'
209
193
        self.assertEqual('ascii', osutils.get_user_encoding())
210
194
        self.assertEqual('brz: warning: unknown encoding cp-unknown.'
211
 
                         ' Continuing with ascii encoding.\n',
212
 
                         sys.stderr.getvalue())
 
195
                          ' Continuing with ascii encoding.\n',
 
196
                          sys.stderr.getvalue())
213
197
 
214
198
    def test_user_empty(self):
215
199
        """Running bzr from a vim script gives '' for a preferred locale"""