Test evidence: Port the menu, select, busy and shell-script drives open
On branch fiesta-1
Test evidence for Task 9 of the Fiesta packaging, copied from the implementer's report so it sits on the branch.
Commits
- 241b9bd Port the menu, select, busy and shell-script drives
fixture controls (scratch copy, a throwaway test, deleted afterwards)
--- FAIL: TestFixtureControlMissingRow
fixture browser_test.go noSuchBuilder "" is not in testdata/fixtures/index.json
--- FAIL: TestFixtureControlExampleRow
fixture sizing_browser_test.go TestDesktopDensityIsPinned "modal" has no path (it names example "modal/default"); read it through the example packageThe new test: TestTheSchemeMenuPassesAxeInBothSchemes
Already passing; control is a mutation. First run, shared tree:
--- PASS: TestTheSchemeMenuPassesAxeInBothSchemes (0.67s)Negative control, scratch copy with the three buttons' text removed from examples/scheme-menu/standalone.html:
scheme_browser_test.go:296: light, menu open: button-name [critical] Buttons must have discernible text: form:nth-child(1) > button; button[aria-current="true"]; form:nth-child(3) > button
scheme_browser_test.go:305: dark, menu open: button-name [critical] Buttons must have discernible text: form:nth-child(1) > button; button[aria-current="true"]; form:nth-child(3) > button
--- FAIL: TestTheSchemeMenuPassesAxeInBothSchemes (0.73s)Preservation tests: first runs
Every ported drive and Node test passed on its first run except TestSelectContract. Node and text: twelve tests PASS. Browser (one run, 36.7s): the three scheme-flip tests, the seven menu, modal, busy and bidi drives (TestBusyButtonDrive 22.0s, both back/forward-cache legs), TestSelectFocusSelectsThePick, the three shell.js drives and the twelve select drives: all PASS.
The one that did not, ported verbatim with SEED's cap:
=== RUN TestSelectContract
scripts_test.go:535: select.js is 54601 bytes; it is split out of the shim precisely to stay readable — trim it
--- FAIL: TestSelectContract (0.00s)Cause: Task 6 added fiestaPickLang and fiestaWord to select.js (+1,473 net) after SEED's 53,128 bytes left 120 under 52 KiB; the cap was raised to 54 KiB with a ledger paragraph (ratified by the review).
Preservation negative control (scratch copy)
dismissMenus in js/fiesta.js given if (e.key === "Escape") return; ahead of its Escape branch:
=== RUN TestLightDismissWorksInBothSpellings
menus_browser_test.go:352: after Escape, open = "rowmenu", want none — same window, same break, by keyboard
--- FAIL: TestLightDismissWorksInBothSpellings (0.57s)
=== RUN TestMenuExclusivityAndDropdownDismissDrive
menus_browser_test.go:475: drive failed after "reopened-submenu": Element is not focusable (-32000)
--- FAIL: TestMenuExclusivityAndDropdownDismissDrive (0.61s)
--- PASS: TestShimContract (0.00s)
--- PASS: TestTheLightDismissGateReadsTheMenuList (0.00s)The two text gates stay green, as the brief says: they catch forbidden entries in the menu list, not a dead Escape.
Shards and the gate
make browser.check~1of3 ok 91.7s 58 of 182 tests
make browser.check~2of3 ok 94.2s 61 of 182 tests
make browser.check~3of3 ok 93.3s 63 of 182 tests
make ci exit 0, wall 276s (browser.internal.harness 5.8s; ~1of3 87.1s, ~2of3 90.5s, ~3of3 85.2s)