def test_err2unicode_on_cp1252_error(self, monkeypatch): monkeypatch.setattr(locale, 'getpreferredencoding', lambda _=False: 'cp1252') msg = u'Permission refusée' result = strings.err2unicode(Exception(msg.encode('cp1252'))) assert not isinstance(result, bytes) assert result == msg
def test_err2unicode_on_utf8_error(self): msg = u'Permission refusée' result = strings.err2unicode(Exception(msg.encode('utf-8'))) assert not isinstance(result, bytes) assert result == msg
def test_err2unicode_on_ascii_error(self): assert strings.err2unicode(Exception('TEST')) == 'TEST'
def test_err2unicode_with_unicode(self): assert strings.err2unicode(u'é') == u'é'
def test_err2unicode_with_bytes(self): res = strings.err2unicode(u'é'.encode('utf-8')) assert res == u'é'
def test_err2unicode_with_unknow_bytes(self): msg = ''.join(chr(i) for i in range(0, 255)) result = strings.err2unicode(Exception(msg)) assert not isinstance(result, bytes) assert result.encode('utf-8') # should not raise exception.