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 () {
-
- 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]
-
- || new URL('https://a@b').username !== 'a'
- || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
-
- || new URL('http://тест').host !== 'xn--e1aybc'
-
- || new URL('http://a#б').hash !== '#%D0%B1'
-
- || result !== 'a1c3'
-
- || new URL('http://x', undefined).host !== 'x';
- });
|