Removed an untested and broken branch in force_bytes() (refs #6353).

The new test crashed in the removed branch. It's unclear if the branch has
value since c6a2bd9b96 didn't include tests.
This commit is contained in:
Tim Graham 2017-02-03 19:36:53 -05:00 committed by GitHub
parent 4ee877a7b0
commit 26619ad7b0
2 changed files with 3 additions and 14 deletions

View File

@ -108,18 +108,7 @@ def force_bytes(s, encoding='utf-8', strings_only=False, errors='strict'):
return s return s
if isinstance(s, memoryview): if isinstance(s, memoryview):
return bytes(s) return bytes(s)
if isinstance(s, Promise): if isinstance(s, Promise) or not isinstance(s, str):
return str(s).encode(encoding, errors)
if not isinstance(s, str):
try:
return str(s).encode(encoding)
except UnicodeEncodeError:
if isinstance(s, Exception):
# An Exception subclass containing non-ASCII data that doesn't
# know how to print itself properly. We shouldn't raise a
# further exception.
return b' '.join(force_bytes(arg, encoding, strings_only, errors)
for arg in s)
return str(s).encode(encoding, errors) return str(s).encode(encoding, errors)
else: else:
return s.encode(encoding, errors) return s.encode(encoding, errors)

View File

@ -42,8 +42,8 @@ class TestEncodingUtils(SimpleTestCase):
""" """
error_msg = "This is an exception, voilà" error_msg = "This is an exception, voilà"
exc = ValueError(error_msg) exc = ValueError(error_msg)
result = force_bytes(exc) self.assertEqual(force_bytes(exc), error_msg.encode('utf-8'))
self.assertEqual(result, error_msg.encode('utf-8')) self.assertEqual(force_bytes(exc, encoding='ascii', errors='ignore'), b'This is an exception, voil')
def test_force_bytes_strings_only(self): def test_force_bytes_strings_only(self):
today = datetime.date.today() today = datetime.date.today()