• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

solidjs / solid / 34939947700
71%
main: 89%

Build:
Build:
LAST BUILD BRANCH: fix/adopted-unflushed
DEFAULT BRANCH: main
Ran 15 Sep 2026 07:11AM UTC
Jobs 1
Files 7
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Sep 2026 07:05AM UTC coverage: 71.842%. Remained the same
34939947700

push

github

web-flow
test(web,signals): tier-1 coverage for the headless-UI props chain (#3448)

Every element a component library like Kobalte renders is reached through
a stack of merge(defaults) → omit(consumed) → mergeProps(call-site statics)
layers ending in a polymorphic `dynamic(() => props.as)` and one spread.
Nothing in the repo measured or pinned that shape: the existing utilities
and spread benches exercise one merge, one omit, or one spread in
isolation, and each looks cheap. The chain is where the cost lives — every
layer re-processes every key of the layer below — and it was invisible to
CodSpeed.

One shared fixture (`test/harness/polymorphic.tsx`: Dialog.Trigger →
Button.Root → Polymorphic, plus a compiled floor twin rendering the same
`<a>`) feeds all of:

- `web/test/polymorphic-chain.bench.tsx` — DOM lane: mount+clear 1k rows,
  update 10th ×16, owner-drift gated. Chain vs compiled floor.
- `web/test/server/polymorphic-chain.bench.tsx` — SSR lane: renderToString
  of 200 rows, chain vs floor. Construction cost only; no update phase to
  amortize it.
- `signals/tests/store/props-chain.bench.ts` — the pure merge/omit chain at
  depth 1/3/7, build and build+consume reported separately so a change that
  moves cost between construction and read is visible.
- Parity-harness scenarios `polymorphic-chain` and
  `polymorphic-chain-compiled-floor`: hydration ids through the chain,
  element identity across an update, adopt-all, no separators.
- `web/test/polymorphic-chain.spec.tsx` / `server/polymorphic-chain.spec.tsx`:
  the chain resolves to the floor's exact attribute set (shadowing through
  the layers, consumed keys and `as` absent), reactive attrs stay live, the
  element is kept across updates; SSR serializes the same set with keys.
- `utilities.test.ts`: chain-shaped semantics for merge/omit — shadowing
  order, hidden keys accumulating through nested omits and surviving
  re-merges, live reads through every layer, spread-copy snapshot, and the
  descrip... (continued)

519 of 790 branches covered (65.7%)

Branch coverage included in aggregate %.

772 of 1007 relevant lines covered (76.66%)

15.09 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34939947700.1 15 Sep 2026 07:11AM UTC 7
71.84
GitHub Action Run
Source Files on build 34939947700
  • Tree
  • List 7
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34939947700
  • 08fe835d on github
  • Prev Build on next (#34939711232)
  • Next Build on next (#34944164796)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc