deno/tests/node_compat
Daniel Osvaldo Rahmanto 1ef0d0838e
fix(ext/node): implement http.res.setHeaders (#30586)
Closes #30540

Also fixes res.writeHead implementation to parse array values correctly.
For example, `res.writeHead(200, [["foo", "bar"]])` and
`res.writeHead(200, ["foo", "bar"])` should produce the same result.

These changes allows
[parallel/test-http-response-setheaders.js](https://github.com/nodejs/node/blob/v24.2.0/test/parallel/test-http-response-setheaders.js)
to pass.
2025-09-01 23:13:03 +02:00
..
runner chore(test): preserve node test fixtures line endings (#30488) 2025-08-22 10:38:06 -04:00
.gitignore chore: create monthly summary of node test runs (#28778) 2025-04-08 12:12:27 +09:00
add_day_summary_to_month_summary.ts chore: post node test results to slack (#28795) 2025-04-08 23:14:38 +09:00
common.ts chore(ext/node): reorg node compat test CI check (#29893) 2025-06-27 21:06:18 +09:00
config.toml fix(ext/node): implement http.res.setHeaders (#30586) 2025-09-01 23:13:03 +02:00
deno.json chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
README.md chore(ext/node): reorg node compat test CI check (#29893) 2025-06-27 21:06:18 +09:00
run_all_test_unmodified.ts fix(test): set cwd when running node compatibility tests (#30422) 2025-08-16 11:36:20 +00:00
slack.ts ci: update Slack bot action (#29333) 2025-05-16 15:00:10 +02:00
test.ts test: add ability to ignore Node compat tests (#30439) 2025-08-19 08:35:10 +00:00
test_runner.rs chore(ext/node): re-enable node compat test (#29936) 2025-06-28 14:17:10 +02:00

Node compat test directory

This directory includes the tools for running Node.js test cases directly in Deno.

  • ./runner/suite/ - vendored Node.js test cases (git submodule at https://github.com/denoland/node_test)
  • ./config.toml - has the list of passing Node.js test cases
  • ./test.ts - The script entrypoint of node compat test.

If you run single node.js test case, use the command:

./tools/node_compat_tests.js --filter <name of test file>

Add test case entry to CI check

If you fixed some Node.js compabitility and some test cases started passing, then add those cases to config.toml. The items listed in there are checked in CI check.

Daily test viewer

To see the latest test results of all test cases, visit this site https://node-test-viewer.deno.dev/results/latest