Test UI: data-* structural hooks + visual-refresh options (#5) #15
Loading…
Reference in a new issue
No description provided.
Delete branch "wip/issue-05"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ships the test-UI refresh (Option A "Mono Terminal") together with the structural hooks it needed. Closes #5.
Changes
data-*hooks on the runner/file/test nodes —data-testrunner-status,data-tests-*/data-files-*,data-test-status,data-test-name,data-test-error,data-file-status,data-file-src,data-test-ui,data-test-ui-controls. Classes are styling-only, and the headless runner keys offdata-*exclusively. This removes the old class hooks (testrunner--pass/fail,test--running/pass/fail,testfile--run/pass/fail,suite--running/pass) — a breaking change for anyone selector-matching them.prefers-color-scheme: dark, pure CSS (color-scheme: light dark) — no JS.stopOnFailure(it previously summed per-test durations).docs/media/testrunner-demo.mp4): gooey's own suite — 18 files, 510 tests, performance tests excluded — running green in the new UI.Settled in this work
data-*hooks are the automation contract; classes are for styling and unstable.testsandbox.html), so a dark run shows a white sandbox pane — theming it would move the snapshot/screenshot baselines.millis()); no magnitude-aware second one.Verification
s/typecheckkeeps the headless driver on the hooks (no class selectors).mainis resolved insrc/headless/index.ts::readSummary— main's robustness kept, with the PR'sdata-*selector.Notes
dist/artifacts are intentionally not rebuilt here — they are updated in separate dist commits. As a consequencesmokecannot exercise this PR'ssrc; that gap is filed as #24.<video src>is a branchless raw URL, so it resolves once this lands onmain.Closes #5
- headless: inject layout CSS via data hooks — [data-testrunner-status]{max-height:100vh}[data-test-ui]{overflow-y:auto} (same elements as .testrunner / .test-ui; behaviour unchanged). - testrunnerview: add structural data-test-ui hook on the .test-ui container. - docs: reword the token claim — keep the semantic slots (pass/fail/running) and the data-* hook names; the token vocabulary may change.The base stylesheet now bounds the shell to the viewport and makes [data-test-ui] the scroll container, so the injected `[data-testrunner-status]{max-height:100vh}[data-test-ui]{overflow-y:auto}` no longer does anything. Injecting it on a settled run changes neither the laid-out geometry (shell/panes/iframe rects identical) nor the rendered pixels (full-page screenshots byte-identical before/after injection), and the headless CLI still reports pass/fail correctly for the scratch consumer.