<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>

description('Test setting the host attribute of the URL in a URL object.');

var a = new URL("about:blank");

debug("Basic test");
a.href = "https://www.mydomain.com:8080/path/";
a.host = "www.otherdomain.com:0";
shouldBe("a.href", "'https://www.otherdomain.com:0/path/'");

// IE8 throws "The URL is invalid" exception.
debug("Set host with '?' in it");
try {
a.href = "https://www.mydomain.com:8080/path/?key=value";
a.host = "www.other?domain.com:8080";
shouldBe("a.href", "'https://www.other/?domain.com:8080/path/?key=value'");
} catch(e) {
debug("Exception: " + e.description);
}

debug("Set default port for another protocol");
a.href = "https://www.mydomain.com:8080/path/";
a.host = "www.otherdomain.com:80";
shouldBe("a.href", "'https://www.otherdomain.com:80/path/'");

debug("Set default port");
a.href = "https://www.mydomain.com:8080/path/";
a.host = "www.otherdomain.com:443";
shouldBe("a.href", "'https://www.otherdomain.com/path/'");

// Firefox 3.5.2 rejects a port that contains non-digits.
debug("Set host with letters in port number");
a.href = "https://www.mydomain.com:8080/path/";
a.host = "www.otherdomain.com:44a5";
shouldBe("a.href", "'https://www.otherdomain.com:44/path/'");

// Firefox 3.5.2 ignores the leading space in the port, but errs on reparsing the port.
debug("Leading space in port number");
a.href = "https://www.mydomain.com:8080/path/";
a.host = "www.otherdomain.com: 443";
shouldBe("a.href", "'https://www.otherdomain.com:8080/path/'");

// Firefox 3.5.2 removed the port, clearly against the spec .
debug("Colon without port number");
a.href = "https://www.mydomain.com:8080/path/";
a.host = "www.otherdomain.com:";
shouldBe("a.href", "'https://www.otherdomain.com:8080/path/'");

debug("Set host to null");
a.href = "https://www.mydomain.com:8080/path/";
a.host = null;
shouldBe("a.href", "'https://null:8080/path/'");

// Both IE8 and Firefox 3.5.2 allow setting the host to empty string, which they shouldn't, per
// http://dev.w3.org/html5/spec/infrastructure.html#url-decomposition-idl-attributes .
// Since both do that in a buggy way, WebKit does not follow either one of them.
debug("Set host to empty string");
a.href = "https://www.mydomain.com:8080/path/";
a.host = "";
shouldBe("a.href", "'https://www.mydomain.com:8080/path/'");

// Firefox 3.5.2 does not `set the host for file: .
debug("Set host to URL with file: protocol");
a.href = "file:///path/";
a.host = "mydomain.com";
shouldBe("a.href", "'file://mydomain.com/path/'");

// IE8 throws if the host contains '/'
debug("Set host containing slashes in it");
try {
a.href = "https://www.mydomain.com:8080/path/";
a.host = "www.other\dom/ain.com";
shouldBe("a.href", "'https://www.otherdom:8080/path/'");
} catch(e) {
debug("Exception: " + e.description);
}

// IE8 throws an "Object Error" exception.
// Firefox 3.5.2 accepts this but throws an exception later
// WebKit should just reject
debug("Set host that starts with ':'");
try {
a.href = "https://domain.com:8080/path/";
a.host = ":www.otherdomain.com:15";
shouldBe("a.href", "'https://domain.com:8080/path/'");
} catch(e) {
debug("Exception: " + e.description);
}

// IE8 throws a security exception if the host contains '@'
debug("Set host to URL containing username and ..");
try {
a.href = "https://rwwmy@domain.com:8080/pa..th/";
a.host = "www.other!domain.com:25";
shouldBe("a.href", "'https://rwwmy@www.other!domain.com:25/pa..th/'");
} catch(e) {
debug("Exception: " + e.description);
}

// Both IE8 and Firefox append the hosts, instead of rejecting, per
// http://dev.w3.org/html5/spec/infrastructure.html#url-decomposition-idl-attributes .
debug("Set host to a URL with tel: protocol");
a.href = "tel:+1-816-555-1212";
a.host = "+1-800-555-1212";
shouldBe("a.href", "'tel:+1-816-555-1212'");

</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
