A step opens a tab the way a person has to, through the menu when it is hidden

CI run 35 was red: the suite died after step 15 with `widget with text
"Container" not found`. Nothing in the editor broke — the tenth tab (#73) pushed
Container behind the `»` button at the test window's 1280 px, exactly the case
#84 was built for, and three steps still clicked the tab name directly.

openTab(t, tab) in tools/e2e/lib/scaffold.mjs asks tabRow() whether the tab is
hidden and goes through the menu when it is, so the fix lives in one place rather
than in every step that opens a tab. The LABELS record moves there as TAB_LABELS,
since both the helper and 14-overflow need it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
rootandClaude Opus 5 committed 2026-09-14 07:03:40 +02:00
1 parent 0f9e1611d1
commit 4feb4c2cf6
5 files changed
+43 -24

No files matched your search

+3 -2
View File
@@ -1,4 +1,5 @@
import { colourDistance } from '../lib/harness.mjs';
import { openTab } from './lib/scaffold.mjs';
/**
* The Texture tab: cutting frames out of a sheet, and a sprite wearing one.
@@ -41,8 +42,8 @@ export async function frames(t) {
await evaluate('__gm.state.select(null)');
const texture = await json("(__gm.state.project.assets.find((a) => a.type === 'texture') ?? {}).id ?? ''");
await evaluate(`__gm.state.select({ kind: 'asset', assetId: ${JSON.stringify(texture)} })`);
await clickText('Texture');
await sleep(600);
await openTab(t, 'texture');
await sleep(400);
check('the Texture tab opens', (await json('__gm.tab()')) === 'texture');
check(
'and shows the selected sheet',