py: Allow bytes/bytearray/array to be init'd by buffer protocol objects.
Behaviour of array initialisation is subtly different for bytes, bytearray and array.array when argument has buffer protocol. This patch gets us CPython conformant (except we allow initialisation of array.array by buffer with length not a multiple of typecode).
This commit is contained in:
18
tests/basics/array_construct.py
Normal file
18
tests/basics/array_construct.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# test construction of array.array from different objects
|
||||
|
||||
from array import array
|
||||
|
||||
# tuple, list
|
||||
print(array('b', (1, 2)))
|
||||
print(array('h', [1, 2]))
|
||||
|
||||
# raw copy from bytes, bytearray
|
||||
print(array('h', b'12'))
|
||||
print(array('h', bytearray(2)))
|
||||
print(array('i', bytearray(4)))
|
||||
|
||||
# convert from other arrays
|
||||
print(array('H', array('b', [1, 2])))
|
||||
print(array('f', array('h', [1, 2])))
|
||||
print(array('b', array('I', [1, 2])))
|
||||
print(array('d', array('f', [1, 2])))
|
||||
Reference in New Issue
Block a user