PYTHON-1930 Fix pure python decoder support for memoryviews
This commit is contained in:
parent
3bcdde34c9
commit
57302846b7
@ -177,10 +177,6 @@ else:
|
||||
def get_data_and_view(data):
|
||||
if isinstance(data, _supported_buffer_types):
|
||||
return data, memoryview(data)
|
||||
elif isinstance(data, memoryview):
|
||||
if isinstance(
|
||||
getattr(data, 'obj', None), _supported_buffer_types):
|
||||
return data.obj, data
|
||||
view = memoryview(data)
|
||||
return view.tobytes(), view
|
||||
|
||||
|
||||
@ -292,6 +292,7 @@ class TestBSON(unittest.TestCase):
|
||||
bs = b"".join(map(BSON.encode, docs))
|
||||
self.assertEqual(docs, decode_all(bytearray(bs)))
|
||||
self.assertEqual(docs, decode_all(memoryview(bs)))
|
||||
self.assertEqual(docs, decode_all(memoryview(b'1' + bs + b'1')[1:-1]))
|
||||
if PY3:
|
||||
import array
|
||||
import mmap
|
||||
@ -307,6 +308,7 @@ class TestBSON(unittest.TestCase):
|
||||
self.assertEqual(doc, decode(bs))
|
||||
self.assertEqual(doc, decode(bytearray(bs)))
|
||||
self.assertEqual(doc, decode(memoryview(bs)))
|
||||
self.assertEqual(doc, decode(memoryview(b'1' + bs + b'1')[1:-1]))
|
||||
if PY3:
|
||||
import array
|
||||
import mmap
|
||||
|
||||
Loading…
Reference in New Issue
Block a user