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