chroma_solstice/libs/narrator/test/runtime/jumping.lua
Your Name 03532d29e4 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>
2026-08-11 11:37:09 -04:00

39 lines
No EOL
874 B
Lua

local narrator, describe, it, assert = ...
local content = [[
A root line
=== knot
A knot line
= stitch
A stitch line
=== somewhere
- (label) A label line
]]
local book = narrator.parse_content(content)
local story = narrator.init_story(book)
story:begin()
local paragraphs = story:continue()
it('Jump to label.', function()
story:jump_to('somewhere.label')
local paragraphs = story:continue()
assert.equal(#paragraphs, 1)
assert.equal(paragraphs[1].text, 'A label line')
end)
it('Jump to stitch.', function()
story:jump_to('knot.stitch')
local paragraphs = story:continue()
assert.equal(#paragraphs, 1)
assert.equal(paragraphs[1].text, 'A stitch line')
end)
it('Jump to knot.', function()
story:jump_to('knot')
local paragraphs = story:continue()
assert.equal(#paragraphs, 1)
assert.equal(paragraphs[1].text, 'A knot line')
end)