use BytesIO on Python 3

This commit is contained in:
András Veres-Szentkirályi 2017-01-12 12:37:58 +01:00
parent 0d52546d81
commit 9cbb0c50ff

View file

@ -4,7 +4,7 @@ from six.moves import zip
import pickle import pickle
import mock import mock
from mock import MagicMock from mock import MagicMock
from six import StringIO from six import BytesIO
from six import PY2 from six import PY2
import hashlib import hashlib
@ -68,14 +68,14 @@ class TestSSTV(unittest.TestCase):
def test_write_wav(self): def test_write_wav(self):
self.maxDiff = None self.maxDiff = None
sio = StringIO() bio = BytesIO()
sio.close = MagicMock() # ignore close() so we can .getvalue() bio.close = MagicMock() # ignore close() so we can .getvalue()
mock_open = MagicMock(return_value=sio) mock_open = MagicMock(return_value=bio)
ns = '__builtin__' if PY2 else 'io' ns = '__builtin__' if PY2 else 'io'
with mock.patch('{0}.open'.format(ns), mock_open): with mock.patch('{0}.open'.format(ns), mock_open):
self.s.write_wav('unittest.wav') self.s.write_wav('unittest.wav')
expected = 'dd7eed880ab3360fb79ce09c469deee2' expected = 'dd7eed880ab3360fb79ce09c469deee2'
data = sio.getvalue() data = bio.getvalue()
actual = hashlib.md5(data).hexdigest() actual = hashlib.md5(data).hexdigest()
self.assertEqual(expected, actual) self.assertEqual(expected, actual)