11cb0ef41Sopenharmony_ci// Flags: --expose-internals 21cb0ef41Sopenharmony_ci'use strict'; 31cb0ef41Sopenharmony_cirequire('../common'); 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ci// Test conversion of IP addresses to the format returned 61cb0ef41Sopenharmony_ci// for addresses in Subject Alternative Name section 71cb0ef41Sopenharmony_ci// of a TLS certificate 81cb0ef41Sopenharmony_ci 91cb0ef41Sopenharmony_ciconst assert = require('assert'); 101cb0ef41Sopenharmony_ciconst { internalBinding } = require('internal/test/binding'); 111cb0ef41Sopenharmony_ciconst { canonicalizeIP } = internalBinding('cares_wrap'); 121cb0ef41Sopenharmony_ci 131cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('127.0.0.1'), '127.0.0.1'); 141cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('10.1.0.1'), '10.1.0.1'); 151cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('::1'), '::1'); 161cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('fe80:0:0:0:0:0:0:1'), 'fe80::1'); 171cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('fe80:0:0:0:0:0:0:0'), 'fe80::'); 181cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('fe80::0000:0010:0001'), 'fe80::10:1'); 191cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('0001:2222:3333:4444:5555:6666:7777:0088'), 201cb0ef41Sopenharmony_ci '1:2222:3333:4444:5555:6666:7777:88'); 211cb0ef41Sopenharmony_ci 221cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('0001:2222:3333:4444:5555:6666::'), 231cb0ef41Sopenharmony_ci '1:2222:3333:4444:5555:6666::'); 241cb0ef41Sopenharmony_ci 251cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('a002:B12:00Ba:4444:5555:6666:0:0'), 261cb0ef41Sopenharmony_ci 'a002:b12:ba:4444:5555:6666::'); 271cb0ef41Sopenharmony_ci 281cb0ef41Sopenharmony_ci// IPv4 address represented in IPv6 291cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('0:0:0:0:0:ffff:c0a8:101'), 301cb0ef41Sopenharmony_ci '::ffff:192.168.1.1'); 311cb0ef41Sopenharmony_ci 321cb0ef41Sopenharmony_ciassert.strictEqual(canonicalizeIP('::ffff:192.168.1.1'), 331cb0ef41Sopenharmony_ci '::ffff:192.168.1.1'); 34