Bug 1809928 [wpt PR 37907] - IDNA: add a couple interesting ToASCII cases, a=testonly
[gecko.git] / testing / web-platform / tests / url / resources / toascii.json
blob4cb41e94cd4a0f35da2102b71b3144ce2d51a497
2   "This resource is focused on highlighting issues with UTS #46 ToASCII",
3   {
4     "comment": "Label with hyphens in 3rd and 4th position",
5     "input": "aa--",
6     "output": "aa--"
7   },
8   {
9     "input": "a†--",
10     "output": "xn--a---kp0a"
11   },
12   {
13     "input": "ab--c",
14     "output": "ab--c"
15   },
16   {
17     "comment": "Label with leading hyphen",
18     "input": "-x",
19     "output": "-x"
20   },
21   {
22     "input": "-†",
23     "output": "xn----xhn"
24   },
25   {
26     "input": "-x.xn--zca",
27     "output": "-x.xn--zca"
28   },
29   {
30     "input": "-x.ß",
31     "output": "-x.xn--zca"
32   },
33   {
34     "comment": "Label with trailing hyphen",
35     "input": "x-.xn--zca",
36     "output": "x-.xn--zca"
37   },
38   {
39     "input": "x-.ß",
40     "output": "x-.xn--zca"
41   },
42   {
43     "comment": "Empty labels",
44     "input": "x..xn--zca",
45     "output": "x..xn--zca"
46   },
47   {
48     "input": "x..ß",
49     "output": "x..xn--zca"
50   },
51   {
52     "comment": "Invalid Punycode",
53     "input": "xn--a",
54     "output": null
55   },
56   {
57     "input": "xn--a.xn--zca",
58     "output": null
59   },
60   {
61     "input": "xn--a.ß",
62     "output": null
63   },
64   {
65     "input": "xn--ls8h=",
66     "output": null
67   },
68   {
69     "comment": "Invalid Punycode (contains non-ASCII character)",
70     "input": "xn--tešla",
71     "output": null
72   },
73   {
74     "comment": "Valid Punycode",
75     "input": "xn--zca.xn--zca",
76     "output": "xn--zca.xn--zca"
77   },
78   {
79     "comment": "Mixed",
80     "input": "xn--zca.ß",
81     "output": "xn--zca.xn--zca"
82   },
83   {
84     "input": "ab--c.xn--zca",
85     "output": "ab--c.xn--zca"
86   },
87   {
88     "input": "ab--c.ß",
89     "output": "ab--c.xn--zca"
90   },
91   {
92     "comment": "CheckJoiners is true",
93     "input": "\u200D.example",
94     "output": null
95   },
96   {
97     "input": "xn--1ug.example",
98     "output": null
99   },
100   {
101     "comment": "CheckBidi is true",
102     "input": "يa",
103     "output": null
104   },
105   {
106     "input": "xn--a-yoc",
107     "output": null
108   },
109   {
110     "comment": "processing_option is Nontransitional_Processing",
111     "input": "ශ්‍රී",
112     "output": "xn--10cl1a0b660p"
113   },
114   {
115     "input": "نامه‌ای",
116     "output": "xn--mgba3gch31f060k"
117   },
118   {
119     "comment": "U+FFFD",
120     "input": "\uFFFD.com",
121     "output": null
122   },
123   {
124     "comment": "U+FFFD character encoded in Punycode",
125     "input": "xn--zn7c.com",
126     "output": null
127   },
128   {
129     "comment": "Label longer than 63 code points",
130     "input": "x01234567890123456789012345678901234567890123456789012345678901x",
131     "output": "x01234567890123456789012345678901234567890123456789012345678901x"
132   },
133   {
134     "input": "x01234567890123456789012345678901234567890123456789012345678901†",
135     "output": "xn--x01234567890123456789012345678901234567890123456789012345678901-6963b"
136   },
137   {
138     "input": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca",
139     "output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca"
140   },
141   {
142     "input": "x01234567890123456789012345678901234567890123456789012345678901x.ß",
143     "output": "x01234567890123456789012345678901234567890123456789012345678901x.xn--zca"
144   },
145   {
146     "comment": "Domain excluding TLD longer than 253 code points",
147     "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x",
148     "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x"
149   },
150   {
151     "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca",
152     "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca"
153   },
154   {
155     "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.ß",
156     "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--zca"
157   },
158   {
159     "comment": "IDNA ignored code points",
160     "input": "a\u00ADb",
161     "output": "ab"
162   },
163   {
164     "input": "a%C2%ADb",
165     "output": "ab"
166   },
167   {
168     "comment": "Empty host after domain to ASCII",
169     "input": "\u00AD",
170     "output": null
171   },
172   {
173     "input": "%C2%AD",
174     "output": null
175   },
176   {
177     "input": "xn--",
178     "output": null
179   },
180   {
181     "comment": "Interesting UseSTD3ASCIIRules=false cases",
182     "input": "≠",
183     "output": "xn--1ch"
184   },
185   {
186     "input": "≮",
187     "output": "xn--gdh"
188   },
189   {
190     "input": "≯",
191     "output": "xn--hdh"
192   }