| 'use strict'; |
| |
| // Tests below are not from WPT. |
| |
| require('../common'); |
| const assert = require('assert'); |
| |
| { |
| const params = new URLSearchParams(); |
| assert.throws(() => { |
| params.toString.call(undefined); |
| }, { |
| code: 'ERR_INVALID_THIS', |
| name: 'TypeError', |
| message: 'Value of "this" must be of type URLSearchParams' |
| }); |
| } |
| |
| // The URLSearchParams stringifier mutates the base URL using |
| // different percent-encoding rules than the URL itself. |
| { |
| const myUrl = new URL('https://example.org?foo=~bar'); |
| assert.strictEqual(myUrl.search, '?foo=~bar'); |
| myUrl.searchParams.sort(); |
| assert.strictEqual(myUrl.search, '?foo=%7Ebar'); |
| } |