mirror of
https://github.com/hanzoai/core-js.git
synced 2026-09-24 16:58:15 +00:00
154 lines
4.6 KiB
JavaScript
154 lines
4.6 KiB
JavaScript
// Copyright © web-platform-tests contributors
|
|
// Originally from https://github.com/web-platform-tests/wpt
|
|
// Available under the 3-Clause BSD License https://github.com/web-platform-tests/wpt/blob/master/LICENSE.md
|
|
|
|
/* eslint-disable @stylistic/max-len -- ignore */
|
|
export default [
|
|
{
|
|
comment: 'Label with hyphens in 3rd and 4th position',
|
|
input: 'aa--',
|
|
output: 'aa--',
|
|
},
|
|
{
|
|
input: 'a†--',
|
|
output: 'xn--a---kp0a',
|
|
},
|
|
{
|
|
input: 'ab--c',
|
|
output: 'ab--c',
|
|
},
|
|
{
|
|
comment: 'Label with leading hyphen',
|
|
input: '-x',
|
|
output: '-x',
|
|
},
|
|
{
|
|
input: '-†',
|
|
output: 'xn----xhn',
|
|
},
|
|
{
|
|
input: '-x.xn--nxa',
|
|
output: '-x.xn--nxa',
|
|
},
|
|
{
|
|
input: '-x.β',
|
|
output: '-x.xn--nxa',
|
|
},
|
|
{
|
|
comment: 'Label with trailing hyphen',
|
|
input: 'x-.xn--nxa',
|
|
output: 'x-.xn--nxa',
|
|
},
|
|
{
|
|
input: 'x-.β',
|
|
output: 'x-.xn--nxa',
|
|
},
|
|
{
|
|
comment: 'Empty labels',
|
|
input: 'x..xn--nxa',
|
|
output: 'x..xn--nxa',
|
|
},
|
|
{
|
|
input: 'x..β',
|
|
output: 'x..xn--nxa',
|
|
},
|
|
{
|
|
comment: 'Invalid Punycode',
|
|
input: 'xn--a',
|
|
output: null,
|
|
},
|
|
{
|
|
input: 'xn--a.xn--nxa',
|
|
output: null,
|
|
},
|
|
{
|
|
input: 'xn--a.β',
|
|
output: null,
|
|
},
|
|
{
|
|
comment: 'Valid Punycode',
|
|
input: 'xn--nxa.xn--nxa',
|
|
output: 'xn--nxa.xn--nxa',
|
|
},
|
|
{
|
|
comment: 'Mixed',
|
|
input: 'xn--nxa.β',
|
|
output: 'xn--nxa.xn--nxa',
|
|
},
|
|
{
|
|
input: 'ab--c.xn--nxa',
|
|
output: 'ab--c.xn--nxa',
|
|
},
|
|
{
|
|
input: 'ab--c.β',
|
|
output: 'ab--c.xn--nxa',
|
|
},
|
|
{
|
|
comment: 'CheckJoiners is true',
|
|
input: '\u200D.example',
|
|
output: null,
|
|
},
|
|
{
|
|
input: 'xn--1ug.example',
|
|
output: null,
|
|
},
|
|
{
|
|
comment: 'CheckBidi is true',
|
|
input: 'يa',
|
|
output: null,
|
|
},
|
|
{
|
|
input: 'xn--a-yoc',
|
|
output: null,
|
|
},
|
|
{
|
|
comment: 'processing_option is Nontransitional_Processing',
|
|
input: 'ශ්රී',
|
|
output: 'xn--10cl1a0b660p',
|
|
},
|
|
{
|
|
input: 'نامهای',
|
|
output: 'xn--mgba3gch31f060k',
|
|
},
|
|
{
|
|
comment: 'U+FFFD',
|
|
input: '\uFFFD.com',
|
|
output: null,
|
|
},
|
|
{
|
|
comment: 'U+FFFD character encoded in Punycode',
|
|
input: 'xn--zn7c.com',
|
|
output: null,
|
|
},
|
|
{
|
|
comment: 'Label longer than 63 code points',
|
|
input: 'x01234567890123456789012345678901234567890123456789012345678901x',
|
|
output: 'x01234567890123456789012345678901234567890123456789012345678901x',
|
|
},
|
|
{
|
|
input: 'x01234567890123456789012345678901234567890123456789012345678901†',
|
|
output: 'xn--x01234567890123456789012345678901234567890123456789012345678901-6963b',
|
|
},
|
|
{
|
|
input: 'x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa',
|
|
output: 'x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa',
|
|
},
|
|
{
|
|
input: 'x01234567890123456789012345678901234567890123456789012345678901x.β',
|
|
output: 'x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa',
|
|
},
|
|
{
|
|
comment: 'Domain excluding TLD longer than 253 code points',
|
|
input: '01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x',
|
|
output: '01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x',
|
|
},
|
|
{
|
|
input: '01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa',
|
|
output: '01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa',
|
|
},
|
|
{
|
|
input: '01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.β',
|
|
output: '01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa',
|
|
},
|
|
];
|