test: assertions for parse_lua_surface (S2 Phase 1)
7 assertions: standard-pattern (2 public + 1 private) + empty-source edge-case. Mutation-resistant: name + count both verified. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
23
init.lua
23
init.lua
@@ -6,6 +6,29 @@ local M = {}
|
||||
function M.run_tests(ctx)
|
||||
-- Assertions added in plan tasks 2-7.
|
||||
|
||||
-- ===== parse_lua_surface =====
|
||||
do
|
||||
local src = [[
|
||||
local M = {}
|
||||
M.foo = function(x) return x end
|
||||
M.bar = function() end
|
||||
M._private = function() end
|
||||
local function not_in_M() end
|
||||
return M
|
||||
]]
|
||||
local surface = api.parse_lua_surface(src)
|
||||
engine.test.equals(#surface.public, 2, "parse_lua_surface: 2 public functions")
|
||||
engine.test.equals(surface.public[1], "foo", "parse_lua_surface: first public is foo")
|
||||
engine.test.equals(surface.public[2], "bar", "parse_lua_surface: second public is bar")
|
||||
engine.test.equals(#surface.private, 1, "parse_lua_surface: 1 private function")
|
||||
engine.test.equals(surface.private[1], "_private", "parse_lua_surface: private name = _private")
|
||||
|
||||
-- Edge: empty source
|
||||
local empty = api.parse_lua_surface("local M = {}\nreturn M")
|
||||
engine.test.equals(#empty.public, 0, "parse_lua_surface: empty source = no public")
|
||||
engine.test.equals(#empty.private, 0, "parse_lua_surface: empty source = no private")
|
||||
end
|
||||
|
||||
engine.exit(engine.test.failures())
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user