From 3f216f269e0a7c48189059f291c04416aac32922 Mon Sep 17 00:00:00 2001 From: Anne van Kesteren Date: Wed, 17 May 2023 13:44:58 +0000 Subject: [PATCH] Bug 1831582 [wpt PR 39865] - URLSearchParams: add tests for two-argument delete() and has(), a=testonly Automatic update from web-platform-tests URLSearchParams: add tests for two-argument delete() and has() For https://github.com/whatwg/url/pull/735. -- wpt-commits: c4726447f3bad1c71244fb99c98738ff0354a034 wpt-pr: 39865 --- .../tests/url/urlsearchparams-delete.any.js | 9 +++++++++ .../tests/url/urlsearchparams-has.any.js | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/testing/web-platform/tests/url/urlsearchparams-delete.any.js b/testing/web-platform/tests/url/urlsearchparams-delete.any.js index 28ebbce5f13bd..f9c623b90b175 100644 --- a/testing/web-platform/tests/url/urlsearchparams-delete.any.js +++ b/testing/web-platform/tests/url/urlsearchparams-delete.any.js @@ -61,3 +61,12 @@ test(() => { assert_equals(url.pathname, 'space '); assert_equals(url.href, 'data:space #test'); }, 'Changing the query of a URL with an opaque path can impact the path if the URL has no fragment'); + +test(() => { + const params = new URLSearchParams(); + params.append('a', 'b'); + params.append('a', 'c'); + params.append('a', 'd'); + params.delete('a', 'c'); + assert_equals(params.toString(), 'a=b&a=d'); +}, "Two-argument delete()"); diff --git a/testing/web-platform/tests/url/urlsearchparams-has.any.js b/testing/web-platform/tests/url/urlsearchparams-has.any.js index 673dce77dc44a..54cbf286db4a3 100644 --- a/testing/web-platform/tests/url/urlsearchparams-has.any.js +++ b/testing/web-platform/tests/url/urlsearchparams-has.any.js @@ -22,3 +22,16 @@ test(function() { params.delete('first'); assert_false(params.has('first'), 'Search params object has no name "first"'); }, 'has() following delete()'); + +test(() => { + const params = new URLSearchParams("a=b&a=d&c&e&"); + assert_true(params.has('a', 'b')); + assert_false(params.has('a', 'c')); + assert_true(params.has('a', 'd')); + assert_true(params.has('e', '')); + params.append('first', null); + assert_false(params.has('first', '')); + assert_true(params.has('first', 'null')); + params.delete('a', 'b'); + assert_true(params.has('a', 'd')); +}, "Two-argument has()");