Skip to content

test: fix or retire the orphan tests left after #187 (#189) - #229

Merged
dborup merged 3 commits into
masterfrom
codex/issue-189-orphan-tests-r2
Oct 4, 2026
Merged

dborup merged 3 commits into
masterfrom
codex/issue-189-orphan-tests-r2

Conversation

@dborup

@dborup dborup commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Relates to #189

Most of the work for #189 is already on master: #197 repaired, ported or deleted the orphan tests, and #201 settled the 48 px touch targets. I checked every file in the issue's tables against current master (7697a826) and what is left was small. This PR registers the last red unit file, test-packets.js, brings the last 44 px control (.fav-star) to the 48 px house minimum, and records the decisions. The collapsed-caret bug in public/packets.js stays open; this PR does not touch that file.

  • Production code: public/style.css only, two numbers and a comment (.fav-star). git diff origin/master --stat lists six files; public/packets.js is not one of them.
  • No npm dependencies added. Fork guards unchanged: 9 in deploy.yml, 1 in release-fast-path.yml; .github/ is not in the diff.
  • The branch is codex/issue-189-orphan-tests-r2 because codex/issue-189-orphan-tests is the merged test: fix or retire the remaining orphan tests (#189) #197 branch on origin.

Result

master 7697a826 this branch
run <file> lines in test-all.sh 214 215
KNOWN_UNREGISTERED entries 2 (test-packets.js, test-rx-coverage-mobile-nav-e2e.js) 1 (the deliberate skip)
sh test-all.sh 214/214 215/215

The files of the issue

"Master" below means state on 7697a826. Mutants for the files fixed in #197 are the ones listed in that PR's description [K]; they were not re-run here. Every file was run again on this branch [T].

Unit files

File Outcome Registered Verified here
test-channel-colors.js, test-channel-ux-followup.js, test-channel-ux-round2.js, test-drag-manager.js, test-fluid-scaffolding.js, test-hop-resolver-affinity.js, test-issue-1470-card-bg-contrast.js, test-issue-1646-compare-polish.js, test-perf-disk-io-1120.js fixed in #197 (expectations, mock, parsers, fixture, rework) test-all.sh green in the 215/215 run
test-table-sort.js ported from jsdom to vm in #197 test-all.sh green
test-marker-outline-weight.js ported to plain playwright in #197 as test-live-pulse-ring-weight-e2e.js; the old name is gone Playwright step, deploy.yml line 540 4/4 on a local fixture server
test-touch-targets.js fixed in #201 (48 px); this PR adds .fav-star to its list Playwright step, deploy.yml line 480 OK
test-packets.js this PR. 127 of 128 assertions were green; the 128th documents the caret bug test-all.sh (after test-packet-filter-time.js) 128 passed, 0 failed, 1 known bug

E2E files

File Outcome Registered Verified here (local fixture server)
test-channel-modal-e2e.js updated in #197 deploy.yml line 541 15/15
test-node-reach-e2e.js fixed in #197 (selector #nqMap.leaflet-container); no overlap with the coverage file deploy.yml line 542 exit 0
test-issue-1522-trace-url-sync-e2e.js ported to plain playwright in #197 deploy.yml line 544 3/3
test-path-inspector-e2e.js ported in #197, keeps what the coverage file does not deploy.yml line 543 6/6
test-rx-coverage-mobile-nav-e2e.js unchanged: skips while clientRxCoverage is off stays on KNOWN_UNREGISTERED SKIP, as documented

test-packets.js and the caret bug

A collapsed group header renders #ph-caret-up (public/packets.js line 2377). The assertion for it cannot be green without changing packets.js, which open PRs edit (#211, and the parked #185). So the file now splits the row:

  • buildGroupRowHtml renders multi-count group with expand arrow stays a plain test: the expand cell holds a caret and not the expanded one.
  • The right-pointing-caret assertion is knownBug('#189', …). It must fail and is reported as XFAIL without failing the run. When it passes it fails the run (known bug #189 is fixed: change knownBug() to test()), so the fixer has to turn it into a plain test and the marker cannot rot.

Mutants, run on a copy of public/, never committed:

Mutant Result
packets.js fixed (#ph-caret-right for a collapsed group) exit 1: "passes now, so known bug #189 is fixed"
collapsed group shows #ph-caret-down exit 1: "collapsed group does not show the expanded caret"
collapsed group has no caret exit 1: "collapsed group has a caret in its expand cell"
run test-packets.js removed from test-all.sh node test-test-all.js fails: "test-packets.js run nowhere"

Proposed fix for public/packets.js (not in this PR)

At line 2377 the collapsed branch should use #ph-caret-right, the expanded branch keeps #ph-caret-down. That is the old ▶/▼ pair from before 30627454 (Kpa-clawbot#1648 M2), and it matches the other collapsed disclosures: analytics.js renders #ph-caret-right for the collapsed #ptOverviewChevron, and the collapsed route panel in route-view.js shows #ph-caret-right as well. (The map pane toggle in map.js uses the opposite convention, a side pane that opens to the left, so it is not a comparison.) Elsewhere #ph-caret-up marks sort direction and move-up buttons, not a collapsed group. One token changes, and the existing knownBug test goes green and has to be flipped. Do it after #211 is merged, so the two PRs do not touch packets.js at once.

48 px or 44 px

Decision: 48 px, the house minimum (Kpa-clawbot#2052, upstream 2078, ported by #201). On current master every control in test-touch-targets.js is 48 px. The one control still at 44 px was .fav-star (min-width/min-height: 44px, from #85), which the earlier known remainder referred to. It is changed to 48 px: two numbers and the comment. The glyph stays 22 px, so only the hit area grows.

Effect, measured on the E2E fixture: rows of the node list that hold a star are 4 px taller (51 → 55 px at 1280 px, 57 → 61 px at 390 px). That is the only layout change. Keeping the row height would need a pseudo-element hit area, a larger CSS change than the task allows, so I took the simple form. If the 4 px is unwanted, say so and I will do that instead.

Tests (red first):

  • test-touch-targets.js renders .fav-star with the other buttons. Old CSS: .fav-star: rendered 44.0x44.0 … expected >=48x48; new CSS: OK.
  • test-issue-1648-m2-icons-e2e.js (j) asks for 48×48. Old CSS (served from a copy): fav-star bbox 44x44 < 48x48; new CSS: 21 passed.
  • Run against the new CSS on a local fixture server: test-nodes-favorite-rerender-e2e.js 4/4, test-bottom-nav-1061-e2e.js 31/31, test-e2e-playwright.js 132/135 (3 skipped, as in CI), test-table-fluid-e2e.js 41/41, test-issue-1128-multi-viewport-e2e.js 15/15, test-issue-2052-touch-target-e2e.js 11/11, test-channel-fluid-e2e.js 15/15, test-node-liveness-e2e.js 35 checks, test-nodes-export-e2e.js exit 0.

Not done here

Verification

Run Result
sh test-all.sh 215/215, exit 0
node test-test-all.js 10/10
node test-frontend-helpers.js 707 passed, 0 failed
node test-packets.js 128 passed, 0 failed, 1 known bug
CHROMIUM_REQUIRE=1 node test-touch-targets.js OK
E2E files above, local Go server on the CI fixture (freshen, Kpa-clawbot#1486/Kpa-clawbot#1791 seed, corescope-migrate, Kpa-clawbot#2073 and #199 seeds), plain public/ all green
CI pending: not polled

🤖 Generated with Claude Code

dborup and others added 3 commits October 4, 2026 15:03
… known-bug test (#189)

test-packets.js was the last red orphan unit file: 127 of 128 assertions are
green and the 128th documents a bug in public/packets.js (a collapsed group
shows #ph-caret-up where it showed a right-pointing triangle before Kpa-clawbot#1648 M2).
public/packets.js is not changed here, so that assertion becomes knownBug():
it must fail, is reported as XFAIL without failing the run, and turns the run
red when it starts to pass, so the fixer has to turn it into a plain test().
The other assertion of the same row now checks that a collapsed group has a
caret in its expand cell and not the expanded one.

The file is registered in test-all.sh and its entry is removed from
KNOWN_UNREGISTERED.

Relates to #189

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… button (#189)

.fav-star is the last control left at the old 44 px minimum (#85); the others
moved to the 48 px house minimum with #201 (upstream 2078, Kpa-clawbot#2052).
test-touch-targets.js now renders it with the other buttons, and the /nodes
check in test-issue-1648-m2-icons-e2e.js asks for 48x48 too. Both are red
against the current CSS.

Relates to #189

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…uttons (#189)

.fav-star was the last control at the old 44 px minimum (#85). The house
minimum is 48 px (Kpa-clawbot#2052, upstream 2078, #201). Two numbers and the comment; the
star glyph stays 22 px. Rows that hold a star in the node list grow by 4 px
(51 to 55 px at 1280 px, 57 to 61 px at 390 px, measured on the E2E fixture).

Relates to #189

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@dborup

dborup commented Oct 4, 2026

Copy link
Copy Markdown
Owner Author

Rapport — CS-MacBook PR#229 #189 — head 930234c

Status: Draft PR open; most of #189 was already done by #197 and #201, so this PR registers the last red unit file, moves .fav-star to 48 px and records the decisions; all local suites green, CI pending (not polled); the collapsed-caret bug stays open and public/packets.js is untouched.

Evidence: [T] = ran it, [A] = read in source or diff, [K] = known from the issue, #197 or #201, not re-run.

What I found

The issue's tables are from master bedbe1f1. On 7697a826 16 of the 17 files were already repaired, ported, deleted or registered by #197 (33b0dfe5) and #201 (8bafcdf2) [A]. Only test-packets.js was still red and unregistered, and .fav-star was still at 44 px. I did not redo the finished files; I re-checked each one against current master (exists, registered, green) [T].

Per file

File Outcome Mutant Registered Re-run here
test-channel-colors.js, -channel-ux-followup.js, -channel-ux-round2.js, -drag-manager.js, -fluid-scaffolding.js, -hop-resolver-affinity.js, -issue-1470-card-bg-contrast.js, -issue-1646-compare-polish.js, -perf-disk-io-1120.js fixed in #197 listed in #197 [K] test-all.sh green [T]
test-table-sort.js ported jsdom → vm in #197 #197 [K] test-all.sh green [T]
test-marker-outline-weight.js ported in #197 as test-live-pulse-ring-weight-e2e.js, old name gone #197 [K] deploy.yml 4/4 [T]
test-channel-modal-e2e.js updated in #197 #197 [K] deploy.yml 15/15 [T]
test-node-reach-e2e.js fixed in #197 #197 [K] deploy.yml exit 0 [T]
test-issue-1522-trace-url-sync-e2e.js ported in #197 #197 [K] deploy.yml 3/3 [T]
test-path-inspector-e2e.js ported in #197 #197 [K] deploy.yml 6/6 [T]
test-touch-targets.js fixed in #201; now also checks .fav-star .fav-star at 44 px → red [T] deploy.yml OK [T]
test-packets.js this PR: 127 of 128 assertions were green; the caret assertion is now knownBug('#189', …) 3 mutants + 1 unregister mutant, see below [T] test-all.sh 128 passed, 0 failed, 1 known bug [T]
test-rx-coverage-mobile-nav-e2e.js unchanged, deliberate skip – stays on KNOWN_UNREGISTERED SKIP, as documented [T]

test-packets.js mutants [T]

Run on a copy of public/, never committed:

48 px or 44 px

Decision: 48 px, the house minimum (Kpa-clawbot#2052, upstream 2078, via #201). On master every control in test-touch-targets.js was already 48 px. The remaining known rest, .fav-star, was still 44×44 and is now 48×48: two numbers and the comment in public/style.css, the 22 px glyph is unchanged [T].

  • Red first: test-touch-targets.js with .fav-star fails on the old CSS ("rendered 44.0x44.0 … expected >=48x48"); the /nodes check in test-issue-1648-m2-icons-e2e.js asks for 48×48 and fails with "bbox 44x44 < 48x48" when served the old CSS from a copy. Both pass on the new CSS [T].
  • Side effect: node-list rows that hold a star are 4 px taller (51 → 55 px at 1280 px, 57 → 61 px at 390 px, measured on the fixture). Keeping the row height would need a pseudo-element hit area, which is a larger CSS change than the task allows; I did not do it. [T]
  • Affected E2Es against the new CSS on a local fixture server: test-nodes-favorite-rerender-e2e.js 4/4, test-bottom-nav-1061-e2e.js 31/31, test-e2e-playwright.js 132/135 (3 skipped, as in CI), test-table-fluid-e2e.js 41/41, test-issue-1128-multi-viewport-e2e.js 15/15, test-issue-2052-touch-target-e2e.js 11/11, test-channel-fluid-e2e.js 15/15, test-node-liveness-e2e.js 35 checks, test-nodes-export-e2e.js exit 0 [T].

Caret proposal for public/packets.js (not touched)

At line 2377, the collapsed branch should render #ph-caret-right; the expanded branch keeps #ph-caret-down. That restores the old ▶/▼ pair from before 30627454 (Kpa-clawbot#1648 M2). It matches the other collapsed disclosures: analytics.js renders #ph-caret-right for the collapsed #ptOverviewChevron, and the collapsed route panel in route-view.js uses #ph-caret-right. #ph-caret-up marks sort direction and move-up buttons elsewhere. One token changes. The existing knownBug test then turns the run red until it is changed to test(), so the two cannot drift. Do it after #211 is merged, so two PRs do not edit packets.js at once. The issue stays open for this [A].

Before / after

master 7697a826 this branch
run <file> lines in test-all.sh 214 215
KNOWN_UNREGISTERED 2 entries 1 (the deliberate skip)
sh test-all.sh 214/214 215/215 [T]

Tests [T]

sh test-all.sh 215/215; node test-test-all.js 10/10; node test-frontend-helpers.js 707 passed, 0 failed; node test-packets.js 128/0 + 1 known bug; CHROMIUM_REQUIRE=1 node test-touch-targets.js OK. The E2E runs above used a local Go server on a copy of e2e-fixture.db, prepared as in CI (freshen, Kpa-clawbot#1486/Kpa-clawbot#1791 seed, corescope-migrate, Kpa-clawbot#2073 and #199 seeds), serving plain public/. I stopped both servers by port afterwards.

Rules [A][T]

Production code: public/style.css only (4 lines). public/packets.js is not in the diff. No npm dependency added. Fork guards 9 and 1; .github/ not in the diff. Three commits, each by dborup <kontakt@meshview.dk>: tests first (570a1195, da7e4538), then the CSS (930234cc). No closing keywords; the body starts with Relates to #189.

CI

Run 37204540498 on head 930234cc: Go Build & Test pending. I did not poll and have not seen it green.

Remainders

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant