# Testing signals — testing-library/dom-testing-library

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

# Testing signals — testing-library/dom-testing-library

Scanned commit 6049cc0bc7cf2201625c476c95fa6299d0e2fa8b (2026-09-13). 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 is not a passing result. Jest configuration separates jsdom and Node projects, with separately typechecked public API examples. Inspected suites exercise query semantics, visibility, asynchronous scheduling, removal, events, and diagnostic behavior. This is a bounded source inventory: browser fidelity, actual coverage percentages, inherited thresholds, and release success remain unverified.
- Jest imports coverage settings from kcd-scripts, excludes test directories from coverage, and declares dom/node projects; the DOM project uses jest-environment-jsdom and the Node project selects __node_tests__ files. — [jest.config.js#L1-L24](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/jest.config.js#L1-L24) [tests/jest.config.dom.js#L9-L19](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/tests/jest.config.dom.js#L9-L19) [tests/jest.config.node.js#L9-L19](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/tests/jest.config.node.js#L9-L19)
- Test support imports jest-dom matchers, serializes MutationRecord objects, suppresses deprecated warnings, restores mocked timers, and offers an innerHTML-based render/rerender helper with body cleanup. — [tests/setup-env.js#L1-L45](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/tests/setup-env.js#L1-L45) [src/__tests__/helpers/test-utils.js#L3-L22](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/helpers/test-utils.js#L3-L22)
- Role tests assert exclusions for hidden attributes, display:none, visibility:hidden, and ancestor aria-hidden; asynchronous query tests assert success and missing-result rejection across all eight query families plus delayed TestId appearance. — [src/__tests__/role.js#L88-L109](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/role.js#L88-L109) [src/__tests__/role.js#L130-L176](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/role.js#L130-L176) [src/__tests__/queries.find.js#L42-L76](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/queries.find.js#L42-L76) [src/__tests__/queries.find.js#L112-L140](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/queries.find.js#L112-L140)
- waitFor tests inspect configurable error delegation, suppression of retries while a promise is pending, pending-promise timeout, and both timer-mode switches; fake-timer tests cover legacy/modern clocks, recursive timers, and requestAnimationFrame. — [src/__tests__/wait-for.js#L179-L232](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/wait-for.js#L179-L232) [src/__tests__/wait-for.js#L235-L267](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/wait-for.js#L235-L267) [src/__tests__/fake-timers.js#L18-L43](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/fake-timers.js#L18-L43) [src/__tests__/fake-timers.js#L68-L108](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/fake-timers.js#L68-L108)
- Removal tests distinguish mutation from disappearance, reject initially absent elements, accept getter errors as disappearance, check undefined resolution, and cover direct elements and arrays tracked against top-most parents. — [src/__tests__/wait-for-element-to-be-removed.js#L4-L42](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/wait-for-element-to-be-removed.js#L4-L42) [src/__tests__/wait-for-element-to-be-removed.js#L83-L108](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/wait-for-element-to-be-removed.js#L83-L108) [src/__tests__/wait-for-element-to-be-removed.js#L120-L151](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/wait-for-element-to-be-removed.js#L120-L151)
- Event tests assert bubbling, shadow-boundary composition, alias dispatch, value/selection mutation, files, and transfer data; the DataTransfer constructor branch is exercised with a locally supplied constructor. — [src/__tests__/events.js#L196-L268](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/events.js#L196-L268) [src/__tests__/events.js#L271-L338](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/events.js#L271-L338) [src/__tests__/events.js#L341-L350](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__tests__/events.js#L341-L350)
- Node tests model an entire form-submit/delayed-result flow without a global DOM and assert screen's no-document error; type fixtures cover direct/screen queries and custom buildQueries/within bindings, but neither runtime nor type checks ran during this investigation. — [src/__node_tests__/index.js#L4-L48](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__node_tests__/index.js#L4-L48) [src/__node_tests__/screen.js#L1-L9](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/__node_tests__/screen.js#L1-L9) [types/__tests__/type-tests.ts#L28-L51](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/types/__tests__/type-tests.ts#L28-L51) [types/__tests__/type-tests.ts#L88-L134](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/types/__tests__/type-tests.ts#L88-L134) [package.json#L51-L55](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/package.json#L51-L55)
- Inspected CI specifies Node 18/24 validation, format checking, and Codecov upload; it does not establish a real-browser test result. Coverage also has explicit blind spots: DOMElementFilter is ignored as a file and the event constructor fallback is ignored as a branch. — [.github/workflows/validate.yml#L26-L61](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/.github/workflows/validate.yml#L26-L61) [src/DOMElementFilter.ts#L1-L6](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/DOMElementFilter.ts#L1-L6) [src/events.js#L49-L63](https://github.com/testing-library/dom-testing-library/blob/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b/src/events.js#L49-L63)

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)
