CodeVetter · Repo Unpack · Testing signals
puppeteer/puppeteer
Tests and CI were inspected, not executed; no passing result is asserted. Browser integration tests use Mocha with shared fixtures and a custom expectation-aware runner, while colocated unit tests use node:test. Inspected tests substantiate navigation, screenshot, provider, extraction, configuration, and cleanup coverage. Coverage observations are bounded: expected failures, skipped tests, weak assertions, and CI exclusions limit what test existence establishes.
- Integration tests use Mocha describe/it and expect assertions; .mocharc loads compiled fixtures, enables async-only tests, and configures three retries under CI.
- Colocated BrowserLauncher unit tests use node:test and verify synchronous profile removal, cleanup unregistration, and one shared exit listener for multiple profiles.
- The runner interprets TestSuites/TestExpectations; FAIL and TIMEOUT may be acceptable outcomes, SKIP normally marks matching tests pending unless focused .only selection bypasses that branch, and later matching expectations override earlier ones.
- Navigation tests cover anchors, redirects, about:blank, history changes, lifecycle selection, 204 responses, and recovery after a network error.
- Screenshot tests compare golden images for clipping, offscreen capture, parallel captures, and full-page captures; the viewport-changing branch checks restoration.
- Provider tests exercise fallback and aggregated errors, but the inspected fixture test accepts either success or selected failures and does not establish successful custom-browser launch.
- Archive tests exercise tar and ZIP contents, yauzl permissions, symlink preservation, and escaping-symlink rejection; symlink preservation is explicitly skipped on Windows.
- CI defines build/lint/docs/type checks, sharded Chrome/Firefox suites, installation and unit jobs; ordinary PRs narrow OS coverage and exclude some Chrome configurations, so inspecting these definitions establishes intended checks rather than executed results.