rastrillo / fiesta Public

Task 9: rst-stats=pairs and rst-status=inline, red then green open

On branch fiesta-1-1

Implementer: Claude Opus 5.5 (claude-opus-5-5), default reasoning setting. Commits 51a9282 (pairs) and d33262a (inline; ce479f6 re-pushed tree-identical after a fleet flake). Hub CI on d33262a: passed, 48 of 48.

rst-stats="pairs" (51a9282)

Red: the example in, no CSS

--- FAIL: TestPairsPutTwoStatsOnALineOnAPhone (1.17s)
    phone_variants_browser_test.go:155: / at 390: stat 3's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:160: / at 390: stat 3's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: / at 390: stat 4's top hairline is 0px, want 1px
    phone_variants_browser_test.go:140: / at 320: the stats' tops are 1.0, 126.6, 206.8, 310.5; stats 1 and 2 must share a line, and 3 and 4
    phone_variants_browser_test.go:150: / at 320: stat 1 (1.0 to 304.0) is not at the inline start of stat 2 (1.0 to 304.0)
    phone_variants_browser_test.go:150: / at 320: stat 3 (1.0 to 304.0) is not at the inline start of stat 4 (1.0 to 304.0)
    phone_variants_browser_test.go:155: / at 320: stat 3's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:160: / at 320: stat 3's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: / at 320: stat 4's top hairline is 0px, want 1px
    phone_variants_browser_test.go:155: /rtl at 390: stat 3's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:160: /rtl at 390: stat 3's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: /rtl at 390: stat 4's top hairline is 0px, want 1px
    phone_variants_browser_test.go:140: /rtl at 320: the stats' tops are 1.0, 126.6, 206.8, 310.5; stats 1 and 2 must share a line, and 3 and 4
    phone_variants_browser_test.go:150: /rtl at 320: stat 1 (1.0 to 304.0) is not at the inline start of stat 2 (1.0 to 304.0)
    phone_variants_browser_test.go:150: /rtl at 320: stat 3 (1.0 to 304.0) is not at the inline start of stat 4 (1.0 to 304.0)
    phone_variants_browser_test.go:155: /rtl at 320: stat 3's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:160: /rtl at 320: stat 3's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: /rtl at 320: stat 4's top hairline is 0px, want 1px

Green

TestPairsPutTwoStatsOnALineOnAPhone ok, with the plan's run: Pairs|OneOh|TestEveryThemeAndShellRendersAsTheBaseline|TestBothSpellings|TestEveryExampleStateMeetsTheFloors|TestANarrowRowGivesItsTitleTheWidth ok (360 s); go test . ./example ./check ./internal/gallery ./internal/www ./internal/build ok; gallery TestPreviewFrameHeightsFit|TestEveryExamplePassesAxe ok (432 s).

Mutations (scratch worktree, each reverted)

=== P1 odd cells keep the leading hairline
--- FAIL: TestPairsPutTwoStatsOnALineOnAPhone (1.14s)
    phone_variants_browser_test.go:155: / at 390: stat 1's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:155: / at 390: stat 3's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:155: / at 320: stat 1's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:155: / at 320: stat 3's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:155: /rtl at 390: stat 1's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:155: /rtl at 390: stat 3's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:155: /rtl at 320: stat 1's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:155: /rtl at 320: stat 3's inline-start hairline is 1px, want 0px
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	1.147s
FAIL
=== P2 no rule above the second pair
--- FAIL: TestPairsPutTwoStatsOnALineOnAPhone (1.23s)
    phone_variants_browser_test.go:160: / at 390: stat 3's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: / at 390: stat 4's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: / at 320: stat 3's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: / at 320: stat 4's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: /rtl at 390: stat 3's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: /rtl at 390: stat 4's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: /rtl at 320: stat 3's top hairline is 0px, want 1px
    phone_variants_browser_test.go:160: /rtl at 320: stat 4's top hairline is 0px, want 1px
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	1.237s
FAIL
=== P3 no grid
--- FAIL: TestPairsPutTwoStatsOnALineOnAPhone (1.15s)
    phone_variants_browser_test.go:140: / at 320: the stats' tops are 1.0, 118.6, 190.8, 287.5; stats 1 and 2 must share a line, and 3 and 4
    phone_variants_browser_test.go:150: / at 320: stat 1 (1.0 to 304.0) is not at the inline start of stat 2 (1.0 to 304.0)
    phone_variants_browser_test.go:150: / at 320: stat 3 (1.0 to 304.0) is not at the inline start of stat 4 (1.0 to 304.0)
    phone_variants_browser_test.go:140: /rtl at 320: the stats' tops are 1.0, 118.6, 190.8, 287.5; stats 1 and 2 must share a line, and 3 and 4
    phone_variants_browser_test.go:150: /rtl at 320: stat 1 (1.0 to 304.0) is not at the inline start of stat 2 (1.0 to 304.0)
    phone_variants_browser_test.go:150: /rtl at 320: stat 3 (1.0 to 304.0) is not at the inline start of stat 4 (1.0 to 304.0)
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	1.159s
FAIL
=== P4 border-left instead of border-inline-start
--- FAIL: TestPairsPutTwoStatsOnALineOnAPhone (1.16s)
    phone_variants_browser_test.go:155: /rtl at 390: stat 3's inline-start hairline is 1px, want 0px
    phone_variants_browser_test.go:155: /rtl at 320: stat 3's inline-start hairline is 1px, want 0px
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	1.165s
FAIL
=== P5 the pairs grid outside the phone block
--- FAIL: TestPairsPutTwoStatsOnALineOnAPhone (1.14s)
    phone_variants_browser_test.go:176: at 1280 rst-stats="pairs" paints differently from the same markup unmarked (pixel 632,1 differs by 25): the value must change a phone only
    phone_variants_browser_test.go:177: at 1280 rst-stats="pairs" in Arabic paints differently from the same markup unmarked (pixel 1,1 differs by 16): the value must change a phone only
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	1.148s
FAIL
=== P6 pairs written for every band
--- FAIL: TestEveryNewRuleRequiresNewMarkup (0.05s)
    baseline_test.go:723: css/tokens.css: @media (max-width: 34rem) { .rst-stats { display: grid } } is new and .rst-stats: no compound positively requires a name 1.0 does not style; no newOnOldMarkup entry is this selector
    baseline_test.go:723: css/tokens.css: @media (max-width: 34rem) { .rst-stats { grid-template-columns: 1fr 1fr } } is new and .rst-stats: no compound positively requires a name 1.0 does not style; no newOnOldMarkup entry is this selector
    baseline_test.go:723: css/tokens.css: @media (max-width: 34rem) { [rst-stats] { display: grid } } is new and [rst-stats]: no compound positively requires a name 1.0 does not style; no newOnOldMarkup entry is this selector
    baseline_test.go:723: css/tokens.css: @media (max-width: 34rem) { [rst-stats] { grid-template-columns: 1fr 1fr } } is new and [rst-stats]: no compound positively requires a name 1.0 does not style; no newOnOldMarkup entry is this selector
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	0.060s
FAIL
=== P7 class twin dropped
--- FAIL: TestNoAttributeSelectorIsAnOrphan (0.01s)
    spelling_test.go:286: tokens.css:1472: "[rst-stats~=\"pairs\"]" is an attribute selector with no class selector it is the twin of.
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	2.444s
FAIL
=== P8 fixture without the class-spelled band
--- FAIL: TestBothSpellingsComputeTheSameStyles (3.86s)
    markup_v3_browser_test.go:228: tokens.css styles 1 classes the fixture never renders, so their pairing is unproven: rst-stats--pairs
    markup_v3_browser_test.go:228: the fixture renders all 236 rst- classes tokens.css styles
    markup_v3_browser_test.go:251: comparing 170 computed properties, over the element and its ::before and ::after
    markup_v3_browser_test.go:279: at 1280px: 1156 elements in the fixture
    markup_v3_browser_test.go:302: at 1280px: the control pass differs on 1138 of 1156 elements, so the stylesheet is reaching the fixture
    markup_v3_browser_test.go:279: at 390px: 1156 elements in the fixture
    markup_v3_browser_test.go:302: at 390px: the control pass differs on 1138 of 1156 elements, so the stylesheet is reaching the fixture
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	3.859s
FAIL

