'use strict'; const common = require('../common'); const assert = require('assert'); const URLSearchParams = require('url').URLSearchParams; // Tests below are not from WPT. const params = new URLSearchParams('a=b&c=d'); const keys = params.keys(); assert.strictEqual(typeof keys[Symbol.iterator], 'function'); assert.strictEqual(keys[Symbol.iterator](), keys); assert.deepStrictEqual(keys.next(), { value: 'a', done: false }); assert.deepStrictEqual(keys.next(), { value: 'c', done: false }); assert.deepStrictEqual(keys.next(), { value: undefined, done: true }); assert.deepStrictEqual(keys.next(), { value: undefined, done: true }); assert.throws(() => { keys.next.call(undefined);
'use strict'; // Tests below are not from WPT. require('../common'); const assert = require('assert'); const util = require('util'); const URLSearchParams = require('url').URLSearchParams; const sp = new URLSearchParams('?a=a&b=b&b=c'); assert.strictEqual(util.inspect(sp), "URLSearchParams { 'a' => 'a', 'b' => 'b', 'b' => 'c' }"); assert.strictEqual(util.inspect(sp.keys()), "URLSearchParams Iterator { 'a', 'b', 'b' }"); assert.strictEqual(util.inspect(sp.values()), "URLSearchParams Iterator { 'a', 'b', 'c' }"); assert.strictEqual(util.inspect(sp.keys(), { breakLength: 1 }), "URLSearchParams Iterator {\n 'a',\n 'b',\n 'b' }"); const iterator = sp.entries(); assert.strictEqual(util.inspect(iterator), "URLSearchParams Iterator { [ 'a', 'a' ], [ 'b', 'b' ], " + "[ 'b', 'c' ] }"); iterator.next(); assert.strictEqual(util.inspect(iterator), "URLSearchParams Iterator { [ 'b', 'b' ], [ 'b', 'c' ] }"); iterator.next(); iterator.next(); assert.strictEqual(util.inspect(iterator), 'URLSearchParams Iterator { }');
'use strict'; require('../common'); const assert = require('assert'); const util = require('util'); const URLSearchParams = require('url').URLSearchParams; // Tests below are not from WPT. const sp = new URLSearchParams('?a=a&b=b&b=c'); assert.strictEqual(util.inspect(sp), "URLSearchParams { 'a' => 'a', 'b' => 'b', 'b' => 'c' }"); assert.strictEqual(util.inspect(sp.keys()), "URLSearchParamsIterator { 'a', 'b', 'b' }"); assert.strictEqual(util.inspect(sp.values()), "URLSearchParamsIterator { 'a', 'b', 'c' }"); const iterator = sp.entries(); assert.strictEqual(util.inspect(iterator), "URLSearchParamsIterator { [ 'a', 'a' ], [ 'b', 'b' ], " + "[ 'b', 'c' ] }"); iterator.next(); assert.strictEqual(util.inspect(iterator), "URLSearchParamsIterator { [ 'b', 'b' ], [ 'b', 'c' ] }"); iterator.next(); iterator.next(); assert.strictEqual(util.inspect(iterator), 'URLSearchParamsIterator { }');