summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/bytearray_slice_assign.py
blob: 7f7d1d119a7d840b8c8c49fc36a098e05aa330b6 (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
58
59
60
61
try:
    bytearray()[:] = bytearray()
except TypeError:
    print("SKIP")
    raise SystemExit

# test slices; only 2 argument version supported by MicroPython 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])

# extension with self on RHS
b = bytearray(x)
b[4:] = b
print(b)

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