diff options
author | Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> | 2024-03-11 15:49:43 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-11 15:49:43 -0700 |
commit | a77b2987bc90879af30a39ba274df9061cc7fbae (patch) | |
tree | ad7463374e66eb3aa61e41d96c512e67e717e349 /tests/integration/node_unit_tests.rs | |
parent | d69aab62b0789dd54b8c09b54af022a38f060b5b (diff) |
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.
Diffstat (limited to 'tests/integration/node_unit_tests.rs')
-rw-r--r-- | tests/integration/node_unit_tests.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/integration/node_unit_tests.rs b/tests/integration/node_unit_tests.rs index 3c824b6b2..2fd7e78f6 100644 --- a/tests/integration/node_unit_tests.rs +++ b/tests/integration/node_unit_tests.rs @@ -77,6 +77,7 @@ util::unit_test_factory!( path_test, perf_hooks_test, process_test, + punycode_test, querystring_test, readline_test, repl_test, |