summaryrefslogtreecommitdiff
path: root/testing/cffi0
diff options
context:
space:
mode:
authorArmin Rigo <arigo@tunes.org>2019-01-07 23:23:58 +0100
committerArmin Rigo <arigo@tunes.org>2019-01-07 23:23:58 +0100
commit992922b58e02ebf0a58eb6232112da8c6fe2fdcc (patch)
tree64aeccec9ab6c99de3c138d04f9f727a3e9f642c /testing/cffi0
parentdbdef41518d844776f05adb3dfd18d589d68b704 (diff)
downloadcffi-992922b58e02ebf0a58eb6232112da8c6fe2fdcc.tar.gz
Implement ffi.from_buffer("foo[]", x)
Also contains some improvements to the documentation about other recent additions
Diffstat (limited to 'testing/cffi0')
-rw-r--r--testing/cffi0/test_ffi_backend.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/testing/cffi0/test_ffi_backend.py b/testing/cffi0/test_ffi_backend.py
index 4b43074..12ecaee 100644
--- a/testing/cffi0/test_ffi_backend.py
+++ b/testing/cffi0/test_ffi_backend.py
@@ -324,16 +324,22 @@ class TestBitfield:
a = array.array('H', [10000, 20000, 30000])
c = ffi.from_buffer(a)
assert ffi.typeof(c) is ffi.typeof("char[]")
+ assert len(c) == 6
ffi.cast("unsigned short *", c)[1] += 500
assert list(a) == [10000, 20500, 30000]
- assert c == ffi.from_buffer(a, True)
+ assert c == ffi.from_buffer("char[]", a, True)
assert c == ffi.from_buffer(a, require_writable=True)
#
+ c = ffi.from_buffer("unsigned short[]", a)
+ assert len(c) == 3
+ assert c[1] == 20500
+ #
p = ffi.from_buffer(b"abcd")
assert p[2] == b"c"
#
- assert p == ffi.from_buffer(b"abcd", False)
- py.test.raises((TypeError, BufferError), ffi.from_buffer, b"abcd", True)
+ assert p == ffi.from_buffer(b"abcd", require_writable=False)
+ py.test.raises((TypeError, BufferError), ffi.from_buffer,
+ "char[]", b"abcd", True)
py.test.raises((TypeError, BufferError), ffi.from_buffer, b"abcd",
require_writable=True)