spriteforge/tests/test_studio_controls.py

12 lines
703 B
Python

import io
from PIL import Image
from spriteforge.studio.models import Asset
from spriteforge.studio.store import ProjectStore
def test_shot_control_roles_replace_independently(tmp_path):
store=ProjectStore.create(tmp_path/"s","ops","Ops");store.add_asset(Asset(id="a",name="A",kind="other",target_width=10,target_height=10));_,shot=store.add_shot("a","idle",0,0)
image=Image.new("RGBA",(4,4),(255,255,255,255));out=io.BytesIO();image.save(out,"PNG");media=store.import_png(out.getvalue(),"control")
store.attach_control("a",shot.id,media,"control");project=store.attach_control("a",shot.id,media,"mask")
assert {x.role for x in project.assets[0].shots[0].controls}=={"control","mask"}