diff --git a/init.lua b/init.lua index 27ee98a..36d5d3e 100644 --- a/init.lua +++ b/init.lua @@ -29,6 +29,34 @@ return M engine.test.equals(#empty.private, 0, "parse_lua_surface: empty source = no private") end + -- ===== parse_readme_api ===== + do + local md = [[ +# lib-core.input + +Some abstract. + +## API + +### `input.bind(action_name, keys)` +**Syntax:** `input.bind(action_name: string, keys: string[]) → void` + +### `input.is_action_down(action) → bool` +Description. + +## Conventions +Stuff. +]] + local doc = api.parse_readme_api(md) + engine.test.equals(#doc.documented, 2, "parse_readme_api: 2 documented functions") + engine.test.equals(doc.documented[1], "bind", "parse_readme_api: first = bind") + engine.test.equals(doc.documented[2], "is_action_down", "parse_readme_api: second = is_action_down") + + -- Edge: no API section + local no_api = api.parse_readme_api("# Just abstract\nNothing else.") + engine.test.equals(#no_api.documented, 0, "parse_readme_api: no API-section = empty") + end + engine.exit(engine.test.failures()) end