rst-status="inline" (d33262a)

Red: the example in, no CSS

--- FAIL: TestAnInlineStatusStaysOnTheNamesLine (2.18s)
    phone_variants_browser_test.go:283: / at 390: the status starts at 63.6, off the row's first line at 13.0
    phone_variants_browser_test.go:288: / at 390: the status starts 42.4px along the row, before the name ends at 275.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long at 390: the status starts 42.4px along, inside the long name's column, which ends at 275.9px
    phone_variants_browser_test.go:308: /long at 390: under a long name the status starts at 111.6 and the action at 13.0; both must stay on the first line at 13.0
    phone_variants_browser_test.go:319: /bare at 390: with no lead and no action the status ends 95.8px along a row whose content ends at 349.0px
    phone_variants_browser_test.go:322: /bare at 390: the status starts at 63.6, off the first line at 13.0
    phone_variants_browser_test.go:283: / at 320: the status starts at 108.6, off the row's first line at 13.0
    phone_variants_browser_test.go:288: / at 320: the status starts 42.4px along the row, before the name ends at 205.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long at 320: the status starts 42.4px along, inside the long name's column, which ends at 205.9px
    phone_variants_browser_test.go:308: /long at 320: under a long name the status starts at 156.6 and the action at 13.0; both must stay on the first line at 13.0
    phone_variants_browser_test.go:319: /bare at 320: with no lead and no action the status ends 95.8px along a row whose content ends at 279.0px
    phone_variants_browser_test.go:322: /bare at 320: the status starts at 63.6, off the first line at 13.0
    phone_variants_browser_test.go:283: /-rtl at 390: the status starts at 63.6, off the row's first line at 13.0
    phone_variants_browser_test.go:288: /-rtl at 390: the status starts 42.4px along the row, before the name ends at 275.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long-rtl at 390: the status starts 42.4px along, inside the long name's column, which ends at 275.9px
    phone_variants_browser_test.go:308: /long-rtl at 390: under a long name the status starts at 111.6 and the action at 13.0; both must stay on the first line at 13.0
    phone_variants_browser_test.go:319: /bare-rtl at 390: with no lead and no action the status ends 95.8px along a row whose content ends at 349.0px
    phone_variants_browser_test.go:322: /bare-rtl at 390: the status starts at 63.6, off the first line at 13.0
    phone_variants_browser_test.go:283: /-rtl at 320: the status starts at 108.6, off the row's first line at 13.0
    phone_variants_browser_test.go:288: /-rtl at 320: the status starts 42.4px along the row, before the name ends at 205.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long-rtl at 320: the status starts 42.4px along, inside the long name's column, which ends at 205.9px
    phone_variants_browser_test.go:308: /long-rtl at 320: under a long name the status starts at 156.6 and the action at 13.0; both must stay on the first line at 13.0
    phone_variants_browser_test.go:319: /bare-rtl at 320: with no lead and no action the status ends 95.8px along a row whose content ends at 279.0px
    phone_variants_browser_test.go:322: /bare-rtl at 320: the status starts at 63.6, off the first line at 13.0

Green

TestAnInlineStatusStaysOnTheNamesLine ok, with Pairs|InlineStatus|OnTheNamesLine|OneOh|TestEveryThemeAndShellRendersAsTheBaseline|TestANarrowRowGivesItsTitleTheWidth|TestBothSpellings|TestEveryExampleStateMeetsTheFloors|TestEveryTapTargetIsAtLeast44Pixels ok (380 s); the plain packages ok; gallery heights and axe ok (447 s).

