55 lines
1.8 KiB
HTML
55 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
|
|
description('Test that setting the host and hostname attributes of URL objects uses IDNA2008.');
|
|
|
|
// These cases are ones we conform to from idna2008.html
|
|
cases = [
|
|
// For IDNA Compatibility test material see
|
|
// http://www.unicode.org/reports/tr46/
|
|
// http://www.unicode.org/Public/idna/latest/IdnaMappingTable.txt
|
|
// Deviant character tests (deviant processing behavior from IDNA2003)
|
|
["B\u00FCcher.de","xn--bcher-kva.de"],
|
|
// The ß U+00DF LATIN SMALL LETTER SHARP S does NOT normalize to "ss" like it does during IDNA2003's mapping phase
|
|
["fa\u00DF.de","xn--fa-hia.de"],
|
|
// The ς U+03C2 GREEK SMALL LETTER FINAL SIGMA using βόλος.com
|
|
["\u03B2\u03CC\u03BB\u03BF\u03C2.com","xn--nxasmm1c.com"],
|
|
// The ZWJ U+200D ZERO WIDTH JOINER
|
|
["\u0DC1\u0DCA\u200D\u0DBB\u0DD3.com","xn--10cl1a0b660p.com"],
|
|
// The ZWNJ U+200C ZERO WIDTH NON-JOINER
|
|
["\u0646\u0627\u0645\u0647\u200C\u0627\u06CC.com","xn--mgba3gch31f060k.com"],
|
|
// Ignored characters should be removed * security risk
|
|
// U+034F COMBINING GRAPHEME JOINER
|
|
["look\u034Fout.net","lookout.net"],
|
|
// Mapped characters
|
|
["gOoGle.com","google.com"],
|
|
// 1E9E; mapped; 0073 0073
|
|
["\u1E9E.com","ss.com"],
|
|
["\u1E9E.foo.com","ss.foo.com"],
|
|
];
|
|
|
|
var url = new URL("http://www.webkit.org");
|
|
|
|
for (var i = 0; i < cases.length; ++i) {
|
|
test_vector = cases[i][0];
|
|
expected_result = cases[i][1];
|
|
url.hostname = test_vector;
|
|
shouldBe("url.hostname", "'" + expected_result + "'");
|
|
}
|
|
|
|
for (var i = 0; i < cases.length; ++i) {
|
|
test_vector = cases[i][0];
|
|
expected_result = cases[i][1];
|
|
url.host = test_vector;
|
|
shouldBe("url.host", "'" + expected_result + "'");
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|