Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit b8bb858

Browse files
Add more comprehensive tessts for A-labels in the "hostname" format
1 parent 9b8ef53 commit b8bb858

File tree

4 files changed

+913
-0
lines changed

4 files changed

+913
-0
lines changed

‎tests/draft2019-09/optional/format/hostname.json‎

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,5 +128,234 @@
128128
"valid": false
129129
}
130130
]
131+
},
132+
{
133+
"description": "validation of A-label (punycode) host names",
134+
"schema": {
135+
"$schema": "https://json-schema.org/draft/2019-09/schema",
136+
"format": "hostname"
137+
},
138+
"tests": [
139+
{
140+
"description": "invalid Punycode",
141+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.4 https://tools.ietf.org/html/rfc5890#section-2.3.2.1",
142+
"data": "xn--X",
143+
"valid": false
144+
},
145+
{
146+
"description": "a valid host name (example.test in Hangul)",
147+
"data": "xn--9n2bp8q.xn--9t4b11yi5a",
148+
"valid": true
149+
},
150+
{
151+
"description": "contains illegal char U+302E Hangul single dot tone mark",
152+
"data": "xn--07jt112bpxg.xn--9t4b11yi5a",
153+
"valid": false
154+
},
155+
{
156+
"description": "Begins with a Spacing Combining Mark",
157+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.2",
158+
"data": "xn--hello-txk",
159+
"valid": false
160+
},
161+
{
162+
"description": "Begins with a Nonspacing Mark",
163+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.2",
164+
"data": "xn--hello-zed",
165+
"valid": false
166+
},
167+
{
168+
"description": "Begins with an Enclosing Mark",
169+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.2",
170+
"data": "xn--hello-6bf",
171+
"valid": false
172+
},
173+
{
174+
"description": "Exceptions that are PVALID, left-to-right chars",
175+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.2 https://tools.ietf.org/html/rfc5892#section-2.6",
176+
"data": "xn--zca29lwxobi7a",
177+
"valid": true
178+
},
179+
{
180+
"description": "Exceptions that are PVALID, right-to-left chars",
181+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.2 https://tools.ietf.org/html/rfc5892#section-2.6",
182+
"data": "xn--qmbc",
183+
"valid": true
184+
},
185+
{
186+
"description": "Exceptions that are DISALLOWED, right-to-left chars",
187+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.2 https://tools.ietf.org/html/rfc5892#section-2.6",
188+
"data": "xn--chb89f",
189+
"valid": false
190+
},
191+
{
192+
"description": "Exceptions that are DISALLOWED, left-to-right chars",
193+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.2 https://tools.ietf.org/html/rfc5892#section-2.6 Note: The two combining marks (U+302E and U+302F) are in the middle and not at the start",
194+
"data": "xn--07jceefgh4c",
195+
"valid": false
196+
},
197+
{
198+
"description": "MIDDLE DOT with no preceding 'l'",
199+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.3",
200+
"data": "xn--al-0ea",
201+
"valid": false
202+
},
203+
{
204+
"description": "MIDDLE DOT with nothing preceding",
205+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.3",
206+
"data": "xn--l-fda",
207+
"valid": false
208+
},
209+
{
210+
"description": "MIDDLE DOT with no following 'l'",
211+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.3",
212+
"data": "xn--la-0ea",
213+
"valid": false
214+
},
215+
{
216+
"description": "MIDDLE DOT with nothing following",
217+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.3",
218+
"data": "xn--l-gda",
219+
"valid": false
220+
},
221+
{
222+
"description": "MIDDLE DOT with surrounding 'l's",
223+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.3",
224+
"data": "xn--ll-0ea",
225+
"valid": true
226+
},
227+
{
228+
"description": "Greek KERAIA not followed by Greek",
229+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.4",
230+
"data": "xn--S-jib3p",
231+
"valid": false
232+
},
233+
{
234+
"description": "Greek KERAIA not followed by anything",
235+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.4",
236+
"data": "xn--wva3j",
237+
"valid": false
238+
},
239+
{
240+
"description": "Greek KERAIA followed by Greek",
241+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.4",
242+
"data": "xn--wva3je",
243+
"valid": true
244+
},
245+
{
246+
"description": "Hebrew GERESH not preceded by Hebrew",
247+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.5",
248+
"data": "xn--A-2hc5h",
249+
"valid": false
250+
},
251+
{
252+
"description": "Hebrew GERESH not preceded by anything",
253+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.5",
254+
"data": "xn--5db1e",
255+
"valid": false
256+
},
257+
{
258+
"description": "Hebrew GERESH preceded by Hebrew",
259+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.5",
260+
"data": "xn--4dbc5h",
261+
"valid": true
262+
},
263+
{
264+
"description": "Hebrew GERSHAYIM not preceded by Hebrew",
265+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.6",
266+
"data": "xn--A-2hc8h",
267+
"valid": false
268+
},
269+
{
270+
"description": "Hebrew GERSHAYIM not preceded by anything",
271+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.6",
272+
"data": "xn--5db3e",
273+
"valid": false
274+
},
275+
{
276+
"description": "Hebrew GERSHAYIM preceded by Hebrew",
277+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.6",
278+
"data": "xn--4dbc8h",
279+
"valid": true
280+
},
281+
{
282+
"description": "KATAKANA MIDDLE DOT with no Hiragana, Katakana, or Han",
283+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.7",
284+
"data": "xn--defabc-k64e",
285+
"valid": false
286+
},
287+
{
288+
"description": "KATAKANA MIDDLE DOT with no other characters",
289+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.7",
290+
"data": "xn--vek",
291+
"valid": false
292+
},
293+
{
294+
"description": "KATAKANA MIDDLE DOT with Hiragana",
295+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.7",
296+
"data": "xn--k8j5u",
297+
"valid": true
298+
},
299+
{
300+
"description": "KATAKANA MIDDLE DOT with Katakana",
301+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.7",
302+
"data": "xn--bck0j",
303+
"valid": true
304+
},
305+
{
306+
"description": "KATAKANA MIDDLE DOT with Han",
307+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.7",
308+
"data": "xn--vek778f",
309+
"valid": true
310+
},
311+
{
312+
"description": "Arabic-Indic digits mixed with Extended Arabic-Indic digits",
313+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.8",
314+
"data": "xn--ngb6iyr",
315+
"valid": false
316+
},
317+
{
318+
"description": "Arabic-Indic digits not mixed with Extended Arabic-Indic digits",
319+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.8",
320+
"data": "xn--ngba1o",
321+
"valid": true
322+
},
323+
{
324+
"description": "Extended Arabic-Indic digits not mixed with Arabic-Indic digits",
325+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.9",
326+
"data": "xn--0-gyc",
327+
"valid": true
328+
},
329+
{
330+
"description": "ZERO WIDTH JOINER not preceded by Virama",
331+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.2 https://www.unicode.org/review/pr-37.pdf",
332+
"data": "xn--11b2er09f",
333+
"valid": false
334+
},
335+
{
336+
"description": "ZERO WIDTH JOINER not preceded by anything",
337+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.2 https://www.unicode.org/review/pr-37.pdf",
338+
"data": "xn--02b508i",
339+
"valid": false
340+
},
341+
{
342+
"description": "ZERO WIDTH JOINER preceded by Virama",
343+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.2 https://www.unicode.org/review/pr-37.pdf",
344+
"data": "xn--11b2ezcw70k",
345+
"valid": true
346+
},
347+
{
348+
"description": "ZERO WIDTH NON-JOINER preceded by Virama",
349+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.1",
350+
"data": "xn--11b2ezcs70k",
351+
"valid": true
352+
},
353+
{
354+
"description": "ZERO WIDTH NON-JOINER not preceded by Virama but matches regexp",
355+
"comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.3 https://tools.ietf.org/html/rfc5892#appendix-A.1 https://www.w3.org/TR/alreq/#h_disjoining_enforcement",
356+
"data": "xn--ngba5hb2804a",
357+
"valid": true
358+
}
359+
]
131360
}
132361
]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /