Name box in the New world panel (t10)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+15
-2
@@ -41,11 +41,20 @@ with sync_playwright() as p:
|
||||
pg.click('#btn-continue'); pg.wait_for_function('GAME.running')
|
||||
check('Continue loads the migrated seed and playtime', pg.evaluate('worldSeed === 12345 && GAME.playTime >= 3661 && !!GAME.worldId'))
|
||||
pg.evaluate('quitToTitle()')
|
||||
names = {}
|
||||
for seed in [222, 333]:
|
||||
if not pg.is_visible('#nw-seed'): pg.click('#btn-new')
|
||||
pg.fill('#nw-seed', str(seed)); pg.click('#btn-generate')
|
||||
if pg.is_visible('#nw-seed'): pg.click('#btn-new')
|
||||
pg.click('#btn-new')
|
||||
pg.wait_for_function("document.activeElement === $('nw-name')")
|
||||
names[seed] = 'Copper Valley' if seed == 222 else pg.input_value('#nw-name')
|
||||
check(f'new world {seed} offers the next default name', pg.input_value('#nw-name') == f'World {2 if seed == 222 else 3}')
|
||||
if seed == 222:
|
||||
pg.fill('#nw-name', names[seed])
|
||||
pg.screenshot(path=str(out / 'new-world.png'))
|
||||
pg.fill('#nw-seed', str(seed)); pg.press('#nw-name' if seed == 222 else '#nw-seed', 'Enter')
|
||||
pg.wait_for_function('GAME.running', timeout=20000)
|
||||
check(f'new world {seed} shows the Welcome card', pg.evaluate("[...$('cards').children].some(c => c.textContent.includes('Welcome'))"))
|
||||
check(f'pause menu shows world {seed} name', names[seed] in pg.evaluate("() => { openPause(); return $('pause-meta').textContent; }"))
|
||||
pg.evaluate('quitToTitle()')
|
||||
pg.wait_for_function("!$('title').hidden")
|
||||
pg.click('#btn-worlds'); pg.locator('#m-worlds').wait_for(state='visible')
|
||||
@@ -59,6 +68,7 @@ with sync_playwright() as p:
|
||||
pg.set_viewport_size({'width': 1280, 'height': 800}); pg.evaluate("SET.look = 'pixel'")
|
||||
ids = pg.evaluate("async () => Object.fromEntries((await listWorlds()).map(w => [w.seed, w.id]))")
|
||||
for seed in [222, 333]:
|
||||
check(f'Worlds list shows world {seed} name', pg.locator(f'[data-world="{ids[str(seed)]}"] strong').inner_text() == names[seed])
|
||||
row = pg.locator(f'[data-world="{ids[str(seed)]}"]')
|
||||
row.get_by_role('button', name='Load', exact=True).click(); pg.wait_for_function('GAME.running')
|
||||
check(f'Load switches to seed {seed}', pg.evaluate('worldSeed') == seed and pg.evaluate('GAME.worldId') == ids[str(seed)])
|
||||
@@ -93,8 +103,11 @@ with sync_playwright() as p:
|
||||
check('Continue chooses the most recently saved world', pg.evaluate('worldSeed') == 333)
|
||||
pg.evaluate('quitToTitle()')
|
||||
if not pg.is_visible('#nw-seed'): pg.click('#btn-new')
|
||||
blank_default = pg.evaluate("listWorlds().then(w => `World ${w.length + 1}`)")
|
||||
pg.fill('#nw-name', ' ')
|
||||
pg.fill('#nw-seed', '777'); pg.click('#btn-generate')
|
||||
pg.wait_for_function('GAME.running === true', timeout=20000)
|
||||
check('blank new world names use the default', pg.evaluate('GAME.worldName') == blank_default)
|
||||
pg.wait_for_timeout(500)
|
||||
ev = pg.evaluate
|
||||
ev("window._maxStatus = ''; const _ss = setStatus; setStatus = function (s, k) { if (s && s.length > _maxStatus.length) _maxStatus = s; return _ss(s, k); }; 0")
|
||||
|
||||
Reference in New Issue
Block a user