# Testing signals — solidjs/solid

> Canonical page: https://codevetter.com/unpack/solid/testing-signals

# Testing signals — solidjs/solid

Scanned commit b25c557754f2ced0d86490e6dbfded9b1745b663 (2026-09-04). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed; test existence supplies coverage intent rather than a passing result. Vitest separates jsdom client tests from Node server tests, with additional TypeScript checks and Node assertion/import checks. This inventory is bounded: inspected tests substantiate specific contracts, while coverage configuration and script selection identify limits without establishing exhaustive repository coverage.
- The client Vitest configuration uses jsdom, global test APIs, one fork worker, and isolate:false; it excludes test/server and resolves browser/development implementations. — [packages/solid/vite.config.mjs#L14-37](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/vite.config.mjs#L14-L37)
- Server Vitest uses the Node environment, includes test/server/**/*.spec.ts, and aliases solid-js and solid-js/web to server source entrypoints. — [packages/solid/vitest.server.config.mjs#L4-19](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/vitest.server.config.mjs#L4-L19)
- The solid-js test script runs both client and server Vitest configurations; its separate test-types script invokes tsc against tsconfig.test.json. — [packages/solid/package.json#L225-227](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/package.json#L225-L227) [packages/solid/tsconfig.test.json#L1-12](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/tsconfig.test.json#L1-L12)
- Resource tests assert initial pending/loading state, out-of-order promise handling, and conversion of rejection values into Error objects. — [packages/solid/test/resource.spec.ts#L17-76](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/test/resource.spec.ts#L17-L76)
- Store tests assert blocked direct mutation, reactive getters, key setters, and partial merges; prototype-guard tests cover __proto__, constructor.prototype traversal, unsafe merge keys, and permitted constructor/prototype leaf keys. — [packages/solid/store/test/store.spec.ts#L14-85](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/store/test/store.spec.ts#L14-L85) [packages/solid/store/test/store.spec.ts#L907-945](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/store/test/store.spec.ts#L907-L945)
- Modifier tests check removal of omitted properties by reconcile and rejection of unsafe object keys while preserving safe data. — [packages/solid/store/test/modifiers.spec.ts#L13-33](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/store/test/modifiers.spec.ts#L13-L33)
- External-source regressions cover normal tracking versus untrack, recreating transition-scoped sources after disposal, and retaining external updates after a memo is created during a transition. — [packages/solid/test/external-source.spec.ts#L82-129](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/test/external-source.spec.ts#L82-L129) [packages/solid/test/external-source.spec.ts#L131-168](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/test/external-source.spec.ts#L131-L168)
- Server lazy tests assert stream termination and ErrorBoundary output on rejected imports, asynchronous string rendering, successful imports, and retry on a subsequent request. — [packages/solid/test/server/lazy.spec.ts#L24-46](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/test/server/lazy.spec.ts#L24-L46) [packages/solid/test/server/lazy.spec.ts#L49-93](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/test/server/lazy.spec.ts#L49-L93)
- DOM Index tests inspect actual innerHTML after removals, swaps, rotations, reversal, replacement, and disposal; the transition regression checks committed memo values during pending resource work. — [packages/solid/web/test/index.spec.tsx#L15-90](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/web/test/index.spec.tsx#L15-L90) [packages/solid/web/test/transition.spec.tsx#L63-88](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/web/test/transition.spec.tsx#L63-L88)
- Type tests use @ts-expect-error to specify invalid API combinations; the package type-check configuration includes core/web/store tests but excludes test/server. — [packages/solid/test/signals.type-tests.ts#L25-85](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/test/signals.type-tests.ts#L25-L85) [packages/solid/tsconfig.test.json#L10-11](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/tsconfig.test.json#L10-L11) [tsconfig.test.json#L2-15](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/tsconfig.test.json#L2-L15)
- The Babel preset test is a Node assert comparison against one compiled JSX string; integration import checks intentionally suppress errors other than selected module-resolution/module-syntax failures. — [packages/babel-preset-solid/test.js#L1-15](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/babel-preset-solid/test.js#L1-L15) [packages/test-integration/test-imports.mjs#L1-25](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/test-integration/test-imports.mjs#L1-L25) [packages/test-integration/test-imports.mjs#L27-47](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/test-integration/test-imports.mjs#L27-L47)
- Downloaded integration tests pack packages, fetch aminya/solid-simple-table, install local tarballs, and run its test command; the package's default test selects test:imports rather than test:integrations. — [packages/test-integration/tests/downloaded.spec.ts#L24-58](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/test-integration/tests/downloaded.spec.ts#L24-L58) [packages/test-integration/tests/downloaded.spec.ts#L65-93](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/test-integration/tests/downloaded.spec.ts#L65-L93) [packages/test-integration/package.json#L4-8](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/test-integration/package.json#L4-L8)
- Inspected main CI installs, builds, runs tests and coverage, and uploads Coveralls data; V8 coverage targets client core/store/web sources and excludes server implementations, so that report does not measure those excluded paths. — [.github/workflows/main-ci.yml#L26-42](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/.github/workflows/main-ci.yml#L26-L42) [packages/solid/vite.config.mjs#L17-21](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/vite.config.mjs#L17-L21)
- The inspected dependency-audit workflow runs on main pushes, main pull requests, and a weekly schedule, then uploads SARIF with continue-on-error; no audit result was obtained in this investigation. — [.github/workflows/cve-lite.yml#L3-9](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/.github/workflows/cve-lite.yml#L3-L9) [.github/workflows/cve-lite.yml#L21-36](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/.github/workflows/cve-lite.yml#L21-L36)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
