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

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

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

debug("Set search without '?'");
a.href = "https://www.mydomain.com/path/?key=value";
a.search = "value=key";
shouldBe("a.href", "'https://www.mydomain.com/path/?value=key'");

// IE8 does not encode spaces in search string
debug("Set search that starts with '?' and contains spaces");
a.href = "https://www.mydomain.com/path/?key=value";
a.search = "?val ue= key?";
shouldBe("a.href", "'https://www.mydomain.com/path/?val%20ue=%20key?'");

debug("Set search to a malformed URL");
a.href = "s:www.mydomain.com/path/";
a.search = "%";
shouldBe("a.href", "'s:www.mydomain.com/path/?%'");

// IE8 throws "The URL is invalid" exception.
debug("Set search containing '#'");
try {
a.href = "https://www.mydomain.com/path/?key=value#hash";
a.search = "?value#key";
shouldBe("a.href", "'https://www.mydomain.com/path/?value%23key#hash'");
} catch(e) {
debug("Exception: " + e.description);
}

debug("Set search to a malformed URL");
a.href = "bad:/|/url";
a.search = "?value=key";
shouldBe("a.href", "'bad:/|/url?value=key'");

debug("Set search to null");
a.href = "https://www.mydomain.com/path/?key=value";
a.search = null;
shouldBe("a.href", "'https://www.mydomain.com/path/?null'");

debug("Set search to empty string");
a.href = "https://www.mydomain.com/path/?key=value";
a.search = "";
shouldBe("a.href", "'https://www.mydomain.com/path/'");

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