# Testing signals — postcss/postcss

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

# Testing signals — postcss/postcss

Scanned commit 7ac902664902289ea0cb9d6b1096b81e8d33bbf5 (2026-09-29). 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 or achieved coverage is asserted. The bounded inspection found uvu unit tests, declaration checks, external parser fixtures, integration testing, and a separate fuzz target. Tests specify important contracts for async ordering, insertion during traversal, deep trees, source-map trust boundaries, and serialization. Coverage configuration excludes a critical map module, and the inspected fuzz harness has limits that prevent treating it as comprehensive validation.
- The inspected unit suites use uvu and uvu/assert; package scripts select test files ending in .test.ts or .test.js, transpile TypeScript without type checking, and run declaration validation separately through check-dts. — [package.json#L80-89](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/package.json#L80-L89) [test/parse.test.ts#L1-14](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/parse.test.ts#L1-L14) [test/fromJSON.test.ts#L1-5](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/fromJSON.test.ts#L1-L5) [test/types.ts#L1-31](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/types.ts#L1-L31)
- Parser tests compare ASTs against postcss-parser-tests fixtures and assert syntax-error positions; test/integration.js processes real CSS through parse().toResult with map annotations disabled. — [test/parse.test.ts#L16-26](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/parse.test.ts#L16-L26) [test/parse.test.ts#L134-192](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/parse.test.ts#L134-L192) [test/integration.js#L1-7](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/integration.js#L1-L7)
- Processor and visitor tests specify sequential async plugin completion, custom parser/stringifier support, dynamically prepared listeners, and parity of inserted-sibling ordering between sync and async walks. — [test/processor.test.ts#L236-265](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/processor.test.ts#L236-L265) [test/processor.test.ts#L444-486](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/processor.test.ts#L444-L486) [test/visitor.test.ts#L347-368](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/visitor.test.ts#L347-L368) [test/visitor.test.ts#L766-788](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/visitor.test.ts#L766-L788)
- A 6,000-level parser regression exercises stringify, clone, toJSON/fromJSON, and walk; a separate visitor regression checks synchronous mutation and the second pass over a changed declaration. — [test/parse.test.ts#L261-278](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/parse.test.ts#L261-L278) [test/visitor.test.ts#L1649-1669](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/visitor.test.ts#L1649-L1669)
- Source-map tests cover rejection of non-.map files, paths outside the CSS directory, and missing from; they also specify unsafeMap opt-out, default/disabled source content, and annotation cleanup in the no-work branch. — [test/previous-map.test.ts#L297-340](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/previous-map.test.ts#L297-L340) [test/map.test.ts#L476-493](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/map.test.ts#L476-L493) [test/map.test.ts#L732-759](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/map.test.ts#L732-L759)
- Security-related regressions specify __proto__ rejection during hydration and HTML delimiter escaping across chunks, while explicitly testing custom-stringifier and Document-raw exceptions. — [test/fromJSON.test.ts#L72-79](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/fromJSON.test.ts#L72-L79) [test/stringifier.test.js#L407-457](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/stringifier.test.js#L407-L457)
- c8 is configured to require 100% lines for its included scope but excludes lib/map-generator.js; the Jazzer target exercises parse/stringify/JSON/list helpers, accepts CssSyntaxError on reparsing, and its processor branch uses an empty plugin list. — [package.json#L133-140](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/package.json#L133-L140) [test/fuzzing/fuzz_parse.js#L64-95](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/fuzzing/fuzz_parse.js#L64-L95) [test/fuzzing/fuzz_parse.js#L99-120](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/test/fuzzing/fuzz_parse.js#L99-L120)
- The inspected CI definition runs the full package test script on Node 26, unit tests on Node 24/22, adapted old-runtime tests on Node 20 through 10, and unit tests on Windows; these are configured jobs, not observed successful runs. — [.github/workflows/test.yml#L10-26](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/.github/workflows/test.yml#L10-L26) [.github/workflows/test.yml#L27-50](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/.github/workflows/test.yml#L27-L50) [.github/workflows/test.yml#L51-83](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/.github/workflows/test.yml#L51-L83) [.github/workflows/test.yml#L84-104](https://github.com/postcss/postcss/blob/7ac902664902289ea0cb9d6b1096b81e8d33bbf5/.github/workflows/test.yml#L84-L104)

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)
