| Index: LayoutTests/fast/domurl/url-searchparams-toString.html
|
| diff --git a/LayoutTests/fast/domurl/url-searchparams-toString.html b/LayoutTests/fast/domurl/url-searchparams-toString.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1754475cceb4f287f86aab1842895a8765e0a5b3
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/domurl/url-searchparams-toString.html
|
| @@ -0,0 +1,118 @@
|
| +<!DOCTYPE html>
|
| +<link rel="help" href="http://url.spec.whatwg.org/#interface-urlsearchparams-stringifier">
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<script>
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("a", "b c");
|
| + assert_equals(params + "", "a=b+c");
|
| + params.delete("a");
|
| + params.append("a b", "c");
|
| + assert_equals(params + "", "a+b=c");
|
| +}, "Serialize space");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("a", "");
|
| + assert_equals(params + "", "a=");
|
| + params.append("a", "");
|
| + assert_equals(params + "", "a=&a=");
|
| + params.append("", "b");
|
| + assert_equals(params + "", "a=&a=&=b");
|
| + params.append("", "");
|
| + assert_equals(params + "", "a=&a=&=b&=");
|
| + params.append("", "");
|
| + assert_equals(params + "", "a=&a=&=b&=&=");
|
| +}, "Serialize empty value");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("", "b");
|
| + assert_equals(params + "", "=b");
|
| + params.append("", "b");
|
| + assert_equals(params + "", "=b&=b");
|
| +}, "Serialize empty name");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("", "");
|
| + assert_equals(params + "", "=");
|
| + params.append("", "");
|
| + assert_equals(params + "", "=&=");
|
| +}, "Serialize empty name and value");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("a", "b+c");
|
| + assert_equals(params + "", "a=b%2Bc");
|
| + params.delete("a");
|
| + params.append("a+b", "c");
|
| + assert_equals(params + "", "a%2Bb=c");
|
| +}, "Serialize +");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("=", "a");
|
| + assert_equals(params + "", "%3D=a");
|
| + params.append("b", "=");
|
| + assert_equals(params + "", "%3D=a&b=%3D");
|
| +}, "Serialize =");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("&", "a");
|
| + assert_equals(params + "", "%26=a");
|
| + params.append("b", "&");
|
| + assert_equals(params + "", "%26=a&b=%26");
|
| +}, "Serialize &");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("a", "*-._");
|
| + assert_equals(params + "", "a=*-._");
|
| + params.delete("a");
|
| + params.append("*-._", "c");
|
| + assert_equals(params + "", "*-._=c");
|
| +}, "Serialize *-._");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("a", "b%c");
|
| + assert_equals(params + "", "a=b%25c");
|
| + params.delete("a");
|
| + params.append("a%b", "c");
|
| + assert_equals(params + "", "a%25b=c");
|
| +}, "Serialize %");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("a", "b\0c");
|
| + assert_equals(params + "", "a=b%00c");
|
| + params.delete("a");
|
| + params.append("a\0b", "c");
|
| + assert_equals(params + "", "a%00b=c");
|
| +}, "Serialize \\0");
|
| +
|
| +test(function() {
|
| + var params = new URLSearchParams();
|
| + params.append("a", "b\uD83D\uDCA9c");
|
| + assert_equals(params + "", "a=b%F0%9F%92%A9c");
|
| + params.delete("a");
|
| + params.append("a\uD83D\uDCA9b", "c");
|
| + assert_equals(params + "", "a%F0%9F%92%A9b=c");
|
| +}, "Serialize \uD83D\uDCA9"); // Unicode Character "PILE OF POO" (U+1F4A9)
|
| +
|
| +test(function() {
|
| + var params;
|
| + params = new URLSearchParams("a=b&c=d&&e&&");
|
| + assert_equals(params.toString(), "a=b&c=d&e=");
|
| +
|
| + params = new URLSearchParams("a = b &a=b&c=d%20");
|
| + assert_equals(params.toString(), "a+=+b+&a=b&c=d+");
|
| +
|
| + // The lone "=" _does_ survive the roundtrip.
|
| + params = new URLSearchParams("a=&a=b");
|
| + assert_equals(params.toString(), "a=&a=b");
|
| +}, "URLSearchParams.toString");
|
| +</script>
|
|
|