summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/url/urlsearchparams-append.any.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/web-platform/tests/url/urlsearchparams-append.any.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/web-platform/tests/url/urlsearchparams-append.any.js b/testing/web-platform/tests/url/urlsearchparams-append.any.js
new file mode 100644
index 0000000000..5a7376144d
--- /dev/null
+++ b/testing/web-platform/tests/url/urlsearchparams-append.any.js
@@ -0,0 +1,39 @@
+test(function() {
+ var params = new URLSearchParams();
+ params.append('a', 'b');
+ assert_equals(params + '', 'a=b');
+ params.append('a', 'b');
+ assert_equals(params + '', 'a=b&a=b');
+ params.append('a', 'c');
+ assert_equals(params + '', 'a=b&a=b&a=c');
+}, 'Append same name');
+
+test(function() {
+ var params = new URLSearchParams();
+ params.append('', '');
+ assert_equals(params + '', '=');
+ params.append('', '');
+ assert_equals(params + '', '=&=');
+}, 'Append empty strings');
+
+test(function() {
+ var params = new URLSearchParams();
+ params.append(null, null);
+ assert_equals(params + '', 'null=null');
+ params.append(null, null);
+ assert_equals(params + '', 'null=null&null=null');
+}, 'Append null');
+
+test(function() {
+ var params = new URLSearchParams();
+ params.append('first', 1);
+ params.append('second', 2);
+ params.append('third', '');
+ params.append('first', 10);
+ assert_true(params.has('first'), 'Search params object has name "first"');
+ assert_equals(params.get('first'), '1', 'Search params object has name "first" with value "1"');
+ assert_equals(params.get('second'), '2', 'Search params object has name "second" with value "2"');
+ assert_equals(params.get('third'), '', 'Search params object has name "third" with value ""');
+ params.append('first', 10);
+ assert_equals(params.get('first'), '1', 'Search params object has name "first" with value "1"');
+}, 'Append multiple');