diff --git a/init.lua b/init.lua index 6194bc8..148e481 100644 --- a/init.lua +++ b/init.lua @@ -80,6 +80,31 @@ Stuff. engine.test.equals(#diff3.stale_docs, 2, "diff_surface: 2 stale docs") end + -- ===== grep_engine_calls ===== + do + local src = [[ +local input = require("lib-core.input") +function update(ctx, dt) + if engine.input.is_action_down("foo") then + engine.render.text("hi") + end + engine.window.size() +end +]] + local calls = api.grep_engine_calls(src) + -- Order not guaranteed; check set membership + local set = {} + for _, c in ipairs(calls) do set[c] = true end + engine.test.assert(set["engine.input.is_action_down"], "grep_engine_calls: engine.input.is_action_down") + engine.test.assert(set["engine.render.text"], "grep_engine_calls: engine.render.text") + engine.test.assert(set["engine.window.size"], "grep_engine_calls: engine.window.size") + engine.test.equals(#calls, 3, "grep_engine_calls: 3 unique calls") + + -- Edge: no engine calls + local empty = api.grep_engine_calls("local M = {}\nreturn M") + engine.test.equals(#empty, 0, "grep_engine_calls: empty -> 0") + end + engine.exit(engine.test.failures()) end