Add The Frontier, a second setting, and a picker to choose between them
Cold Fork is a freight yard: 29 events across two stages, a four-day cycle, and its own relationship and skill vocabulary. src/engine/ was not touched. Adding it needed three changes outside the engine: one save slot per pack, app.js holding the current pack, and turn.js no longer naming the mailroom (DECISIONS #34). build.js now handles imports wrapped across lines. A conformance suite runs over every registered pack. DECISIONS #35 records three calls on open questions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RxdJFbLq1rBKsUeticGV1g
This commit is contained in:
co-authored by
Claude Opus 5
parent
4957c24e31
commit
7f20be83e8
@@ -36,6 +36,18 @@ test('the bundle builds, and the bundled game boots and plays', () => {
|
||||
// eslint-disable-next-line no-new-func -- running the build output is the point
|
||||
new Function(script)();
|
||||
|
||||
// Nothing is saved and nothing is remembered, so a build shipping more
|
||||
// than one setting opens on the picker. Click into the first one and carry
|
||||
// on — this exercises the front door in the real bundle, which is the one
|
||||
// place the pack registry, the picker screen and the save slots all meet.
|
||||
assert.ok(firstByClass(dom.root, 'screen--packs'), 'the bundled game rendered the picker');
|
||||
assert.match(dom.root.textContent, /Corporate Ladder/, 'the packs are named');
|
||||
assert.match(dom.root.textContent, /The Frontier/);
|
||||
|
||||
const start = byClass(dom.root, 'button').find((b) => /Start here|Keep playing/.test(b.textContent));
|
||||
assert.ok(start, 'the picker offers a way in');
|
||||
start.click();
|
||||
|
||||
assert.ok(firstByClass(dom.root, 'screen--turn'), 'the bundled game rendered a turn');
|
||||
assert.match(dom.root.textContent, /Day 1/);
|
||||
assert.match(dom.root.textContent, /Marlene Hobb/);
|
||||
|
||||
Reference in New Issue
Block a user