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

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

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

debug("Hash value does not start with '#'");
a.href = "https://www.mydomain.com:8080/path/testurl.html#middle";
a.hash = "hash-value";
shouldBe("a.href", "'https://www.mydomain.com:8080/path/testurl.html#hash-value'");

debug("Hash value starts with '#'");
a.href = "file:///path/testurl.html#middle";
a.hash = "#hash_value";
shouldBe("a.href", "'file:///path/testurl.html#hash_value'");

debug("'?' in hash value");
a.href = "http://www.mydomain.com/path/testurl.html#middle";
a.hash = "#hash?value";
shouldBe("a.href", "'http://www.mydomain.com/path/testurl.html#hash?value'");

// The expected behavior should change when character table is updated.
// IE8 and Firefox3.5.2 don't consider these characters as illegal.
debug("'#' in hash value, and illegal characters in hostname");
// with the URL API, assigning an invalid href throws
shouldThrow('a.href = "https://ww w.my\\"d(){}|~om?ain#com/path/testurl.html#middle"');
a.hash = "#hash#value";
shouldBe("a.href", "'http://www.mydomain.com/path/testurl.html#hash#value'");

debug("Set hash to null");
a.href = "https://www.mydomain.com/path/testurl.html#middle";
a.hash = null;
shouldBe("a.href", "'https://www.mydomain.com/path/testurl.html#null'");

// Firefox 3.5.2 removes the '#' at the end, and it should per
// http://dev.w3.org/html5/spec/infrastructure.html#url-decomposition-idl-attributes .
debug("Set hash to empty string");
a.href = "https://www.mydomain.com/path/testurl.html#middle";
a.hash = "";
shouldBe("a.href", "'https://www.mydomain.com/path/testurl.html'");

// Firefox 3.5.2 does not allow setting hash to mailto: scheme, and it should.
debug("Add hash to mailto: protocol");
a.href = "mailto:e-mail_address@goes_here";
a.hash = "hash-value";
shouldBe("a.href", "'mailto:e-mail_address@goes_here#hash-value'");

// IE8 does not percent-encode spaces in the hash component, but it does that
// in the path component.
debug("Add hash to file: protocol");
a.href = "file:///some path";
a.hash = "hash value";
shouldBe("a.href", "'file:///some%20path#hash value'");

debug("Set hash to '#'");
a.href = "http://mydomain.com#middle";
a.hash = "#";
shouldBe("a.href", "'http://mydomain.com/'");

// Firefox 3.5.2 does not allow setting hash to foo: scheme, and it should.
debug("Add hash to non-standard protocol");
try {
a.href = "foo:bar";
a.hash = "#hash";
shouldBe("a.href", "'foo:bar#hash'");
} catch(e) {
debug("Exception: " + e.description);
}

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