summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/bytearray_slice_assign.py
blob: 510e784da79a14ce8262f7fbfffe234fb9314069 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
try:
    bytearray()[:] = bytearray()
except TypeError:
    print("SKIP")
    import sys
    sys.exit()

# test slices; only 2 argument version supported by Micro Python at the moment
x = bytearray(range(10))

# Assignment
l = bytearray(x)
l[1:3] = bytearray([10, 20])
print(l)
l = bytearray(x)
l[1:3] = bytearray([10])
print(l)
l = bytearray(x)
l[1:3] = bytearray()
print(l)
l = bytearray(x)
#del l[1:3]
print(l)

l = bytearray(x)
l[:3] = bytearray([10, 20])
print(l)
l = bytearray(x)
l[:3] = bytearray()
print(l)
l = bytearray(x)
#del l[:3]
print(l)

l = bytearray(x)
l[:-3] = bytearray([10, 20])
print(l)
l = bytearray(x)
l[:-3] = bytearray()
print(l)
l = bytearray(x)
#del l[:-3]
print(l)

# slice assignment that extends the array
b = bytearray(2)
b[2:] = bytearray(10)
print(b)

b = bytearray(10)
b[:-1] = bytearray(500)
print(len(b), b[0], b[-1])

# Assignment of bytes to array slice
b = bytearray(2)
b[1:1] = b"12345"
print(b)