You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test(solid): audit skipped declarations and restore meaningful coverage - #161
Audit all eight skipped declarations against active Solid and related framework coverage, without treating test counts as product defects. No runtime code changes.
Restore Menu parts and Signature public exports with correct fixture/namespace assumptions.
Assert OTP required on the aggregate native form input, including editing and reactive Field updates.
Correct Popover's open precondition and NumberInput's uncontrolled fixture; cover both fraction limits.
Restore single Select selection with native value/reselection assertions; await unmount and verify remount; register InitialValue at suite scope.
Remove the unsupported FileUpload readonly-on-button expectation, explicitly document the unsupported contract rather than imply equivalent coverage.
Record the complete eight-item coverage map in docs/solid-skipped-test-audit.md.
Verification
Solid tsc --noEmit, scoped ESLint and git diff --check: passed.
Independent review: no blocking findings.
Supplemental happy-dom: corrected Popover/NumberInput/Select suites passed (112 cases); strengthened Select suite passed separately (48 cases); targeted OTP/public exports and isolated Menu parts passed.
Diagnostic original Popover and NumberInput assertions both fail as predicted (visible title before Escape; fixed controlled value remains 1.00).
Local browser execution blocked by IPC/socket restrictions. Happy-dom is not the browser gate: an unchanged Signature focus test fails there and Menu's browser helper requires the browser pool. Normal CI browser/aggregate checks remain required before Ready.
No Node policy, npm publishing, tags, or manual deployment changes.
Need help on this PR? Tag @codesmith-bot with what you need.
Note
Low Risk
Test-only and documentation changes with no production code paths modified; remaining risk is flaky CI timing on Popover Escape across Node versions, which the listener-based wait addresses.
Overview
Closes #156 by clearing Solid test debt from eight previously skipped declarations—no runtime or component behavior changes. A new docs/solid-skipped-test-audit.md maps each skip to existing coverage, the fix, and CI verification notes.
Restored or corrected tests: Menu anatomy parts open the parent menu before asserting nested parts. NumberInput fraction-digit coverage uses defaultValue and asserts max rounding and min padding on blur. OtpInput Field required targets the aggregate hidden input (with valueMissing, assembled value, and reactive removal). Popover Escape waits for a visible dialog and deferred keydown listeners via trackDocumentListeners, then asserts dismissal and listener cleanup. Select single-selection adds native <select> value, aria-selected, and reselection; lazy mount/unmount awaits removal and remount; InitialValue is registered at suite scope. Signature export checks exclude internal SegmentPath and include Context, HiddenInput, and RootProvider.
Removed invalid expectation: FileUpload Field readOnly on the trigger button is dropped with an explicit comment that upload has no readonly contract.
Reviewed by Cursor Bugbot for commit 858d30f. Bugbot is set up for automated code reviews on this repo. Configure here.
CI follow-up: Node 24 passed the full browser suite; Node 22 exposed one restored Popover Escape test race. The core registers dismissal listeners with defer: true (animation-frame scheduling), so visible content alone was not a sufficient input-readiness condition. 858d30f waits for the actual document keydown listener via the existing lifecycle tracker before pressing Escape, then verifies both dismissal and listener cleanup. No fixed sleep, retries, skipped assertion, or runtime behavior change. Local Popover diagnostic: 32 passed; typecheck/lint passed. Waiting for the new head's normal CI.
Final-head verification for 858d30f: Node 22.22.3 and Node 24 CI passed, including the actual Chromium suite. Node 22 also completed all four framework aggregate package checks, exact-core consumers, docs checks and Storybook builds. Packed consumer, accessibility smoke, lint and both Vercel checks passed. The Popover readiness fix received independent review with no blocking findings. Marked Ready; final review/comment recheck remains separate from green checks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #156.
Audit all eight skipped declarations against active Solid and related framework coverage, without treating test counts as product defects. No runtime code changes.
docs/solid-skipped-test-audit.md.Verification
tsc --noEmit, scoped ESLint andgit diff --check: passed.No Node policy, npm publishing, tags, or manual deployment changes.
Need help on this PR? Tag
@codesmith-botwith what you need.Note
Low Risk
Test-only and documentation changes with no production code paths modified; remaining risk is flaky CI timing on Popover Escape across Node versions, which the listener-based wait addresses.
Overview
Closes #156 by clearing Solid test debt from eight previously skipped declarations—no runtime or component behavior changes. A new
docs/solid-skipped-test-audit.mdmaps each skip to existing coverage, the fix, and CI verification notes.Restored or corrected tests: Menu anatomy parts open the parent menu before asserting nested parts. NumberInput fraction-digit coverage uses
defaultValueand asserts max rounding and min padding on blur. OtpInput Fieldrequiredtargets the aggregate hidden input (withvalueMissing, assembled value, and reactive removal). Popover Escape waits for a visible dialog and deferredkeydownlisteners viatrackDocumentListeners, then asserts dismissal and listener cleanup. Select single-selection adds native<select>value,aria-selected, and reselection; lazy mount/unmount awaits removal and remount;InitialValueis registered at suite scope. Signature export checks exclude internalSegmentPathand includeContext,HiddenInput, andRootProvider.Removed invalid expectation: FileUpload Field
readOnlyon the trigger button is dropped with an explicit comment that upload has no readonly contract.Reviewed by Cursor Bugbot for commit 858d30f. Bugbot is set up for automated code reviews on this repo. Configure here.