From 1731868ae7a2d22e26e9ed939be18929fed81400 Mon Sep 17 00:00:00 2001 From: Rami Ali Date: Wed, 21 Dec 2016 17:51:42 +1100 Subject: [PATCH] tests: Add tests to improve coverage of objarray.c. --- tests/basics/memoryview1.py | 7 +++++++ tests/misc/non_compliant.py | 6 ++++++ tests/misc/non_compliant.py.exp | 1 + 3 files changed, 14 insertions(+) diff --git a/tests/basics/memoryview1.py b/tests/basics/memoryview1.py index 862a573e84..1cd411195d 100644 --- a/tests/basics/memoryview1.py +++ b/tests/basics/memoryview1.py @@ -28,6 +28,7 @@ print(list(m[1:-1])) # this tests get_buffer of memoryview m = memoryview(bytearray(2)) print(bytearray(m)) +print(list(memoryview(memoryview(b'1234')))) # read-only memoryview import array a = array.array('i', [1, 2, 3, 4]) @@ -78,3 +79,9 @@ try: m4[1:3] = m2[1:3] except ValueError: print("ValueError") + +# invalid assignment on RHS +try: + memoryview(array.array('i'))[0:2] = b'1234' +except ValueError: + print('ValueError') diff --git a/tests/misc/non_compliant.py b/tests/misc/non_compliant.py index 677438b832..e8ec74b5d7 100644 --- a/tests/misc/non_compliant.py +++ b/tests/misc/non_compliant.py @@ -118,3 +118,9 @@ print(ustruct.pack('bb', 1, 2, 3)) # struct pack with too few args, not checked by uPy print(ustruct.pack('bb', 1)) + +# array slice assignment with unsupported RHS +try: + bytearray(4)[0:1] = [1, 2] +except NotImplementedError: + print('NotImplementedError') diff --git a/tests/misc/non_compliant.py.exp b/tests/misc/non_compliant.py.exp index 737650e9e9..caa5c4569b 100644 --- a/tests/misc/non_compliant.py.exp +++ b/tests/misc/non_compliant.py.exp @@ -18,3 +18,4 @@ NotImplementedError NotImplementedError b'\x01\x02' b'\x01\x00' +NotImplementedError