Skip to content

Commit a4d4ce4

Browse files
committed
heap items Sequence tests
1 parent 6dcc221 commit a4d4ce4

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

tests/test_parse.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ def test_guids():
6464
assert dn.net.guids.get(0) is None
6565
assert dn.net.guids.get(1).value == b"\x8c\x8b\xc5\x48\xff\x24\x91\x45\x9e\xc8\x94\xbf\xea\xbd\x9f\x3e"
6666

67+
6768
def test_tables():
6869
path = fixtures.get_data_path_by_name("hello-world.exe")
6970

@@ -313,6 +314,8 @@ def test_heap_items():
313314
assert str_item.encoding == "utf-8"
314315
assert str_item.value == buf_decoded
315316
assert str_item == buf_decoded
317+
assert len(str_item) == len(buf_decoded)
318+
assert str_item[5] == buf_decoded[5]
316319

317320
# HeapItemBinary
318321
buf_with_compressed_int_len = b"\x0a1234567890"
@@ -324,10 +327,14 @@ def test_heap_items():
324327
assert bin_item == buf
325328

326329
# UserString
327-
buf_with_flag = b"\x0b1234567890\x00"
328-
buf = b"1234567890"
330+
buf_with_flag = b"\x151\x002\x003\x004\x005\x006\x007\x008\x009\x000\x00\x00"
331+
us_str = "1234567890"
329332
us_item = dnfile.stream.UserString(buf_with_flag)
330333
assert us_item.to_bytes() == buf_with_flag
334+
assert us_item.value == us_str
335+
assert us_item == us_str
336+
assert len(us_item) == len(us_str)
337+
assert us_item[5] == us_str[5]
331338

332339
# GUID
333340
guid_bytes = b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"

0 commit comments

Comments
 (0)