Mutations

I4 stays green and is reported, not hidden: in these rows the name's flex basis is 0, so a flex line keeps lead, status and action on line one exactly as the grid does. The two differ only when lead, status and action together overflow the row, which is a status the page should not have marked short.

=== I1 inline rule dropped grid-row
--- FAIL: TestAnInlineStatusStaysOnTheNamesLine (2.37s)
    phone_variants_browser_test.go:283: / at 390: the status starts at 108.6, off the row's first line at 13.0
    phone_variants_browser_test.go:288: / at 390: the status starts 0.0px along the row, before the name ends at 275.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long at 390: the status starts 0.0px along, inside the long name's column, which ends at 275.9px
    phone_variants_browser_test.go:308: /long at 390: under a long name the status starts at 156.6 and the action at 13.0; both must stay on the first line at 13.0
    phone_variants_browser_test.go:319: /bare at 390: with no lead and no action the status ends 95.8px along a row whose content ends at 349.0px
    phone_variants_browser_test.go:322: /bare at 390: the status starts at 63.6, off the first line at 13.0
    phone_variants_browser_test.go:283: / at 320: the status starts at 153.6, off the row's first line at 13.0
    phone_variants_browser_test.go:288: / at 320: the status starts 0.0px along the row, before the name ends at 205.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long at 320: the status starts 0.0px along, inside the long name's column, which ends at 205.9px
    phone_variants_browser_test.go:308: /long at 320: under a long name the status starts at 249.6 and the action at 13.0; both must stay on the first line at 13.0
    phone_variants_browser_test.go:319: /bare at 320: with no lead and no action the status ends 95.8px along a row whose content ends at 279.0px
=== I2 status put before the name
--- FAIL: TestAnInlineStatusStaysOnTheNamesLine (2.37s)
    phone_variants_browser_test.go:288: / at 390: the name starts 107.8px along the row, before the lead ends at 275.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:288: / at 390: the status starts 0.0px along the row, before the name ends at 233.5px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long at 390: the status starts 0.0px along, inside the long name's column, which ends at 233.5px
    phone_variants_browser_test.go:319: /bare at 390: with no lead and no action the status ends 95.8px along a row whose content ends at 349.0px
    phone_variants_browser_test.go:288: / at 320: the name starts 107.8px along the row, before the lead ends at 205.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:288: / at 320: the status starts 0.0px along the row, before the name ends at 163.5px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long at 320: the status starts 0.0px along, inside the long name's column, which ends at 163.5px
    phone_variants_browser_test.go:319: /bare at 320: with no lead and no action the status ends 95.8px along a row whose content ends at 279.0px
    phone_variants_browser_test.go:288: /-rtl at 390: the name starts 107.8px along the row, before the lead ends at 275.9px; the line must read lead, name, status, action
    phone_variants_browser_test.go:288: /-rtl at 390: the status starts 0.0px along the row, before the name ends at 233.5px; the line must read lead, name, status, action
    phone_variants_browser_test.go:305: /long-rtl at 390: the status starts 0.0px along, inside the long name's column, which ends at 233.5px
