• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3require('../common');
4const assert = require('assert');
5
6// Tests below are not from WPT.
7const params = new URLSearchParams('a=b&c=d');
8const entries = params.entries();
9assert.strictEqual(typeof entries[Symbol.iterator], 'function');
10assert.strictEqual(entries[Symbol.iterator](), entries);
11assert.deepStrictEqual(entries.next(), {
12  value: ['a', 'b'],
13  done: false
14});
15assert.deepStrictEqual(entries.next(), {
16  value: ['c', 'd'],
17  done: false
18});
19assert.deepStrictEqual(entries.next(), {
20  value: undefined,
21  done: true
22});
23assert.deepStrictEqual(entries.next(), {
24  value: undefined,
25  done: true
26});
27
28assert.throws(() => {
29  entries.next.call(undefined);
30}, {
31  code: 'ERR_INVALID_THIS',
32  name: 'TypeError',
33  message: 'Value of "this" must be of type URLSearchParamsIterator'
34});
35assert.throws(() => {
36  params.entries.call(undefined);
37}, {
38  code: 'ERR_INVALID_THIS',
39  name: 'TypeError',
40  message: 'Value of "this" must be of type URLSearchParams'
41});
42