/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

  • Committer: Breezy landing bot
  • Author(s): Jelmer Vernooij
  • Date: 2018-07-25 21:22:37 UTC
  • mfrom: (7045.4.19 python3-t)
  • Revision ID: breezy.the.bot@gmail.com-20180725212237-16h5uliv36e2fv54
Fix another ~400 tests on Python 3.

Merged from https://code.launchpad.net/~jelmer/brz/python3-t/+merge/350753

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
26
27
from . import (
27
28
    TestCase,
28
29
    )
29
 
from .ui_testing import BytesIOWithEncoding
 
30
from .ui_testing import (
 
31
    BytesIOWithEncoding,
 
32
    StringIOWithEncoding,
 
33
    )
30
34
 
31
35
 
32
36
class FakeCodec(object):
84
88
                             stdin_encoding,
85
89
                             user_encoding='user_encoding',
86
90
                             enable_fake_encodings=True):
87
 
        sys.stdout = BytesIOWithEncoding()
 
91
        if PY3:
 
92
            sys.stdout = StringIOWithEncoding()
 
93
        else:
 
94
            sys.stdout = BytesIOWithEncoding()
88
95
        sys.stdout.encoding = stdout_encoding
89
 
        sys.stderr = BytesIOWithEncoding()
 
96
        if PY3:
 
97
            sys.stderr = StringIOWithEncoding()
 
98
        else:
 
99
            sys.stderr = BytesIOWithEncoding()
90
100
        sys.stderr.encoding = stderr_encoding
91
 
        sys.stdin = BytesIOWithEncoding()
 
101
        if PY3:
 
102
            sys.stdin = StringIOWithEncoding()
 
103
        else:
 
104
            sys.stdin = BytesIOWithEncoding()
92
105
        sys.stdin.encoding = stdin_encoding
93
106
        osutils._cached_user_encoding = user_encoding
94
107
        if enable_fake_encodings:
171
184
        self.overrideAttr(osutils, '_cached_user_encoding', None)
172
185
        self.overrideAttr(locale, 'getpreferredencoding', self.get_encoding)
173
186
        self.overrideAttr(locale, 'CODESET', None)
174
 
        self.overrideAttr(sys, 'stderr', BytesIOWithEncoding())
 
187
        if PY3:
 
188
            self.overrideAttr(sys, 'stderr', StringIOWithEncoding())
 
189
        else:
 
190
            self.overrideAttr(sys, 'stderr', BytesIOWithEncoding())
175
191
 
176
192
    def get_encoding(self, do_setlocale=True):
177
193
        return self._encoding
181
197
        fake_codec.add('user_encoding')
182
198
        self.assertEqual('iso8859-1', # fake_codec maps to latin-1
183
199
                          osutils.get_user_encoding())
184
 
        self.assertEqual(b'', sys.stderr.getvalue())
 
200
        self.assertEqual('', sys.stderr.getvalue())
185
201
 
186
202
    def test_user_cp0(self):
187
203
        self._encoding = 'cp0'
188
204
        self.assertEqual('ascii', osutils.get_user_encoding())
189
 
        self.assertEqual(b'', sys.stderr.getvalue())
 
205
        self.assertEqual('', sys.stderr.getvalue())
190
206
 
191
207
    def test_user_cp_unknown(self):
192
208
        self._encoding = 'cp-unknown'
193
209
        self.assertEqual('ascii', osutils.get_user_encoding())
194
 
        self.assertEqual(b'brz: warning: unknown encoding cp-unknown.'
195
 
                          b' Continuing with ascii encoding.\n',
196
 
                          sys.stderr.getvalue())
 
210
        self.assertEqual('brz: warning: unknown encoding cp-unknown.'
 
211
                         ' Continuing with ascii encoding.\n',
 
212
                         sys.stderr.getvalue())
197
213
 
198
214
    def test_user_empty(self):
199
215
        """Running bzr from a vim script gives '' for a preferred locale"""
200
216
        self._encoding = ''
201
217
        self.assertEqual('ascii', osutils.get_user_encoding())
202
 
        self.assertEqual(b'', sys.stderr.getvalue())
 
218
        self.assertEqual('', sys.stderr.getvalue())