J. King
4 years ago
2 changed files with 7144 additions and 6878 deletions
@ -1,149 +1,171 @@ |
|||||
[ |
[ |
||||
"This resource is focused on highlighting issues with UTS #46 ToASCII", |
"This resource is focused on highlighting issues with UTS #46 ToASCII", |
||||
{ |
{ |
||||
"comment": "Label with hyphens in 3rd and 4th position", |
"comment": "Label with hyphens in 3rd and 4th position", |
||||
"input": "aa--", |
"input": "aa--", |
||||
"output": "aa--" |
"output": "aa--" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "a†--", |
"input": "a†--", |
||||
"output": "xn--a---kp0a" |
"output": "xn--a---kp0a" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "ab--c", |
"input": "ab--c", |
||||
"output": "ab--c" |
"output": "ab--c" |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "Label with leading hyphen", |
"comment": "Label with leading hyphen", |
||||
"input": "-x", |
"input": "-x", |
||||
"output": "-x" |
"output": "-x" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "-†", |
"input": "-†", |
||||
"output": "xn----xhn" |
"output": "xn----xhn" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "-x.xn--nxa", |
"input": "-x.xn--nxa", |
||||
"output": "-x.xn--nxa" |
"output": "-x.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "-x.β", |
"input": "-x.β", |
||||
"output": "-x.xn--nxa" |
"output": "-x.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "Label with trailing hyphen", |
"comment": "Label with trailing hyphen", |
||||
"input": "x-.xn--nxa", |
"input": "x-.xn--nxa", |
||||
"output": "x-.xn--nxa" |
"output": "x-.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "x-.β", |
"input": "x-.β", |
||||
"output": "x-.xn--nxa" |
"output": "x-.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "Empty labels", |
"comment": "Empty labels", |
||||
"input": "x..xn--nxa", |
"input": "x..xn--nxa", |
||||
"output": "x..xn--nxa" |
"output": "x..xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "x..β", |
"input": "x..β", |
||||
"output": "x..xn--nxa" |
"output": "x..xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "Invalid Punycode", |
"comment": "Invalid Punycode", |
||||
"input": "xn--a", |
"input": "xn--a", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "xn--a.xn--nxa", |
"input": "xn--a.xn--nxa", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "xn--a.β", |
"input": "xn--a.β", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "Valid Punycode", |
"comment": "Valid Punycode", |
||||
"input": "xn--nxa.xn--nxa", |
"input": "xn--nxa.xn--nxa", |
||||
"output": "xn--nxa.xn--nxa" |
"output": "xn--nxa.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "Mixed", |
"comment": "Mixed", |
||||
"input": "xn--nxa.β", |
"input": "xn--nxa.β", |
||||
"output": "xn--nxa.xn--nxa" |
"output": "xn--nxa.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "ab--c.xn--nxa", |
"input": "ab--c.xn--nxa", |
||||
"output": "ab--c.xn--nxa" |
"output": "ab--c.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "ab--c.β", |
"input": "ab--c.β", |
||||
"output": "ab--c.xn--nxa" |
"output": "ab--c.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "CheckJoiners is true", |
"comment": "CheckJoiners is true", |
||||
"input": "\u200D.example", |
"input": "\u200D.example", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "xn--1ug.example", |
"input": "xn--1ug.example", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "CheckBidi is true", |
"comment": "CheckBidi is true", |
||||
"input": "يa", |
"input": "يa", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "xn--a-yoc", |
"input": "xn--a-yoc", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "processing_option is Nontransitional_Processing", |
"comment": "processing_option is Nontransitional_Processing", |
||||
"input": "ශ්රී", |
"input": "ශ්රී", |
||||
"output": "xn--10cl1a0b660p" |
"output": "xn--10cl1a0b660p" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "نامهای", |
"input": "نامهای", |
||||
"output": "xn--mgba3gch31f060k" |
"output": "xn--mgba3gch31f060k" |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "U+FFFD", |
"comment": "U+FFFD", |
||||
"input": "\uFFFD.com", |
"input": "\uFFFD.com", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "U+FFFD character encoded in Punycode", |
"comment": "U+FFFD character encoded in Punycode", |
||||
"input": "xn--zn7c.com", |
"input": "xn--zn7c.com", |
||||
"output": null |
"output": null |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "Label longer than 63 code points", |
"comment": "Label longer than 63 code points", |
||||
"input": "x01234567890123456789012345678901234567890123456789012345678901x", |
"input": "x01234567890123456789012345678901234567890123456789012345678901x", |
||||
"output": "x01234567890123456789012345678901234567890123456789012345678901x" |
"output": "x01234567890123456789012345678901234567890123456789012345678901x" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "x01234567890123456789012345678901234567890123456789012345678901†", |
"input": "x01234567890123456789012345678901234567890123456789012345678901†", |
||||
"output": "xn--x01234567890123456789012345678901234567890123456789012345678901-6963b" |
"output": "xn--x01234567890123456789012345678901234567890123456789012345678901-6963b" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa", |
"input": "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa", |
||||
"output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa" |
"output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "x01234567890123456789012345678901234567890123456789012345678901x.β", |
"input": "x01234567890123456789012345678901234567890123456789012345678901x.β", |
||||
"output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa" |
"output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"comment": "Domain excluding TLD longer than 253 code points", |
"comment": "Domain excluding TLD longer than 253 code points", |
||||
"input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x", |
"input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x", |
||||
"output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x" |
"output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa", |
"input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa", |
||||
"output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa" |
"output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa" |
||||
}, |
}, |
||||
{ |
{ |
||||
"input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.β", |
"input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.β", |
||||
"output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa" |
"output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa" |
||||
} |
}, |
||||
] |
{ |
||||
|
"comment": "IDNA ignored code points", |
||||
|
"input": "a\u00ADb", |
||||
|
"output": "ab" |
||||
|
}, |
||||
|
{ |
||||
|
"input": "a%C2%ADb", |
||||
|
"output": "ab" |
||||
|
}, |
||||
|
{ |
||||
|
"comment": "Empty host after domain to ASCII", |
||||
|
"input": "\u00AD", |
||||
|
"output": null |
||||
|
}, |
||||
|
{ |
||||
|
"input": "%C2%AD", |
||||
|
"output": null |
||||
|
}, |
||||
|
{ |
||||
|
"input": "xn--", |
||||
|
"output": null |
||||
|
} |
||||
|
] |
||||
|
File diff suppressed because it is too large
Loading…
Reference in new issue