Test evidence: A gallery of Fiesta's examples, with axe and keyboard walks over every state open
On branch fiesta-1
Test evidence for Task 13 of the Fiesta packaging, copied from the implementer's report so it sits on the branch.
Commits
- 296284f Port codeview and the token parsers, and hold the embedded tree to no axe
- abfd6e9 A gallery of Fiesta's examples, with axe and keyboard walks over every state
- 788a59d The gallery's labels and the axe README in Fiesta's words (after copy review)
- Fix round 1: 8c2c122 Refuse the other command's directory, hold a frame's autofocus, and close four test gaps
- Fix round 2: aa5ccb6 Resolve a linked -out and refuse links inside the tree before emptying
RED: against a stub Render returning an empty map
--- FAIL: TestRenderWritesEveryStateInEveryTheme (no day/index.html, no frame day/frames/page-header/..., ...)
--- FAIL: TestEveryGalleryURLResolves (checked 0 URLs and 0 of them frames; the walk above read no gallery page)
--- FAIL: TestSampleURLsStayInTheMarkup (no gallery page for page-header)
--- FAIL: TestHighlightColoursPassAgainstTheCodeBackground (gallery.css colours 0 highlight elements, want 5)TestTheGalleryCarriesNoPlaceholderCopy passed on the stub and was red on the implementation until Phase B, as designed. The codeview ports (12 tests) and TestColourValueRecognisesADerivedColour were green on first run.
GREEN: the browser drives
--- PASS: TestEveryExamplePassesAxe (56.06s) 1304 scans, 0 violations
day: scanned in 13s; needs review, axe could not decide: [bypass x60 color-contrast x218]
--- PASS: TestTheGalleryHasNoHorizontalScrollAt320 (6.27s) 77 pages measured
--- PASS: TestAFrameSubmitsNothing (2.43s) 10 forms in 10 frames, 10 submit events, no request
--- PASS: TestTheSchemeMenuRepaintsTheFrames (0.82s)
--- PASS: TestA11yWalksTheKeyboard (1.35s) form: 22 of 22 stops showed a focus indicator, over 22 documents
--- PASS: TestA11yWalksTheStageShell (0.73s) stage shell: 5 stops walked round from rst-signin-emailNegative controls (scratch copies)
outline: none on the two field ring rules (the page hiding focus on purpose):
--- FAIL: TestA11yWalksTheKeyboard (1.26s)
stop 1 (field/bare): input#f_bare has no visible focus indicator (WCAG 2.4.7)
... all 22 stops named ...
--- FAIL: TestA11yWalksTheStageShell (0.69s)
stage shell: tab 6: input#rst-signin-email has no visible focus indicator (WCAG 2.4.7)frame.js without event.preventDefault():
--- FAIL: TestAFrameSubmitsNothing
confirm-form: 0 of 2 frames kept their document through the submits
confirm-form: the submits made 2 request(s): ...frame.js without the parent copy: TestTheSchemeMenuRepaintsTheFrames: a frame loaded after the choice starts on "", want dark. gallery.js ignoring rst-scheme: frame 0 is on "" after Dark was chosen; frame 0 paints rgb(251, 251, 252) after Dark was chosen, which is not dark (x7).
Phase B (788a59d)
go test ./... -count=1 every package ok; make browser.internal.gallery~1of2 ok (52.7s, the axe scan alone), ~2of2 ok (11.3s); make ci exit 0 (check 182/182/177s, gallery 51.9/10.9s).
Fix round 1 (8c2c122)
The shared .fiesta stamp, tests driving the real commands:
# against 788a59d, before the change
--- FAIL: TestGalleryRefusesARelease (0.18s)
claim_test.go:139: fiesta gallery emptied .../001/1.0.0, a release fiesta build wrote
--- FAIL: TestGalleryRefusesADirectoryHoldingARelease (0.37s)
claim_test.go:170: fiesta gallery emptied .../001, which held the release .../001/1.0.0
# after
--- PASS: TestBuildRefusesADirectoryItDoesNotOwn / TestGalleryRefusesARelease / TestGalleryRefusesADirectoryHoldingAReleaseThe :focus-visible control as the brief wrote it, run in a scratch copy with only the pseudo-class removed from the two field ring rules (the Phase A record, which said it could not go red, was wrong: that run had renamed the pseudo-class, dropping the rule):
pseudo-class removed from 2 rules (1915, 1945)
--- FAIL: TestA11yWalksTheKeyboard (1.28s)
stop 1 (field/bare): input#f_bare has no visible focus indicator (WCAG 2.4.7)
... all 22 stops ...
--- FAIL: TestA11yWalksTheStageShell (0.69s)
stage shell: tab 6: input#rst-signin-email has no visible focus indicator (WCAG 2.4.7)Autofocus hold:
# before the port
--- FAIL: TestFramesKeepTheReadersPlace (1.67s)
after the frames loaded, focus is on the parent's iframe, not its body: a frame took it
# after
signin: 5 frames asked for autofocus; focus is on the parent's body at 0px
--- PASS: TestFramesKeepTheReadersPlace (0.98s)Controls for 296284f's tests, in the scratch copy:
tokens: --rst-rail-bg dropped from surfaces-and-lines
--- FAIL: TestEveryThemeHasAPaletteAndNothingIsOther: day: 1 tokens fell through to "other": [--rst-rail-bg] (x3 themes)
tokens: lightHalf returns the whole value
--- FAIL: TestLightHalfSplitsOnlyAWholeValue
axe: engine copied into js/
--- FAIL: TestTheShippedTreeCarriesNoAxe: js/axe.min.js carries the vendored axe-core: it is test data and must not shipRuns on 8c2c122: go test -count=1 ./cmd/... ./internal/gallery/ ok; make browser.internal.gallery~1of2 ok (55.1s), ~2of2 ok (12.1s); make ci exit 0.
Fix round 2 (aa5ccb6)
The symlinked -out, tests driving the real commands:
# against 8c2c122, before the change
--- FAIL: TestGalleryRefusesALinkedDirectoryHoldingARelease (0.43s)
claim_test.go:205: fiesta gallery emptied .../site through the link .../link, and with it the release .../site/1.0.0
--- FAIL: TestGalleryRefusesALinkInsideItsDirectory (0.46s)
claim_test.go:242: fiesta gallery emptied .../site with the link .../site/release in it
# after
--- PASS: TestGalleryRefusesALinkedDirectoryHoldingARelease (0.36s)
--- PASS: TestGalleryRefusesALinkInsideItsDirectory (0.34s)Red runs for the round-1 tests that lacked one:
##### gallery.go: sample hrefs and actions rewritten to the mount root instead of #
--- FAIL: TestSampleURLsStayInTheMarkup (0.19s)
day/frames/list-bar/search-with-a-filter-dropdown.html: <form action="/x/"> is not a fragment
##### copy.go: the unrendered other heading left as a placeholder
--- FAIL: TestTheGalleryCarriesNoPlaceholderCopy (0.15s)
gallery.tokens.group.other is still a placeholder, waiting for copy review
##### gallery.go: the twin's frames not turned around
--- FAIL: TestRTLDocumentsReadRightToLeft (0.16s)
day/rtl/frames/empty-state/sentence-only.html: <html lang="en" dir="ltr"> does not say lang="ar" dir="rtl"Runs on aa5ccb6: go test ./cmd/fiesta ./internal/gallery -count=1 both ok; make ci exit 0 (gallery slices 50.7s and 11.8s, check slices 172/173/170s).