rastrillo / fiesta Public

Task 7: rst-snippet, red then green open

On branch fiesta-1-1

Task 7, rst-snippet, commit 3c9ea43 (hub CI passed, 48 of 48 shards, suite 101 s).

Model: Claude Opus 5.5 (claude-opus-5-5), default reasoning setting.

Red, against the example with no snippet CSS

--- FAIL: TestTheSnippetHugsItsLineAndWrapsOnAPhone (0.69s)
    snippet_browser_test.go:120: / at 1280: the box is 1265.0px wide; want 657.0px, the line (606.9), the gap (0.0), the button (50.1) and the padding and border (0.0)
    snippet_browser_test.go:120: /rtl at 1280: the box is 1265.0px wide; want 657.0px, the line (606.9), the gap (0.0), the button (50.1) and the padding and border (0.0)
    snippet_browser_test.go:134: / at 390: the code's last character spans 462.4 to 472.0, outside the box's 0.0 to 375.0
    snippet_browser_test.go:137: / at 390: the page is 472px wide in a 390px viewport; the code must wrap, not scroll sideways
    snippet_browser_test.go:137: /rtl at 390: the page is 472px wide in a 390px viewport; the code must wrap, not scroll sideways
    snippet_browser_test.go:134: / at 320: the code's last character spans 462.4 to 472.0, outside the box's 0.0 to 305.0
    snippet_browser_test.go:137: / at 320: the page is 472px wide in a 320px viewport; the code must wrap, not scroll sideways
    snippet_browser_test.go:137: /rtl at 320: the page is 472px wide in a 320px viewport; the code must wrap, not scroll sideways
--- FAIL: TestTheSnippetWithNoScript (0.57s)
    snippet_browser_test.go:205: /: the empty status is 0.0 by 16.0; while it has nothing to say it takes no room
    snippet_browser_test.go:208: /: the code's user-select is "auto" (-webkit- "auto"); want all, so one click selects the whole line to copy by hand
    snippet_browser_test.go:205: /rtl: the empty status is 0.0 by 16.0; while it has nothing to say it takes no room
    snippet_browser_test.go:208: /rtl: the code's user-select is "auto" (-webkit- "auto"); want all, so one click selects the whole line to copy by hand
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	3.974s
FAIL

The floors drive with the scriptShown entry removed (the state before the exception):

--- FAIL: TestEveryExampleStateMeetsTheFloorsWithAMouse (38.99s)
        coverage_browser_test.go:494: 1280 mouse, no scripts, snippet/a-line-to-copy: [rst-btn] (Buttons, all sizes) is measured with scripts and not without; the component does not work with no script
        coverage_browser_test.go:522: 1280 mouse, no scripts: 158 of the manifest's 158 states served, 270 controls measured
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	38.997s
FAIL

The grammar rows for :empty, before the grammar admitted it:

--- FAIL: TestOnlyNewMarkupPassesTheGrammar (0.00s)
    selectors_test.go:586: requiresNewMarkup("[rst-page]:empty") refused it saying "[rst-page]:empty: `:empty` is outside the grammar", which does not name "positively requires"
    selectors_test.go:582: requiresNewMarkup("[rst-snippet-status]:empty") = false ([rst-snippet-status]:empty: `:empty` is outside the grammar), want true
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	0.002s
FAIL

Mutations (scratch worktree /var/tmp/fiesta-t7-mut, each reverted)

