node/test/parallel/test-whatwg-url-searchparams.js
Gibson Fahnestock 7a0e462f9f test: use eslint to fix var->const/let
Manually fix issues that eslint --fix couldn't do automatically.

PR-URL: https://github.com/nodejs/node/pull/10685
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2017-01-11 11:43:52 +00:00

50 lines
1.2 KiB
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const URL = require('url').URL;
const serialized = 'a=a&a=1&a=true&a=undefined&a=null&a=%5Bobject%20Object%5D';
const values = ['a', 1, true, undefined, null, {}];
const m = new URL('http://example.org');
const sp = m.searchParams;
assert(sp);
assert.strictEqual(sp.toString(), '');
assert.strictEqual(m.search, '');
assert(!sp.has('a'));
values.forEach((i) => sp.set('a', i));
assert(sp.has('a'));
assert.strictEqual(sp.get('a'), '[object Object]');
sp.delete('a');
assert(!sp.has('a'));
values.forEach((i) => sp.append('a', i));
assert(sp.has('a'));
assert.strictEqual(sp.getAll('a').length, 6);
assert.strictEqual(sp.get('a'), 'a');
assert.strictEqual(sp.toString(), serialized);
assert.strictEqual(m.search, `?${serialized}`);
assert.strictEqual(sp[Symbol.iterator], sp.entries);
let key, val, n = 0;
for ([key, val] of sp) {
assert.strictEqual(key, 'a');
assert.strictEqual(val, String(values[n++]));
}
n = 0;
for (key of sp.keys()) {
assert.strictEqual(key, 'a');
}
n = 0;
for (val of sp.values()) {
assert.strictEqual(val, String(values[n++]));
}
m.search = '?a=a&b=b';
assert.strictEqual(sp.toString(), 'a=a&b=b');