From 12dd8df3756d58af2f4d1f54eefd90f1ce1e0dbe Mon Sep 17 00:00:00 2001 From: Damien George Date: Sat, 7 May 2016 21:18:17 +0100 Subject: py/objstr: Binary type of str/bytes for buffer protocol is 'B'. The type is an unsigned 8-bit value, since bytes objects are exactly that. And it's also sensible for unicode strings to return unsigned values when accessed in a byte-wise manner (CPython does not allow this). --- tests/basics/memoryview2.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 tests/basics/memoryview2.py (limited to 'tests') diff --git a/tests/basics/memoryview2.py b/tests/basics/memoryview2.py new file mode 100644 index 000000000..5b2a535f9 --- /dev/null +++ b/tests/basics/memoryview2.py @@ -0,0 +1,11 @@ +# test memoryview accessing maximum values for signed/unsigned elements + +from array import array + +print(list(memoryview(b'\x7f\x80\x81\xff'))) +print(list(memoryview(array('b', [0x7f, -0x80])))) +print(list(memoryview(array('B', [0x7f, 0x80, 0x81, 0xff])))) +print(list(memoryview(array('h', [0x7f00, -0x8000])))) +print(list(memoryview(array('H', [0x7f00, 0x8000, 0x8100, 0xffff])))) +print(list(memoryview(array('i', [0x7f000000, -0x80000000])))) +print(list(memoryview(array('I', [0x7f000000, 0x80000000, 0x81000000, 0xffffffff])))) -- cgit v1.2.3