Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

if (self.location) {
test(function() {
assert_false("searchParams" in self.location,
"location object should not have a searchParams attribute");
}, "searchParams on location object");
}
if(self.GLOBAL.isWindow()) {
test(() => {
assert_false("searchParams" in document.createElement("a"))
assert_false("searchParams" in document.createElement("area"))
}, "<a> and <area>.searchParams should be undefined");
}
test(function() {
var url = new URL("./foo", "http://www.example.org");
assert_equals(url.href, "http://www.example.org/foo");
assert_throws_js(TypeError, function() {
url.href = "./bar";
});
}, "Setting URL's href attribute and base URLs");
test(function() {
assert_equals(URL.domainToASCII, undefined);
}, "URL.domainToASCII should be undefined");
test(function() {
assert_equals(URL.domainToUnicode, undefined);
}, "URL.domainToUnicode should be undefined");
test(() => {
assert_throws_dom("DataCloneError", () => self.structuredClone(new URL("about:blank")));
}, "URL: no structured serialize/deserialize support");
test(() => {
assert_throws_dom("DataCloneError", () => self.structuredClone(new URLSearchParams()));
}, "URLSearchParams: no structured serialize/deserialize support");
test(() => {
const url = new URL("about:blank");
url.toString = () => { throw 1 };
assert_throws_exactly(1, () => new URL(url), "url argument");
assert_throws_exactly(1, () => new URL("about:blank", url), "base argument");
}, "Constructor only takes strings");
done();