11cb0ef41Sopenharmony_ciif (self.location) {
21cb0ef41Sopenharmony_ci  test(function() {
31cb0ef41Sopenharmony_ci    assert_false("searchParams" in self.location,
41cb0ef41Sopenharmony_ci                "location object should not have a searchParams attribute");
51cb0ef41Sopenharmony_ci  }, "searchParams on location object");
61cb0ef41Sopenharmony_ci}
71cb0ef41Sopenharmony_ci
81cb0ef41Sopenharmony_ciif(self.GLOBAL.isWindow()) {
91cb0ef41Sopenharmony_ci  test(() => {
101cb0ef41Sopenharmony_ci    assert_false("searchParams" in document.createElement("a"))
111cb0ef41Sopenharmony_ci    assert_false("searchParams" in document.createElement("area"))
121cb0ef41Sopenharmony_ci  }, "<a> and <area>.searchParams should be undefined");
131cb0ef41Sopenharmony_ci}
141cb0ef41Sopenharmony_ci
151cb0ef41Sopenharmony_citest(function() {
161cb0ef41Sopenharmony_ci  var url = new URL("./foo", "http://www.example.org");
171cb0ef41Sopenharmony_ci  assert_equals(url.href, "http://www.example.org/foo");
181cb0ef41Sopenharmony_ci  assert_throws_js(TypeError, function() {
191cb0ef41Sopenharmony_ci    url.href = "./bar";
201cb0ef41Sopenharmony_ci  });
211cb0ef41Sopenharmony_ci}, "Setting URL's href attribute and base URLs");
221cb0ef41Sopenharmony_ci
231cb0ef41Sopenharmony_citest(function() {
241cb0ef41Sopenharmony_ci  assert_equals(URL.domainToASCII, undefined);
251cb0ef41Sopenharmony_ci}, "URL.domainToASCII should be undefined");
261cb0ef41Sopenharmony_ci
271cb0ef41Sopenharmony_citest(function() {
281cb0ef41Sopenharmony_ci  assert_equals(URL.domainToUnicode, undefined);
291cb0ef41Sopenharmony_ci}, "URL.domainToUnicode should be undefined");
301cb0ef41Sopenharmony_ci
311cb0ef41Sopenharmony_citest(() => {
321cb0ef41Sopenharmony_ci  assert_throws_dom("DataCloneError", () => self.structuredClone(new URL("about:blank")));
331cb0ef41Sopenharmony_ci}, "URL: no structured serialize/deserialize support");
341cb0ef41Sopenharmony_ci
351cb0ef41Sopenharmony_citest(() => {
361cb0ef41Sopenharmony_ci  assert_throws_dom("DataCloneError", () => self.structuredClone(new URLSearchParams()));
371cb0ef41Sopenharmony_ci}, "URLSearchParams: no structured serialize/deserialize support");
381cb0ef41Sopenharmony_ci
391cb0ef41Sopenharmony_citest(() => {
401cb0ef41Sopenharmony_ci  const url = new URL("about:blank");
411cb0ef41Sopenharmony_ci  url.toString = () => { throw 1 };
421cb0ef41Sopenharmony_ci  assert_throws_exactly(1, () => new URL(url), "url argument");
431cb0ef41Sopenharmony_ci  assert_throws_exactly(1, () => new URL("about:blank", url), "base argument");
441cb0ef41Sopenharmony_ci}, "Constructor only takes strings");
451cb0ef41Sopenharmony_ci
461cb0ef41Sopenharmony_cidone();
47