| 12345678910111213141516171819202122232425262728293031323334 | var fails = require('../internals/fails');var wellKnownSymbol = require('../internals/well-known-symbol');var IS_PURE = require('../internals/is-pure');var ITERATOR = wellKnownSymbol('iterator');module.exports = !fails(function () {  // eslint-disable-next-line unicorn/relative-url-style -- required for testing  var url = new URL('b?a=1&b=2&c=3', 'http://a');  var searchParams = url.searchParams;  var result = '';  url.pathname = 'c%20d';  searchParams.forEach(function (value, key) {    searchParams['delete']('b');    result += key + value;  });  return (IS_PURE && !url.toJSON)    || !searchParams.sort    || url.href !== 'http://a/c%20d?a=1&c=3'    || searchParams.get('c') !== '3'    || String(new URLSearchParams('?a=1')) !== 'a=1'    || !searchParams[ITERATOR]    // throws in Edge    || new URL('https://a@b').username !== 'a'    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'    // not punycoded in Edge    || new URL('http://тест').host !== 'xn--e1aybc'    // not escaped in Chrome 62-    || new URL('http://a#б').hash !== '#%D0%B1'    // fails in Chrome 66-    || result !== 'a1c3'    // throws in Safari    || new URL('http://x', undefined).host !== 'x';});
 |