summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/memoryview1.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/basics/memoryview1.py b/tests/basics/memoryview1.py
index 2033f4ac2e..862a573e84 100644
--- a/tests/basics/memoryview1.py
+++ b/tests/basics/memoryview1.py
@@ -36,3 +36,45 @@ print(list(m))
print(list(m[1:-1]))
m[2] = 6
print(a)
+
+# test slice assignment between memoryviews
+b1 = bytearray(b'1234')
+b2 = bytearray(b'5678')
+b3 = bytearray(b'5678')
+m1 = memoryview(b1)
+m2 = memoryview(b2)
+m3 = memoryview(b3)
+m2[1:3] = m1[0:2]
+print(b2)
+b3[1:3] = m1[0:2]
+print(b3)
+m1[2:4] = b3[1:3]
+print(b1)
+
+try:
+ m2[1:3] = b1[0:4]
+except ValueError:
+ print("ValueError")
+
+try:
+ m2[1:3] = m1[0:4]
+except ValueError:
+ print("ValueError")
+
+try:
+ m2[0:4] = m1[1:3]
+except ValueError:
+ print("ValueError")
+
+# test memoryview of arrays with items sized larger than 1
+a1 = array.array('i', [0]*5)
+m4 = memoryview(a1)
+a2 = array.array('i', [3]*5)
+m5 = memoryview(a2)
+m4[1:3] = m5[1:3]
+print(a1)
+
+try:
+ m4[1:3] = m2[1:3]
+except ValueError:
+ print("ValueError")