11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_cirequire('../common'); 41cb0ef41Sopenharmony_ciconst assert = require('assert'); 51cb0ef41Sopenharmony_ci 61cb0ef41Sopenharmony_ci// Tests below are not from WPT. 71cb0ef41Sopenharmony_ciconst params = new URLSearchParams('a=b&c=d'); 81cb0ef41Sopenharmony_ciconst entries = params.entries(); 91cb0ef41Sopenharmony_ciassert.strictEqual(typeof entries[Symbol.iterator], 'function'); 101cb0ef41Sopenharmony_ciassert.strictEqual(entries[Symbol.iterator](), entries); 111cb0ef41Sopenharmony_ciassert.deepStrictEqual(entries.next(), { 121cb0ef41Sopenharmony_ci value: ['a', 'b'], 131cb0ef41Sopenharmony_ci done: false 141cb0ef41Sopenharmony_ci}); 151cb0ef41Sopenharmony_ciassert.deepStrictEqual(entries.next(), { 161cb0ef41Sopenharmony_ci value: ['c', 'd'], 171cb0ef41Sopenharmony_ci done: false 181cb0ef41Sopenharmony_ci}); 191cb0ef41Sopenharmony_ciassert.deepStrictEqual(entries.next(), { 201cb0ef41Sopenharmony_ci value: undefined, 211cb0ef41Sopenharmony_ci done: true 221cb0ef41Sopenharmony_ci}); 231cb0ef41Sopenharmony_ciassert.deepStrictEqual(entries.next(), { 241cb0ef41Sopenharmony_ci value: undefined, 251cb0ef41Sopenharmony_ci done: true 261cb0ef41Sopenharmony_ci}); 271cb0ef41Sopenharmony_ci 281cb0ef41Sopenharmony_ciassert.throws(() => { 291cb0ef41Sopenharmony_ci entries.next.call(undefined); 301cb0ef41Sopenharmony_ci}, { 311cb0ef41Sopenharmony_ci code: 'ERR_INVALID_THIS', 321cb0ef41Sopenharmony_ci name: 'TypeError', 331cb0ef41Sopenharmony_ci message: 'Value of "this" must be of type URLSearchParamsIterator' 341cb0ef41Sopenharmony_ci}); 351cb0ef41Sopenharmony_ciassert.throws(() => { 361cb0ef41Sopenharmony_ci params.entries.call(undefined); 371cb0ef41Sopenharmony_ci}, { 381cb0ef41Sopenharmony_ci code: 'ERR_INVALID_THIS', 391cb0ef41Sopenharmony_ci name: 'TypeError', 401cb0ef41Sopenharmony_ci message: 'Value of "this" must be of type URLSearchParams' 411cb0ef41Sopenharmony_ci}); 42