Vendor libs/hump, sfxrlua, json4lua, narrator as real files
These were committed as empty submodule gitlinks with no .gitmodules, so the folders were never populated and the game could not load (require of libs/hump/timer, libs/sfxrlua/sfxr, narrator.narrator). Checked out each at its pinned commit and vendored the files, matching the existing bundled-libs convention. Removed the junk libs/libs/ tree. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e73f63b5d4
commit
03532d29e4
219 changed files with 20254 additions and 252 deletions
42
libs/narrator/test/runtime/binding.lua
Normal file
42
libs/narrator/test/runtime/binding.lua
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
local narrator, describe, it, assert = ...
|
||||
|
||||
local content = [[
|
||||
~ beep()
|
||||
{ sum(1, 2) }
|
||||
{ did_solve_puzzle("labirint") }
|
||||
]]
|
||||
|
||||
local book = narrator.parse_content(content)
|
||||
local story = narrator.init_story(book)
|
||||
|
||||
local is_beeped = false
|
||||
local puzzles = { }
|
||||
|
||||
story:bind('beep', function()
|
||||
is_beeped = true
|
||||
end)
|
||||
|
||||
story:bind('sum', function(x, y)
|
||||
return x + y
|
||||
end)
|
||||
|
||||
story:bind('did_solve_puzzle', function(puzzle)
|
||||
puzzles[puzzle] = true
|
||||
end)
|
||||
|
||||
story:begin()
|
||||
|
||||
it('Was a beep?', function()
|
||||
assert.is_true(is_beeped)
|
||||
end)
|
||||
|
||||
it('Sum is equal to 3.', function()
|
||||
local paragraphs = story:continue()
|
||||
assert.equal(#paragraphs, 1)
|
||||
assert.equal('3', paragraphs[1].text)
|
||||
end)
|
||||
|
||||
it('Labirint is sovled.', function()
|
||||
local puzzle_is_solved = puzzles['labirint']
|
||||
assert.is_true(puzzle_is_solved)
|
||||
end)
|
||||
Loading…
Add table
Add a link
Reference in a new issue