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
62
63
64
65
66
67
68
69
70
|
# coding: ASCII
import sys
if sys.version_info[0] < 3:
__doc__ = u"""
>>> expected = ''.join([chr(i) for i in range(0x10,0xFF,0x11)] + [chr(0xFF)])
>>> s = test_assign()
>>> assert s == expected, repr(s)
>>> s = test_array()
>>> assert s == expected, repr(s)
"""
else:
__doc__ = u"""
>>> expected = bytes(list(range(0x10,0xFF,0x11)) + [0xFF])
>>> s = test_assign()
>>> assert s == expected, repr(s)
>>> s = test_array()
>>> assert s == expected, repr(s)
"""
def test_assign():
cdef char[17] s
s[ 0] = c'\x10'
s[ 1] = c'\x21'
s[ 2] = c'\x32'
s[ 3] = c'\x43'
s[ 4] = c'\x54'
s[ 5] = c'\x65'
s[ 6] = c'\x76'
s[ 7] = c'\x87'
s[ 8] = c'\x98'
s[ 9] = c'\xA9'
s[10] = c'\xBA'
s[11] = c'\xCB'
s[12] = c'\xDC'
s[13] = c'\xED'
s[14] = c'\xFE'
s[15] = c'\xFF'
s[16] = c'\x00'
return s
def test_array():
cdef char* s = [
c'\x10',
c'\x21',
c'\x32',
c'\x43',
c'\x54',
c'\x65',
c'\x76',
c'\x87',
c'\x98',
c'\xA9',
c'\xBA',
c'\xCB',
c'\xDC',
c'\xED',
c'\xFE',
c'\xFF',
c'\x00',
]
return s
|