rastrillo / fiesta Public

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 package

The 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)