=== I3 inline rule outside the phone block
--- FAIL: TestAnInlineStatusStaysOnTheNamesLine (3.39s)
    phone_variants_browser_test.go:296: / at 390: the name is 117.7px wide with 125.7px left by the others; its column must take the room
    phone_variants_browser_test.go:296: / at 320: the name is 47.7px wide with 55.7px left by the others; its column must take the room
    phone_variants_browser_test.go:296: /-rtl at 390: the name is 117.7px wide with 125.7px left by the others; its column must take the room
    phone_variants_browser_test.go:296: /-rtl at 320: the name is 47.7px wide with 55.7px left by the others; its column must take the room
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	3.391s
FAIL
=== I4 a wrapping flex line instead of the grid placement
ok  	amadan.net/rastrillo/fiesta/check	2.297s
=== I5 written for every status
--- FAIL: TestEveryNewRuleRequiresNewMarkup (0.05s)
    baseline_test.go:723: css/tokens.css: @media (max-width: 34rem) { [rst-row]:has(> [rst-status]) > [rst-status]:last-child { grid-column: auto } } is new and [rst-row]:has(> [rst-status]) > [rst-status]:last-child: no compound positively requires a name 1.0 does not style; in :has() the alternative "> [rst-status]" matches 1.0 markup; no newOnOldMarkup entry is this selector
    baseline_test.go:723: css/tokens.css: @media (max-width: 34rem) { [rst-row]:has(> [rst-status]) > [rst-status]:last-child { grid-row: 1 } } is new and [rst-row]:has(> [rst-status]) > [rst-status]:last-child: no compound positively requires a name 1.0 does not style; in :has() the alternative "> [rst-status]" matches 1.0 markup; no newOnOldMarkup entry is this selector
--- FAIL: TestNoAttributeSelectorIsAnOrphan (0.01s)
    spelling_test.go:286: tokens.css:1468: "[rst-row]:has(> [rst-status]) > [rst-status]:last-child" is an attribute selector with no class selector it is the twin of.
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	0.061s
FAIL
=== I6 fixture without the class-spelled inline status
--- FAIL: TestBothSpellingsComputeTheSameStyles (3.96s)
    markup_v3_browser_test.go:228: tokens.css styles 1 classes the fixture never renders, so their pairing is unproven: rst-status--inline
    markup_v3_browser_test.go:228: the fixture renders all 237 rst- classes tokens.css styles
    markup_v3_browser_test.go:251: comparing 170 computed properties, over the element and its ::before and ::after
    markup_v3_browser_test.go:279: at 1280px: 1163 elements in the fixture
    markup_v3_browser_test.go:302: at 1280px: the control pass differs on 1145 of 1163 elements, so the stylesheet is reaching the fixture
    markup_v3_browser_test.go:279: at 390px: 1163 elements in the fixture
    markup_v3_browser_test.go:302: at 390px: the control pass differs on 1145 of 1163 elements, so the stylesheet is reaching the fixture
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	3.961s
FAIL
I3 (redone, visible at 1280):     phone_variants_browser_test.go:334: at 1280 rst-status="inline" (/) paints differently from the same markup unmarked (pixel 1091,22 differs by 12): the value must change a phone only
I3 (redone, visible at 1280):     phone_variants_browser_test.go:334: at 1280 rst-status="inline" (/long) paints differently from the same markup unmarked (pixel 1091,22 differs by 12): the value must change a phone only
I3 (redone, visible at 1280):     phone_variants_browser_test.go:334: at 1280 rst-status="inline" (/bare) paints differently from the same markup unmarked (pixel 1152,22 differs by 12): the value must change a phone only
I3 (redone, visible at 1280):     phone_variants_browser_test.go:334: at 1280 rst-status="inline" (/-rtl) paints differently from the same markup unmarked (pixel 156,22 differs by 3): the value must change a phone only
I3 (redone, visible at 1280): FAIL
I3 (redone, visible at 1280): FAIL	amadan.net/rastrillo/fiesta/check	2.180s
I3 (redone, visible at 1280): FAIL

