test(launcher-test): cover STATE_MODAL_CONFLICT FSM transitions

Four new asserts: list -> modal_conflict via open_conflict event;
modal_conflict -> list via esc / cancel / launch_anyway. fsm.lua
updated to the launcher's v0.3.0 copy (byte-identical, smoke.sh
hash-check enforces no drift).
This commit is contained in:
Calic
2026-06-11 02:55:00 +02:00
parent f1d0aec9a5
commit d9ec4d11dc
2 changed files with 20 additions and 14 deletions

View File

@@ -32,6 +32,12 @@ function M.run_tests(ctx)
engine.test.equals(fsm.next(fsm.STATE_LIST, "click_module"), fsm.STATE_LIST, "list+click_module -> list (switch is side-effect)")
engine.test.equals(fsm.next("garbage_state", "esc"), "garbage_state", "unknown state passes through unchanged")
-- ----- Conflict-modal FSM transitions (4) -----
engine.test.equals(fsm.next(fsm.STATE_LIST, "open_conflict"), fsm.STATE_MODAL_CONFLICT, "list+open_conflict -> modal_conflict")
engine.test.equals(fsm.next(fsm.STATE_MODAL_CONFLICT, "esc"), fsm.STATE_LIST, "modal_conflict+esc -> list")
engine.test.equals(fsm.next(fsm.STATE_MODAL_CONFLICT, "cancel"), fsm.STATE_LIST, "modal_conflict+cancel -> list")
engine.test.equals(fsm.next(fsm.STATE_MODAL_CONFLICT, "launch_anyway"), fsm.STATE_LIST, "modal_conflict+launch_anyway -> list")
-- ----- Engine-surface existence (unchanged) -----
engine.test.assert(type(engine.module.list) == "function", "engine.module.list is function")
engine.test.assert(type(engine.module.dir_of) == "function", "engine.module.dir_of is function")