38 lines
1.1 KiB
HTML
38 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script src="resources/utilities.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description("Test URLs that have a port number.");
|
|
|
|
cases = [
|
|
// Invalid input should be copied w/ failure.
|
|
["as df", ":as%20df"],
|
|
["-2", ":-2"],
|
|
// Default port should be omitted.
|
|
["80", ""],
|
|
["8080", ":8080"],
|
|
// Empty ports (just a colon) should also be removed
|
|
["", ""],
|
|
// Code point with a numeric value U+1369 ETHIOPIC DIGIT ONE
|
|
["\u1369", ":%E1%8D%A9"],
|
|
// Code point with a numerical mapping and value U+1D7D6 MATHEMATICAL BOLD DIGIT EIGHT
|
|
["\uD835\uDFD6", ":%F0%9D%9F%96"],
|
|
];
|
|
|
|
for (var i = 0; i < cases.length; ++i) {
|
|
shouldBe("canonicalize('http://www.example.com:" + cases[i][0] + "/')",
|
|
"'http://www.example.com" + cases[i][1] + "/'");
|
|
}
|
|
|
|
// Unspecified port should mean always keep the port.
|
|
shouldBe("canonicalize('foobar://www.example.com:80/')",
|
|
"'foobar://www.example.com:80/'");
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|