• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3// Tests below are not from WPT.
4
5require('../common');
6const assert = require('assert');
7const util = require('util');
8const URLSearchParams = require('url').URLSearchParams;
9
10const sp = new URLSearchParams('?a=a&b=b&b=c');
11assert.strictEqual(util.inspect(sp),
12                   "URLSearchParams { 'a' => 'a', 'b' => 'b', 'b' => 'c' }");
13assert.strictEqual(util.inspect(sp.keys()),
14                   "URLSearchParams Iterator { 'a', 'b', 'b' }");
15assert.strictEqual(util.inspect(sp.values()),
16                   "URLSearchParams Iterator { 'a', 'b', 'c' }");
17assert.strictEqual(util.inspect(sp.keys(), { breakLength: 1 }),
18                   "URLSearchParams Iterator {\n  'a',\n  'b',\n  'b' }");
19
20const iterator = sp.entries();
21assert.strictEqual(util.inspect(iterator),
22                   "URLSearchParams Iterator { [ 'a', 'a' ], [ 'b', 'b' ], " +
23                                             "[ 'b', 'c' ] }");
24iterator.next();
25assert.strictEqual(util.inspect(iterator),
26                   "URLSearchParams Iterator { [ 'b', 'b' ], [ 'b', 'c' ] }");
27iterator.next();
28iterator.next();
29assert.strictEqual(util.inspect(iterator),
30                   'URLSearchParams Iterator {  }');
31