deno/tests/node_compat
Nathan Whitaker a77b2987bc
fix(ext/node): Match punycode module behavior to node (#22847)
Fixes #19214.

We were using the `idna` crate to implement our polyfill for
`punycode.toASCII` and `punycode.toUnicode`. The `idna` crate is
correct, and adheres to the IDNA2003/2008 spec, but it turns out
`node`'s implementations don't really follow any spec! Instead, node
splits the domain by `'.'` and punycode encodes/decodes each part. This
means that node's implementations will happily work on codepoints that
are disallowed by the IDNA specs, causing the error in #19214.

While fixing this, I went ahead and matched the node behavior on all of
the punycode functions and enabled node's punycode test in our
`node_compat` suite.
2024-03-11 15:49:43 -07:00
..
test fix(ext/node): Match punycode module behavior to node (#22847) 2024-03-11 15:49:43 -07:00
common.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
config.jsonc fix(ext/node): Match punycode module behavior to node (#22847) 2024-03-11 15:49:43 -07:00
deno.json chore: move test_util/std to tests/util/std (#22402) 2024-02-13 09:22:49 -07:00
polyfill_globals.js chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
runner.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
test.ts chore(tests): Remove vestiges of cli/tests folder (#22712) 2024-03-05 13:49:21 -07:00
test_runner.rs chore: continue tests/ re-org (#22396) 2024-02-12 17:13:14 -07:00