py/modstruct: Allow to have "0s" in struct format.

This commit is contained in:
Damien George
2016-05-28 23:27:38 +01:00
parent 282d81a40e
commit 715ee9d925
2 changed files with 37 additions and 15 deletions

28
tests/basics/struct2.py Normal file
View File

@@ -0,0 +1,28 @@
# test ustruct with a count specified before the type
try:
import ustruct as struct
except:
import struct
print(struct.calcsize('0s'))
print(struct.unpack('0s', b''))
print(struct.pack('0s', b'123'))
print(struct.calcsize('2s'))
print(struct.unpack('2s', b'12'))
print(struct.pack('2s', b'123'))
print(struct.calcsize('2H'))
print(struct.unpack('<2H', b'1234'))
print(struct.pack('<2H', 258, 515))
print(struct.calcsize('0s1s0H2H'))
print(struct.unpack('<0s1s0H2H', b'01234'))
print(struct.pack('<0s1s0H2H', b'abc', b'abc', 258, 515))
# check that zero of an unknown type raises an exception
try:
struct.calcsize('0z')
except:
print('Exception')