summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/url/urlsearchparams-size.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/url/urlsearchparams-size.any.js')
-rw-r--r--testing/web-platform/tests/url/urlsearchparams-size.any.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/testing/web-platform/tests/url/urlsearchparams-size.any.js b/testing/web-platform/tests/url/urlsearchparams-size.any.js
new file mode 100644
index 0000000000..7b3abc7c0b
--- /dev/null
+++ b/testing/web-platform/tests/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);
+
+ url.searchParams.delete("a");
+ assert_equals(url.searchParams.size, 1);
+
+ url.searchParams.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");