diff --git a/init.lua b/init.lua index 148e481..6fa0ca4 100644 --- a/init.lua +++ b/init.lua @@ -105,6 +105,28 @@ end engine.test.equals(#empty, 0, "grep_engine_calls: empty -> 0") end + -- ===== generate_topology_block ===== + do + -- Standard: lib with 1 dep + engine-calls + local manifest = { + id = "lib-core.foo", + deps = { {id="lib-core.bar"} } + } + local engine_calls = {"engine.input.is_action_down"} + local mermaid = api.generate_topology_block(manifest, engine_calls) + engine.test.assert(string.find(mermaid, "graph LR") or string.find(mermaid, "graph TD"), + "generate_topology_block: starts with graph directive") + engine.test.assert(string.find(mermaid, "lib%-core%.foo", 1, false), "generate_topology_block: self-node present") + engine.test.assert(string.find(mermaid, "lib%-core%.bar", 1, false), "generate_topology_block: dep-node present") + engine.test.assert(string.find(mermaid, "engine%.%*", 1, false), "generate_topology_block: engine-node present") + + -- Asset-Lib: no deps, no engine-calls + local asset = { id = "lib-asset.sprites", deps = {} } + local asset_mermaid = api.generate_topology_block(asset, {}) + engine.test.assert(string.find(asset_mermaid, "lib%-asset%.sprites", 1, false), "generate_topology_block: asset-lib has self-node") + engine.test.assert(not string.find(asset_mermaid, "engine%.%*", 1, false), "generate_topology_block: asset-lib has no engine-node") + end + engine.exit(engine.test.failures()) end