escape string fixes
This commit is contained in:
@@ -519,6 +519,31 @@ int test_main()
|
||||
TEST_CHECK(*url_has_argument("http://127.0.0.1/test?foo=24&bar=23&a=e", "a") == "e");
|
||||
TEST_CHECK(!url_has_argument("http://127.0.0.1/test?foo=24&bar=23&a=e", "b"));
|
||||
|
||||
// escape_string
|
||||
char const* test_string = "!@#$%^&*()-_=+/,. %?";
|
||||
TEST_CHECK(escape_string(test_string, strlen(test_string))
|
||||
== "!%40%23$%25%5e%26*()-_%3d%2b%2f,.%20%25%3f");
|
||||
|
||||
// escape_path
|
||||
TEST_CHECK(escape_path(test_string, strlen(test_string))
|
||||
== "!%40%23$%25%5e%26*()-_%3d%2b/,.%20%25%3f");
|
||||
|
||||
// need_encoding
|
||||
char const* test_string2 = "!@$&()-_/,.%?";
|
||||
TEST_CHECK(need_encoding(test_string, strlen(test_string)) == true);
|
||||
TEST_CHECK(need_encoding(test_string2, strlen(test_string2)) == false);
|
||||
TEST_CHECK(need_encoding("\n", 1) == true);
|
||||
|
||||
// maybe_url_encode
|
||||
TEST_CHECK(maybe_url_encode("http://bla.com/\n") == "http://bla.com:80/%0a");
|
||||
std::cerr << maybe_url_encode("http://bla.com/\n") << std::endl;
|
||||
TEST_CHECK(maybe_url_encode("?&") == "?&");
|
||||
|
||||
// unescape_string
|
||||
TEST_CHECK(unescape_string(escape_string(test_string, strlen(test_string)), ec)
|
||||
== test_string);
|
||||
std::cerr << unescape_string(escape_string(test_string, strlen(test_string)), ec) << std::endl;
|
||||
|
||||
// HTTP request parser
|
||||
|
||||
http_parser parser;
|
||||
|
Reference in New Issue
Block a user