Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: replace mocha with node.js builtin #135

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

msimerson
Copy link

@msimerson msimerson commented Mar 27, 2024

Note, it does change the output format somewhat:

 ✗ npm test

> punycode@2.3.1 test
> node --test

▶ punycode.ucs2.decode
  ✔ Consecutive astral symbols (0.429833ms)
  ✔ U+D800 (high surrogate) followed by non-surrogates (0.096ms)
  ✔ U+DC00 (low surrogate) followed by non-surrogates (0.036625ms)
  ✔ High surrogate followed by another high surrogate (0.037709ms)
  ✔ Unmatched high surrogate, followed by a surrogate pair, followed by an unmatched high surrogate (0.032542ms)
  ✔ Low surrogate followed by another low surrogate (0.027583ms)
  ✔ Unmatched low surrogate, followed by a surrogate pair, followed by an unmatched low surrogate (0.028625ms)
  ✔ throws RangeError: Illegal input >= 0x80 (not a basic code point) (0.329208ms)
  ✔ throws RangeError: Overflow: input needs wider integers to process (0.067958ms)
▶ punycode.ucs2.decode (2.553792ms)

▶ punycode.ucs2.encode
  ✔ Consecutive astral symbols (0.076333ms)
  ✔ U+D800 (high surrogate) followed by non-surrogates (0.030541ms)
  ✔ U+DC00 (low surrogate) followed by non-surrogates (0.024417ms)
  ✔ High surrogate followed by another high surrogate (0.019375ms)
  ✔ Unmatched high surrogate, followed by a surrogate pair, followed by an unmatched high surrogate (0.018709ms)
  ✔ Low surrogate followed by another low surrogate (0.017458ms)
  ✔ Unmatched low surrogate, followed by a surrogate pair, followed by an unmatched low surrogate (0.016666ms)
  ✔ does not mutate argument array (0.030583ms)
▶ punycode.ucs2.encode (0.4865ms)

▶ punycode.decode
  ✔ a single basic code point (0.096666ms)
  ✔ a single non-ASCII character (0.063291ms)
  ✔ multiple non-ASCII characters (0.0955ms)
  ✔ mix of ASCII and non-ASCII characters (0.0215ms)
  ✔ long string with both ASCII and non-ASCII characters (0.023ms)
  ✔ Arabic (Egyptian) (0.0215ms)
  ✔ Chinese (simplified) (0.020208ms)
  ✔ Chinese (traditional) (0.020792ms)
  ✔ Czech (0.331791ms)
  ✔ Hebrew (0.038584ms)
  ✔ Hindi (Devanagari) (0.0285ms)
  ✔ Japanese (kanji and hiragana) (0.024334ms)
  ✔ Korean (Hangul syllables) (0.027459ms)
  ✔ Russian (Cyrillic) (0.024708ms)
  ✔ Spanish (0.020209ms)
  ✔ Vietnamese (0.020708ms)
  ✔ 3B-ww4c5e180e575a65lsy2b (0.020375ms)
  ✔ -with-SUPER-MONKEYS-pc58ag80a8qai00g7n9n (0.11975ms)
  ✔ Hello-Another-Way--fc4qua05auwb3674vfr0b (0.020459ms)
  ✔ 2-u9tlzr9756bt3uc0v (0.021166ms)
  ✔ MajiKoi5-783gue6qz075azm5e (0.019125ms)
  ✔ de-jg4avhby1noc0d (0.018417ms)
  ✔ d9juau41awczczp (0.01825ms)
  ✔ ASCII string that breaks the existing rules for host-name labels (0.016542ms)
  ✔ handles uppercase Z (0.035416ms)
  ✔ throws RangeError: Invalid input (0.04525ms)
▶ punycode.decode (1.693334ms)

▶ punycode.encode
  ✔ a single basic code point (0.168208ms)
  ✔ a single non-ASCII character (0.029375ms)
  ✔ multiple non-ASCII characters (0.092959ms)
  ✔ mix of ASCII and non-ASCII characters (0.022375ms)
  ✔ long string with both ASCII and non-ASCII characters (0.028334ms)
  ✔ Arabic (Egyptian) (0.031125ms)
  ✔ Chinese (simplified) (0.023417ms)
  ✔ Chinese (traditional) (0.023583ms)
  ✔ Czech (0.022625ms)
  ✔ Hebrew (0.037458ms)
  ✔ Hindi (Devanagari) (0.046333ms)
  ✔ Japanese (kanji and hiragana) (0.037042ms)
  ✔ Korean (Hangul syllables) (0.054208ms)
  ✔ Russian (Cyrillic) (0.045625ms)
  ✔ Spanish (0.029084ms)
  ✔ Vietnamese (0.033458ms)
  ✔ 3年B組金八先生 (0.024292ms)
  ✔ 安室奈美恵-with-SUPER-MONKEYS (0.027334ms)
  ✔ Hello-Another-Way-それぞれの場所 (0.028208ms)
  ✔ ひとつ屋根の下2 (0.025ms)
  ✔ MajiでKoiする5秒前 (0.024417ms)
  ✔ パフィーdeルンバ (0.024292ms)
  ✔ そのスピードで (0.021666ms)
  ✔ ASCII string that breaks the existing rules for host-name labels (0.018541ms)
▶ punycode.encode (1.234ms)

▶ punycode.toUnicode
  ✔ xn--maana-pta.com (0.42875ms)
  ✔ example.com. (0.048083ms)
  ✔ xn--bcher-kva.com (0.034875ms)
  ✔ xn--caf-dma.com (0.031167ms)
  ✔ xn----dqo34k.com (0.028333ms)
  ✔ xn----dqo34kn65z.com (0.027708ms)
  ✔ Emoji (0.023709ms)
  ✔ Non-printable ASCII (0.021542ms)
  ✔ Email address (0.140625ms)
  ✔ foo.example (0.025917ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.045542ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.020292ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.03425ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.038833ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.01975ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.022042ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.019208ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.021583ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.019208ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.018625ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.018833ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.018375ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.390833ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.052458ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.019334ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.01875ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.023375ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.019125ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.019292ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.015917ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.015208ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.015375ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.019084ms)
  ✔ does not convert names (or other strings) that don't start with `xn--` (0.016666ms)
▶ punycode.toUnicode (2.2975ms)

▶ punycode.toASCII
  ✔ mañana.com (0.188542ms)
  ✔ example.com. (0.017875ms)
  ✔ bücher.com (0.018959ms)
  ✔ café.com (0.018333ms)
  ✔ ☃-⌘.com (0.033708ms)
  ✔ 퐀☃-⌘.com (0.023292ms)
  ✔ Emoji (0.023ms)
  ✔ Non-printable ASCII (0.019542ms)
  ✔ Email address (0.092583ms)
  ✔ foo.example (0.019917ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.029125ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013708ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.022792ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013416ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.017042ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013583ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013459ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013125ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013875ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.015917ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013375ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.012875ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013667ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013083ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.01625ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013916ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.016292ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.015291ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.014208ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.014417ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.014375ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.015167ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.014458ms)
  ✔ does not convert domain names (or other strings) that are already in ASCII (0.013709ms)
  ✔ supports IDNA2003 separators for backwards compatibility (0.024958ms)
  ✔ supports IDNA2003 separators for backwards compatibility (0.017959ms)
  ✔ supports IDNA2003 separators for backwards compatibility (0.01775ms)
  ✔ supports IDNA2003 separators for backwards compatibility (0.018542ms)
▶ punycode.toASCII (1.480084ms)

ℹ tests 139
ℹ suites 6
ℹ pass 139
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 79.994041

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant