node/test/parallel/test-whatwg-url-searchparams-inspect.js
Daijiro Wachi 8629b3339d test: add test for URLSearchParams inspection
The member methods of URLSearchParams should split across multiple
lines with `util.inspect` depending on an option `breakLength`.

PR-URL: https://github.com/nodejs/node/pull/11428
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2017-02-18 15:51:04 +01:00

30 lines
1.2 KiB
JavaScript

'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' }");
assert.strictEqual(util.inspect(sp.keys(), {breakLength: 1}),
"URLSearchParamsIterator {\n 'a',\n 'b',\n 'b' }");
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 { }');