From e75a36f62db9ca3a7d0d8957e555a2460707b617 Mon Sep 17 00:00:00 2001 From: Anne van Kesteren Date: Wed, 22 Feb 2023 17:32:44 +0100 Subject: [PATCH] URL: URLSearchParams's size For https://github.com/whatwg/url/pull/734. --- url/urlsearchparams-size.any.js | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 url/urlsearchparams-size.any.js diff --git a/url/urlsearchparams-size.any.js b/url/urlsearchparams-size.any.js new file mode 100644 index 00000000000000..eaf6d5e69b5fac --- /dev/null +++ b/url/urlsearchparams-size.any.js @@ -0,0 +1,34 @@ +test(() => { + const params = new URLSearchParams("a=1&b=2&a=3"); + assert_equals(params.size, 3); + + params.delete("a"); + assert_equals(params.size, 1); +}, "URLSearchParams's size and deletion"); + +test(() => { + const params = new URLSearchParams("a=1&b=2&a=3"); + assert_equals(params.size, 3); + + params.append("b", "4"); + assert_equals(params.size, 4); +}, "URLSearchParams's size and addition"); + +test(() => { + const url = new URL("http://localhost/query?a=1&b=2&a=3"); + assert_equals(url.searchParams.size, 3); + + params.delete("a"); + assert_equals(url.searchParams.size, 1); + + params.append("b", 4); + assert_equals(url.searchParams.size, 2); +}, "URLSearchParams's size when obtained from a URL"); + +test(() => { + const url = new URL("http://localhost/query?a=1&b=2&a=3"); + assert_equals(url.searchParams.size, 3); + + url.search = "?"; + assert_equals(url.searchParams.size, 0); +}, "URLSearchParams's size when obtained from a URL and using .search");