macresources/test_all.py

43 lines
2.0 KiB
Python

from resourcefork import *
RF = b'\x00\x00\x01\x00\x00\x00\x01\x08\x00\x00\x00\x08\x00\x00\x00;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x124Vx\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x002\x00\x00elmo\x00\x00\x00\n\x00{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08lamename'
RZF = b"""
data 'elmo' (123, "lamename") {
$"12345678"
};
""".strip()
def test_enum():
r = ResourceAttrs
r1 = ResourceAttrs.sysheap
r2 = ResourceAttrs.purgeable
assert int(r1 | r2) == 0x60
assert bool((r1 | r2) & r1)
def test_parse_file():
l = list(parse_file(RF))
assert l[0].type == b'elmo'
assert l[0].name == 'lamename'
assert l[0].data == b'\x12\x34\x56\x78'
def test_parse_rez_code():
l = list(parse_rez_code(RZF))
assert l[0].type == b'elmo'
assert l[0].name == 'lamename'
assert l[0].data == b'\x12\x34\x56\x78'
def test_make_file():
l = list(parse_file(RF))
fork = make_file(l)
assert b'elmo' in fork
def test_make_rez_code():
l = list(parse_file(RF))
rez = make_rez_code(l)
assert b'1234 5678' in rez