Tests & coverage

Quality is part of
the public API.

One canonical registry assigns every test once to Unit, Functional, Integration, or Regression. vanilla-test 2.1.0 runs it directly and collects native V8 coverage, while older supported Node releases use the local compatibility adapter.

1,178passed
0failed
13guarded skips
10CI jobs

Native V8 coverage

Current production-source coverage.

Measured on Node 24.18.0 after the full four-suite registry. Only the two shipped runtime files are included.

Coverage by shipped source file
SourceExecutable rangesBlock rangesFunction rangesExecutable lines
index.js89.31% · 301/33768.46% · 76/11199.55% · 225/22690.28% · 920/1019
node.js88.23% · 30/3480.00% · 8/1091.66% · 22/2491.91% · 91/99
Total89.21% · 331/37169.42% · 84/12198.80% · 247/25090.42% · 1011/1118
Coverage release gates
Per-file gateLowest current fileRequiredStatus
Executable ranges88.23%85%Pass
Block ranges68.46%65%Pass
Function ranges91.66%90%Pass
Executable lines90.28%90%Pass
VanillaTest reports the executable and block ranges emitted directly by V8. Those native range metrics are not interchangeable with parser-derived statement or branch counts. Test, documentation, and static-site files are excluded.

Test suites

Four suites. One owner for every test.

Node 24.18.0 test snapshot
SuiteResultWhat it covers
Unit586 passed · 13 guarded skipsAtomic validator contracts across all 201 core and Node validators, including guarded capabilities.
Functional15 passedStrict and non-strict modes, unions, custom validators, and Node adapter inheritance.
Integration554 passedReference and README completeness, local links, package exports, coverage configuration, and CI wiring.
Regression23 passedCoercion fixes, cross-realm brands, spoof resistance, revoked proxies, and cleanup resilience.
Total1,178 passed · 0 failed · 13 skippedFour exclusive suites from one non-duplicative registry.
A guarded skip means the current runtime does not expose that host API. It is a capability result, not an ignored failure.

Compatibility matrix

Oldest supported Node. Current platforms.

GitHub Actions CI jobs
Job groupRuntime / platformCommandPurpose
Compatibility · 5 jobsNode 12.21.0, 18, 20, 22.12, 24 · UbuntuCompatibility adapter; primary runner at 22.12Syntax, imports, validators, guarded capabilities, and the minimum supported vanilla-test runtime.
Platforms · 3 jobsNode 24 · Ubuntu, macOS, Windowsnpm testCross-platform behavior.
Native coverage · 1 jobNode 24 · Ubuntunpm run coverageProduction-source metrics and enforced floors.
Package · 1 jobNode 24 · Ubuntunpm pack --dry-runPublished-file inspection.

Open current CI results

Run it yourself

One pinned test runner.

Project commands
CommandWhat it doesThird-party tooling
npm testRuns all four suites from the canonical registry.vanilla-test 2.1.0
npm run test:unitRuns atomic core and Node validator contracts.vanilla-test 2.1.0
npm run test:functionalRuns public mode, union, and adapter workflows.vanilla-test 2.1.0
npm run test:integrationRuns documentation, package, site, and tooling boundaries.vanilla-test 2.1.0
npm run test:regressionRuns corrected edge cases and hostile-value protections.vanilla-test 2.1.0
npm run test:legacyRuns the same registered cases through the compatibility adapter.None
npm run coverageRuns the canonical registry through VanillaTest’s native Node V8 collector.vanilla-test 2.1.0
npm startServes the static site at localhost:8000.None
Terminal
npm test
npm run coverage

Coverage boundaries

What these numbers do—and do not—say.

Measurement boundaries
AreaMeasured hereDetail
Core and Node sourceYesExecutable-range, block-range, function-range, and executable-line coverage from V8.
Browser runtimeNot numericalThe source is browser-safe and the playground wiring is statically checked; this report is Node/V8 coverage.
Unavailable host APIsGuard testedStrict TypeError and weak false behavior are checked when a capability is absent.
UI renderingNot automatedLocal links/assets are checked; no browser automation dependency is installed.