Skip to content

Commit fecba80

Browse files
committed
test: add serialization tests
1 parent c426ef6 commit fecba80

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tests/url_search_params.cpp

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,37 @@ TEST(url_search_params, to_string) {
2121
SUCCEED();
2222
}
2323

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+
2455
TEST(url_search_params, set) {
2556
auto search_params = ada::url_search_params();
2657
search_params.append("key1", "value1");

0 commit comments

Comments
 (0)