=== M1 no fit-content: css/tokens.css
--- FAIL: TestTheSnippetHugsItsLineAndWrapsOnAPhone (0.76s)
    snippet_browser_test.go:121: / at 1280: the box is 1265.0px wide; want 629.9px, the line (541.9), the gap (0.0), the button (62.1) and the padding and border (26.0)
    snippet_browser_test.go:121: /rtl at 1280: the box is 1265.0px wide; want 629.9px, the line (541.9), the gap (0.0), the button (62.1) and the padding and border (26.0)
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	4.151s
FAIL
=== M2 no overflow-wrap: css/tokens.css
--- FAIL: TestTheSnippetHugsItsLineAndWrapsOnAPhone (0.73s)
    snippet_browser_test.go:135: / at 390: the code's last character spans 417.6 to 426.0, outside the box's 0.0 to 375.0
    snippet_browser_test.go:138: / at 390: the page is 426px wide in a 390px viewport; the code must wrap, not scroll sideways
    snippet_browser_test.go:135: /rtl at 390: the code's last character spans 483.8 to 492.3, outside the box's 0.0 to 375.0
    snippet_browser_test.go:135: / at 320: the code's last character spans 417.6 to 426.0, outside the box's 0.0 to 305.0
    snippet_browser_test.go:138: / at 320: the page is 426px wide in a 320px viewport; the code must wrap, not scroll sideways
    snippet_browser_test.go:135: /rtl at 320: the code's last character spans 483.8 to 492.3, outside the box's 0.0 to 305.0
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	4.131s
FAIL
=== M3 1fr without minmax(0): css/tokens.css
ok  	amadan.net/rastrillo/fiesta/check	4.193s
=== M4 no :empty clip: css/tokens.css
--- FAIL: TestTheSnippetWithNoScript (0.62s)
    snippet_browser_test.go:206: /: the empty status is 541.9 by 0.0; while it has nothing to say it takes no room
    snippet_browser_test.go:206: /rtl: the empty status is 541.9 by 0.0; while it has nothing to say it takes no room
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	4.065s
FAIL
=== M5 status display:none while empty: css/tokens.css
--- FAIL: TestTheSnippetWithNoScript (0.60s)
    snippet_browser_test.go:212: /: the empty status is not a status node in the accessibility tree
    snippet_browser_test.go:212: /rtl: the empty status is not a status node in the accessibility tree
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	3.965s
FAIL
=== M6 no user-select: css/tokens.css
--- FAIL: TestTheSnippetWithNoScript (0.59s)
    snippet_browser_test.go:209: /: the code's user-select is "auto" (-webkit- "auto"); want all, so one click selects the whole line to copy by hand
    snippet_browser_test.go:209: /rtl: the code's user-select is "auto" (-webkit- "auto"); want all, so one click selects the whole line to copy by hand
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	4.045s
FAIL
=== M7 no box-sizing: css/tokens.css
ok  	amadan.net/rastrillo/fiesta/check	3.963s
=== M3' overflow-wrap and min-inline-size both gone: css/tokens.css
--- FAIL: TestTheSnippetHugsItsLineAndWrapsOnAPhone (0.69s)
    snippet_browser_test.go:135: / at 390: the code's last character spans 417.6 to 426.0, outside the box's 0.0 to 375.0
    snippet_browser_test.go:138: / at 390: the page is 482px wide in a 390px viewport; the code must wrap, not scroll sideways
    snippet_browser_test.go:138: /rtl at 390: the page is 482px wide in a 390px viewport; the code must wrap, not scroll sideways
    snippet_browser_test.go:135: / at 320: the code's last character spans 417.6 to 426.0, outside the box's 0.0 to 305.0
    snippet_browser_test.go:138: / at 320: the page is 482px wide in a 320px viewport; the code must wrap, not scroll sideways
    snippet_browser_test.go:138: /rtl at 320: the page is 482px wide in a 320px viewport; the code must wrap, not scroll sideways
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	3.946s
FAIL
=== M8 the button not hidden in the markup: examples/snippet/a-line-to-copy.html
--- FAIL: TestTheSnippetWithNoScript (0.58s)
    snippet_browser_test.go:203: /: with no script the Copy button is displayed; it could only do nothing
    snippet_browser_test.go:203: /rtl: with no script the Copy button is displayed; it could only do nothing
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	4.012s
FAIL
=== M9 dir=ltr off the code: examples/snippet/a-line-to-copy.html
--- FAIL: TestTheSnippetHugsItsLineAndWrapsOnAPhone (0.68s)
    snippet_browser_test.go:116: /rtl at 1280: the code's direction is rtl; code reads left to right in any page
    snippet_browser_test.go:116: /rtl at 390: the code's direction is rtl; code reads left to right in any page
    snippet_browser_test.go:116: /rtl at 320: the code's direction is rtl; code reads left to right in any page
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	3.948s
FAIL
=== M10 the example's done string not the table's: examples/snippet/a-line-to-copy.html
--- FAIL: TestTheSnippetExampleCopies (2.70s)
    snippet_browser_test.go:224: /, click 1: the label reads "Done" and the status "Done"; want "Copied" in both
    snippet_browser_test.go:224: /, click 2: the label reads "Done" and the status "Done"; want "Copied" in both
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	2.705s
FAIL
=== M11 the gallery leaves copy- strings in English: internal/gallery/localise.go
--- FAIL: TestTheEnhancedControlsCarryThePagesStrings (4.09s)
    localise_test.go:446: snippet/a-line-to-copy: data-rst-copy-done is "Copied", want the ja catalog's "コピーしました"
    localise_test.go:446: snippet/a-line-to-copy: data-rst-copy-failed is "Copy failed. Select the code and copy it yourself.", want the ja catalog's "コピーできませんでした。コードを選択して、ご自身でコピーしてください。"