(The first I3, a margin outside the phone block, was invisible at 1280 since the name's flex space absorbs it; redone with padding.)

Hub

  • 51a9282: 46 of 48; two internal/www bunting timing tests (TestAScrollAfterIdleWakesTheBunting, TestAShakeMovesTheBuntingMoreThanAScroll) failed on the fleet, passed locally, and passed on the next run.
  • ce479f6: 47 of 48; TestThePhoneIndexAndTheWayBack (scripts-off Tab after Back) failed once on the fleet, passed 3 of 3 locally.
  • d33262a (same tree as ce479f6): passed, 48 of 48; fiesta.css 23,822 gzipped.

Size (gzip 6)

| | before | pairs | inline | |---|---|---|---| | fiesta.css | 23,724 | 23,801 (+77 of 150) | 23,822 (+21 of 100) | | fiesta-plain.css | 23,005 | 23,082 (+77) | 23,102 (+20) | | fiesta-signal.css | 23,118 | 23,195 (+77) | 23,216 (+21) |

Fixes after Astra's review: 3488099, 015906d (hub CI on 015906d: passed, 48 of 48)

  • 3488099 (test): every marked row (the state, the long name, the bare row), at 390 and 320 in both directions, must be a computed display: grid with the status at 1 / auto / auto / auto (row start / end / column start / end). The desktop check now compares all three rows in both directions with their unmarked twins (/long-rtl and /bare-rtl added).
  • 015906d (comment only): the flex line wraps when the lead, status, action and gaps together outgrow the row; the name (flex: 1, min-inline-size: 0) shrinks first. fiesta.css stays at 23,822 gzipped.

Red: the flex mutation (I4), the inline rule replaced by display: flex on the row

Against the test as it was at d33262a it survived:

=== I4 against the test as it was at d33262a (the survivor)
ok  	amadan.net/rastrillo/fiesta/check	2.395s

Against the fixed test it fails by name in every leg:

=== I4 a flex line instead of the grid placement (fixed test)
--- FAIL: TestAnInlineStatusStaysOnTheNamesLine (2.87s)
    phone_variants_browser_test.go:304: / at 390: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:304: / at 390: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:328: /long at 390: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:328: /long at 390: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:347: /bare at 390: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:347: /bare at 390: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:304: / at 320: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:304: / at 320: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:328: /long at 320: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:328: /long at 320: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:347: /bare at 320: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:347: /bare at 320: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:304: /-rtl at 390: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:304: /-rtl at 390: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:328: /long-rtl at 390: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:328: /long-rtl at 390: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:347: /bare-rtl at 390: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:347: /bare-rtl at 390: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:304: /-rtl at 320: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:304: /-rtl at 320: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:328: /long-rtl at 320: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:328: /long-rtl at 320: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
    phone_variants_browser_test.go:347: /bare-rtl at 320: the row's display is flex; a row with an inline status is a grid, not a wrapping flex line
    phone_variants_browser_test.go:347: /bare-rtl at 320: the status's grid placement (row start / end / column start / end) is 2 / auto / -2 / auto, want 1 / auto / auto / auto
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	2.881s
FAIL

A right-to-left-only restyle at every width (padding on [dir="rtl"] [rst-status~="inline"] outside the phone block): the old test saw only /-rtl; the fixed one sees all three:

=== I7 the inline status restyled at every width, right to left only
--- FAIL: TestAnInlineStatusStaysOnTheNamesLine (2.66s)
    phone_variants_browser_test.go:364: at 1280 rst-status="inline" (/-rtl) paints differently from the same markup unmarked (pixel 156,22 differs by 3): the value must change a phone only
    phone_variants_browser_test.go:364: at 1280 rst-status="inline" (/long-rtl) paints differently from the same markup unmarked (pixel 156,22 differs by 3): the value must change a phone only
    phone_variants_browser_test.go:364: at 1280 rst-status="inline" (/bare-rtl) paints differently from the same markup unmarked (pixel 95,22 differs by 3): the value must change a phone only
FAIL
FAIL	amadan.net/rastrillo/fiesta/check	2.663s
FAIL

Green

  • go test ./check ok.
  • In the check browser package, Pairs|OnTheNamesLine|TestBothSpellings|TestANarrowRowGivesItsTitleTheWidth ok.
  • make size: fiesta.css 23,822, unchanged.
  • Hub CI on 015906d: passed, 48 of 48.