# Testing signals — ReactiveX/rxjs

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

# Testing signals — ReactiveX/rxjs

Scanned commit 54796b38a57e6309f9861e174737479bb3f63f61 (2026-08-05). 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; no passing result is asserted by this report. Evidence spans Vitest source tests, classified ported suites, Node package/tooling checks, browser contracts, and pinned WPT. The inspected coverage is bounded, and the legacy site's tests and native-mode fallback behavior require separate interpretation.
- Source tests use Vitest; inspected extension-kernel tests assert assignment descriptors, non-global public Symbols, preserved platform methods, and absence of RxJS string additions. — [packages/rxjs/src/extension-kernel.spec.ts#L1-L2](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/extension-kernel.spec.ts#L1-L2) [packages/rxjs/src/extension-kernel.spec.ts#L38-L70](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/extension-kernel.spec.ts#L38-L70)
- The fast-check lifecycle property generates subscribe/abort/next/complete/error actions and checks fanout, activation/teardown accounting, and cleanup; RXJS_FUZZ_RUNS defaults to 200. — [packages/observable-polyfill/src/lifecycle.fuzz.spec.ts#L12-L22](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/observable-polyfill/src/lifecycle.fuzz.spec.ts#L12-L22) [packages/observable-polyfill/src/lifecycle.fuzz.spec.ts#L35-L74](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/observable-polyfill/src/lifecycle.fuzz.spec.ts#L35-L74)
- @rxjs/test fixtures distinguish independent cold timelines, shared platform timelines, absolute hot timelines, construction policy, and virtualized timers/clocks. — [packages/test/src/index.spec.ts#L35-L83](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/test/src/index.spec.ts#L35-L83) [packages/test/src/index.spec.ts#L95-L111](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/test/src/index.spec.ts#L95-L111)
- Migration file tests cover exact planned output, omitted lifecycle refusal, lexical traversal, escaping symlinks, duplicate canonical paths, and batch preflight behavior. — [packages/migrate/src/node.spec.ts#L23-L35](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/migrate/src/node.spec.ts#L23-L35) [packages/migrate/src/node.spec.ts#L49-L105](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/migrate/src/node.spec.ts#L49-L105)
- Ported Vitest runs select cold or platform suites and disable file parallelism; native mode without a global Observable selects native-unavailable.spec.ts rather than exercising native behavior. — [packages/rxjs/vitest.ported.config.ts#L4-L29](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/vitest.ported.config.ts#L4-L29)
- Main CI runs package gates on Node 22.13.0 and 24, makes Node 26 advisory, and separately checks exact cold/polyfill audit baselines. — [.github/workflows/ci_main.yml#L30-L43](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/ci_main.yml#L30-L43) [.github/workflows/ci_main.yml#L45-L89](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/ci_main.yml#L45-L89)
- Observable WPT pins revision 6a009d73f0d315941b90cac13a9523a2a08c631b and Chrome 150; CI verifies imports and runs lifecycle/kernel/conformance checks, with latest Chrome scheduled as advisory. — [.github/workflows/observable-wpt.yml#L27-L35](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/observable-wpt.yml#L27-L35) [.github/workflows/observable-wpt.yml#L60-L76](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/observable-wpt.yml#L60-L76) [.github/workflows/observable-wpt.yml#L94-L99](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/observable-wpt.yml#L94-L99)
- Release readiness defines browser, Webpack, performance, packed adoption, Deno/Bun, and desktop/iOS Safari gates; the documentation app separately configures Jasmine/Karma with Chrome. — [.github/workflows/release-readiness.yml#L46-L61](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/release-readiness.yml#L46-L61) [.github/workflows/release-readiness.yml#L69-L98](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/release-readiness.yml#L69-L98) [.github/workflows/release-readiness.yml#L100-L123](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/release-readiness.yml#L100-L123) [apps/rxjs.dev/src/karma.conf.js#L4-L31](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/apps/rxjs.dev/src/karma.conf.js#L4-L31)

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)
