1'use strict'; 2 3// Tests below are not from WPT. 4 5require('../common'); 6const assert = require('assert'); 7 8const toString = Object.prototype.toString; 9 10const url = new URL('http://example.org'); 11const sp = url.searchParams; 12const spIterator = sp.entries(); 13 14const test = [ 15 [url, 'URL'], 16 [sp, 'URLSearchParams'], 17 [spIterator, 'URLSearchParams Iterator'], 18 // Web IDL spec says we have to return 'URLPrototype', but it is too 19 // expensive to implement; therefore, use Chrome's behavior for now, until 20 // spec is changed. 21 [Object.getPrototypeOf(url), 'URL'], 22 [Object.getPrototypeOf(sp), 'URLSearchParams'], 23 [Object.getPrototypeOf(spIterator), 'URLSearchParams Iterator'], 24]; 25 26test.forEach(([obj, expected]) => { 27 assert.strictEqual(obj[Symbol.toStringTag], expected, 28 `${obj[Symbol.toStringTag]} !== ${expected}`); 29 const str = toString.call(obj); 30 assert.strictEqual(str, `[object ${expected}]`, 31 `${str} !== [object ${expected}]`); 32}); 33