Issue #23681: Fixed Python 2 to 3 poring bugs.

Indexing bytes retiurns an integer, not bytes.
This commit is contained in:
Serhiy Storchaka 2015-03-20 16:46:19 +02:00
parent d83b7c2df4
commit 74a49ac3f5
5 changed files with 12 additions and 14 deletions

View file

@ -1066,7 +1066,7 @@ class TestTokenize(TestCase):
encoding = object()
encoding_used = None
def mock_detect_encoding(readline):
return encoding, ['first', 'second']
return encoding, [b'first', b'second']
def mock__tokenize(readline, encoding):
nonlocal encoding_used
@ -1085,7 +1085,7 @@ class TestTokenize(TestCase):
counter += 1
if counter == 5:
return b''
return counter
return str(counter).encode()
orig_detect_encoding = tokenize_module.detect_encoding
orig__tokenize = tokenize_module._tokenize
@ -1093,7 +1093,8 @@ class TestTokenize(TestCase):
tokenize_module._tokenize = mock__tokenize
try:
results = tokenize(mock_readline)
self.assertEqual(list(results), ['first', 'second', 1, 2, 3, 4])
self.assertEqual(list(results),
[b'first', b'second', b'1', b'2', b'3', b'4'])
finally:
tokenize_module.detect_encoding = orig_detect_encoding
tokenize_module._tokenize = orig__tokenize