URLSearchParams can result in ? removal from URL now
Changes outcome of test added in #6445.
Tests for https://github.com/whatwg/url/pull/336.
diff --git a/url/urlsearchparams-delete.html b/url/urlsearchparams-delete.html
index afc9c60..d4bc0a6 100644
--- a/url/urlsearchparams-delete.html
+++ b/url/urlsearchparams-delete.html
@@ -41,9 +41,16 @@
var url = new URL('http://example.com/?param1¶m2');
url.searchParams.delete('param1');
url.searchParams.delete('param2');
- assert_equals(url.href, 'http://example.com/?', 'url.href has ?');
+ assert_equals(url.href, 'http://example.com/', 'url.href does not have ?');
assert_equals(url.search, '', 'url.search does not have ?');
-}, 'Deleting all params keeps ? in URL');
+}, 'Deleting all params removes ? from URL');
+
+test(function() {
+ var url = new URL('http://example.com/?');
+ url.searchParams.delete('param1');
+ assert_equals(url.href, 'http://example.com/', 'url.href does not have ?');
+ assert_equals(url.search, '', 'url.search does not have ?');
+}, 'Removing non-existent param removes ? from URL');
</script>
</head>
</html>
diff --git a/url/urlsearchparams-sort.html b/url/urlsearchparams-sort.html
index e643ed3..3419989 100644
--- a/url/urlsearchparams-sort.html
+++ b/url/urlsearchparams-sort.html
@@ -47,4 +47,11 @@
}
}, "URL parse and sort: " + val.input)
})
+
+test(function() {
+ const url = new URL("http://example.com/?")
+ url.searchParams.sort()
+ assert_equals(url.href, "http://example.com/")
+ assert_equals(url.search, "")
+}, "Sorting non-existent params removes ? from URL")
</script>