# Testing signals — motiondivision/motion

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

# Testing signals — motiondivision/motion

Scanned commit f5838ce47b323ce2713cb2effc5afaa5b6120a44 (2026-10-02). 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, coverage percentage, or runtime performance result is asserted. The repository combines co-located Jest tests, React browser tests in Cypress, and Playwright browser suites. Inspected tests exercise registry precedence, presence initialization, playback controls, scroll parity, and React view transitions. Inspection was bounded, and browser support checks, project selection, and CI wiring limit what test existence establishes.
- Jest uses ts-jest and co-located __tests__ patterns; framer-motion separates JSDOM client tests from Node SSR tests, with JUnit output configured for both. — [packages/framer-motion/jest.config.json#L2-L13](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/jest.config.json#L2-L13) [packages/framer-motion/jest.config.json#L18-L25](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/jest.config.json#L18-L25) [packages/framer-motion/jest.config.ssr.json#L2-L12](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/jest.config.ssr.json#L2-L12) [packages/framer-motion/jest.config.ssr.json#L17-L23](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/jest.config.ssr.json#L17-L23)
- Effect-registry unit tests assert registration lookup, newest-effect precedence, removal, deduplication, and animation from a readable initial value. — [packages/motion-dom/src/animation/animate/__tests__/effects.test.ts#L43-L103](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/motion-dom/src/animation/animate/__tests__/effects.test.ts#L43-L103)
- AnimatePresence tests use React rendering helpers and frame callbacks to check default initial animation, initial={false} suppression, and ordinary rerenders. — [packages/framer-motion/src/components/AnimatePresence/__tests__/AnimatePresence.test.tsx#L17-L85](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/components/AnimatePresence/__tests__/AnimatePresence.test.tsx#L17-L85)
- Cypress has separate React 18/19 base URLs and JUnit files; the inspected scroll-accelerate spec checks direct acceleration propagation, non-compositor propagation, and exclusion of chained useTransform. — [packages/framer-motion/cypress.json#L1-L10](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/cypress.json#L1-L10) [packages/framer-motion/cypress.react-19.json#L1-L10](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/cypress.react-19.json#L1-L10) [packages/framer-motion/cypress/integration/scroll-accelerate.ts#L1-L37](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/cypress/integration/scroll-accelerate.ts#L1-L37)
- Playwright defines Chromium and WebKit HTML projects plus a Chromium React 19 project; CI forbids focused tests, retries twice, uses one worker, and captures traces on first retry. This configuration contains no Firefox project. — [playwright.config.ts#L14-L32](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/playwright.config.ts#L14-L32) [playwright.config.ts#L36-L60](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/playwright.config.ts#L36-L60)
- Inspected Playwright tests cover playback/repeat/interruption, compare native and JS scroll progress within 0.01 across positions and resizes, and inspect React view-transition pseudo-animation timing; the latter skips when startViewTransition is unsupported. — [tests/animate/animate.spec.ts#L24-L62](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/tests/animate/animate.spec.ts#L24-L62) [tests/scroll/view-timeline-parity.spec.ts#L28-L62](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/tests/scroll/view-timeline-parity.spec.ts#L28-L62) [tests/scroll/view-timeline-parity.spec.ts#L88-L108](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/tests/scroll/view-timeline-parity.spec.ts#L88-L108) [tests/react/animate-view.spec.ts#L16-L23](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/tests/react/animate-view.spec.ts#L16-L23)
- CircleCI builds after an immutable install, then runs Jest, size budgets, React 18, React 19, HTML, and Next.js jobs; its inspected workflow does not schedule the Makefile's test-e2e target that additionally runs Playwright. — [.circleci/config.yml#L20-L38](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/.circleci/config.yml#L20-L38) [.circleci/config.yml#L65-L71](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/.circleci/config.yml#L65-L71) [.circleci/config.yml#L126-L136](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/.circleci/config.yml#L126-L136) [Makefile#L94-L95](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/Makefile#L94-L95)
- Validation limits are explicit: documentation warns JSDOM lacks WAAPI and real layout, browser tests can skip unsupported APIs, and the inspected CI job list establishes configured execution paths rather than actual run outcomes. — [CLAUDE.md#L80-L90](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/CLAUDE.md#L80-L90) [tests/react/animate-view.spec.ts#L19-L23](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/tests/react/animate-view.spec.ts#L19-L23) [.circleci/config.yml#L141-L159](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/.circleci/config.yml#L141-L159)

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)
