@@ -21,6 +21,37 @@ TEST(url_search_params, to_string) {
21
21
SUCCEED ();
22
22
}
23
23
24
+ /* *
25
+ * @see https://github.com/web-platform-tests/wpt/blob/master/url/urlsearchparams-stringifier.any.js
26
+ */
27
+ TEST (url_search_params, to_string_serialize_space) {
28
+ auto params = ada::url_search_params ();
29
+ params.append (" a" , " b c" );
30
+ ASSERT_EQ (params.to_string (), " a=b+c" );
31
+ params.remove (" a" );
32
+ params.append (" a b" , " c" );
33
+ ASSERT_EQ (params.to_string (), " a+b=c" );
34
+ params.remove (" a b" );
35
+ ASSERT_EQ (params.to_string (), " " );
36
+ params.append (" a" , " " );
37
+ ASSERT_EQ (params.to_string (), " a=" );
38
+ params.append (" " , " " );
39
+ ASSERT_EQ (params.to_string (), " a=&=" );
40
+ params.append (" " , " b" );
41
+ ASSERT_EQ (params.to_string (), " a=&=&=b" );
42
+ SUCCEED ();
43
+ }
44
+
45
+ TEST (url_search_params, to_string_serialize_plus) {
46
+ auto params = ada::url_search_params ();
47
+ params.append (" a" , " b+c" );
48
+ ASSERT_EQ (params.to_string (), " a=b%2Bc" );
49
+ params.remove (" a" );
50
+ params.append (" a+b" , " c" );
51
+ ASSERT_EQ (params.to_string (), " a%2Bb=c" );
52
+ SUCCEED ();
53
+ }
54
+
24
55
TEST (url_search_params, set) {
25
56
auto search_params = ada::url_search_params ();
26
57
search_params.append (" key1" , " value1" );
0 commit comments