test(P.3.4): initial — lib-sporel.launcher-test v0.1.0 (12 assertions, P.3.1 pattern)

This commit is contained in:
Calic
2026-05-12 23:15:50 +02:00
commit b27911484e
3 changed files with 43 additions and 0 deletions

26
init.lua Normal file
View File

@@ -0,0 +1,26 @@
-- lib-sporel.launcher-test — P.3.4
-- 12 assertions: 5 FSM transitions + 1 FSM stability + 6 Engine-Surface existence.
-- Pattern follows P.3.1 Test-Module-Pattern; TAP output via engine.test.*
local fsm = dofile(engine.module.dir_of("lib-sporel.launcher") .. "/fsm.lua")
function init(ctx)
-- FSM transitions (5)
engine.test.equals(fsm.next(fsm.STATE_LIST, "esc"), fsm.STATE_QUIT_CONFIRM, "list+esc -> quit_confirm")
engine.test.equals(fsm.next(fsm.STATE_QUIT_CONFIRM, "esc"), fsm.STATE_LIST, "quit_confirm+esc -> list")
engine.test.equals(fsm.next(fsm.STATE_QUIT_CONFIRM, "enter"), fsm.EXIT, "quit_confirm+enter -> exit")
engine.test.equals(fsm.next(fsm.STATE_QUIT_CONFIRM, "click_yes"), fsm.EXIT, "quit_confirm+click_yes -> exit")
engine.test.equals(fsm.next(fsm.STATE_QUIT_CONFIRM, "click_no"), fsm.STATE_LIST, "quit_confirm+click_no -> list")
-- FSM stability (1)
engine.test.equals(fsm.next(fsm.STATE_LIST, "click_module"), fsm.STATE_LIST, "list+click_module -> list (switch is side-effect)")
-- Engine-surface existence (6)
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")
engine.test.assert(type(engine.render.draw_text) == "function", "engine.render.draw_text is function")
engine.test.assert(type(engine.render.measure_text) == "function", "engine.render.measure_text is function")
engine.test.assert(type(engine.module.list()) == "table", "engine.module.list() returns table")
local w, h = engine.render.measure_text("Test", 20)
engine.test.assert(w > 0 and h > 0, "measure_text returns positive dimensions")
end

6
manifest.core Normal file
View File

@@ -0,0 +1,6 @@
{
"id": "lib-sporel.launcher-test.core",
"kind": "lib",
"version": "0.1.0",
"license": "Proprietary"
}

11
manifest.module Normal file
View File

@@ -0,0 +1,11 @@
{
"id": "lib-sporel.launcher-test",
"version": "0.1.0",
"kind": "test-module",
"api": "^0.1",
"entry_point": "init.lua",
"deps": [
{ "id": "lib-sporel.launcher", "version": "0.1.0" },
{ "id": "lib-core.input", "version": "0.3.0" }
]
}