FAIL
FAIL	amadan.net/rastrillo/fiesta/internal/gallery	4.119s
FAIL
=== M12 the example's button carries no copy strings: examples/snippet/a-line-to-copy.html
--- FAIL: TestTheEnhancedControlsCarryThePagesStrings (4.05s)
    localise_test.go:419: snippet/a-line-to-copy carries no data-rst-copy-done on its Copy button
    localise_test.go:419: snippet/a-line-to-copy carries no data-rst-copy-failed on its Copy button
FAIL
FAIL	amadan.net/rastrillo/fiesta/internal/gallery	4.073s
FAIL
=== M13 the snippet example renamed snippet-copy (scriptShown's control)
--- FAIL: TestEveryExampleStateMeetsTheFloorsWithAMouse (38.85s)
        coverage_browser_test.go:495: 1280 mouse, no scripts, snippet-copy/a-line-to-copy: [rst-btn] (Buttons, all sizes) is measured with scripts and not without; the component does not work with no script
        coverage_browser_test.go:523: 1280 mouse, no scripts: 158 of the manifest's 158 states served, 270 controls measured
    coverage_browser_test.go:528: scriptShown excuses snippet [rst-btn] with no script, and no state needed it; drop the entry or fix its key
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	38.852s
FAIL

Two mutations stayed green, and what that changed:

  • M3 (minmax(0, 1fr) to 1fr): overflow-wrap: anywhere with min-inline-size: 0 already lets the column narrow, so the commit uses 1fr and the CSS comment no longer claims minmax does it. M3' (both declarations gone) is red.
  • M7 (box-sizing dropped): a box in a block container is capped by fit-content before max-inline-size matters, so no test here can see it. Kept so that max-inline-size: 100% means the whole box in a flex or grid cell.

Green

ok  	amadan.net/rastrillo/fiesta/check	6.650s
--- PASS: TestAClassSpelledSnippetCopies (2.70s)
--- PASS: TestTheSnippetHugsItsLineAndWrapsOnAPhone (0.67s)
--- PASS: TestTheSnippetWithNoScript (0.59s)
--- PASS: TestTheSnippetExampleCopies (2.68s)
ok  	amadan.net/rastrillo/fiesta/check	6.648s
--- PASS: TestEveryExampleStateMeetsTheFloorsOnAPhone (19.99s)
--- PASS: TestEveryExampleStateMeetsTheFloorsWithAMouse (38.81s)
--- FAIL: TestBothSpellingsComputeTheSameStyles (3.83s)
--- PASS: TestEveryTapTargetIsAtLeast44Pixels (5.22s)
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	67.855s
FAIL
--- PASS: TestBothSpellingsComputeTheSameStyles (after the fixture gained two class-spelled snippets)

go test ./check ./internal/gallery ./example . ./internal/www ./internal/build -count=1: ok. Gallery browser: TestPreviewFrameHeightsFit* and TestEveryExamplePassesAxe ok (434 s), and the height drives again with the new numbers (379 s).

Size, gzip level 6 (allotment 240): fiesta.css 23,253 to 23,412 (+159), plain 22,538 to 22,698 (+160), signal 22,650 to 22,810 (+160).