2016-12-01 11:47:27 -06:00
|
|
|
|
'use strict';
|
|
|
|
|
|
2024-09-12 20:29:55 -04:00
|
|
|
|
const { hasIntl } = require('../common');
|
2017-07-01 02:29:09 +03:00
|
|
|
|
|
2024-09-12 20:29:55 -04:00
|
|
|
|
const { strictEqual } = require('node:assert');
|
|
|
|
|
const { domainToASCII, domainToUnicode } = require('node:url');
|
|
|
|
|
const { test } = require('node:test');
|
2016-12-01 11:47:27 -06:00
|
|
|
|
|
|
|
|
|
const domainWithASCII = [
|
2017-05-11 00:19:15 -07:00
|
|
|
|
['ıíd', 'xn--d-iga7r'],
|
|
|
|
|
['يٴ', 'xn--mhb8f'],
|
2016-12-01 11:47:27 -06:00
|
|
|
|
['www.ϧƽəʐ.com', 'www.xn--cja62apfr6c.com'],
|
|
|
|
|
['новини.com', 'xn--b1amarcd.com'],
|
|
|
|
|
['名がドメイン.com', 'xn--v8jxj3d1dzdz08w.com'],
|
|
|
|
|
['افغانستا.icom.museum', 'xn--mgbaal8b0b9b2b.icom.museum'],
|
|
|
|
|
['الجزائر.icom.fake', 'xn--lgbbat1ad8j.icom.fake'],
|
2021-03-26 08:51:08 -07:00
|
|
|
|
['भारत.org', 'xn--h2brj9c.org'],
|
2016-12-01 11:47:27 -06:00
|
|
|
|
];
|
|
|
|
|
|
2024-09-12 20:29:55 -04:00
|
|
|
|
test('domainToASCII and domainToUnicode', { skip: !hasIntl }, () => {
|
|
|
|
|
for (const [domain, ascii] of domainWithASCII) {
|
|
|
|
|
const domainConvertedToASCII = domainToASCII(domain);
|
|
|
|
|
strictEqual(domainConvertedToASCII, ascii);
|
|
|
|
|
const asciiConvertedToUnicode = domainToUnicode(ascii);
|
|
|
|
|
strictEqual(asciiConvertedToUnicode, domain);
|
|
|
|
|
}
|
2016-12-01 11:47:27 -06:00
|
|
|
|
});
|