Implement percent url encoder and decoder
[libi2ncommon] / test / test_restricted_html.cpp
index c3971ce..d744ed2 100644 (file)
@@ -34,4 +34,31 @@ using namespace I2n;
 BOOST_AUTO_TEST_SUITE(test_restricted_html)
 
 
+BOOST_AUTO_TEST_CASE(DecodeStringURL)
+{
+    string output = decode_url("%77%77%77%2E%67%6F%6F%67%6C%65%2E%63%6F%6D");
+    BOOST_CHECK_EQUAL(string("www.google.com"), output);
+}
+
+BOOST_AUTO_TEST_CASE(DecodeStringURL2)
+{
+    string output = decode_url("%3Cscript%3Ealert%28document.cookie%29%3C%2Fscr"
+                               "ipt%3E");
+    BOOST_CHECK_EQUAL(string("<script>alert(document.cookie)</script>"), output);
+}
+
+BOOST_AUTO_TEST_CASE(EncodeStringURL)
+{
+    string output = encode_url("http://www.domain.com/params?param=b'ar:!~/");
+    BOOST_CHECK_EQUAL(string("http%3A%2F%2Fwww%2Edomain%2Ecom%2Fparams%3Fparam%"
+                             "3Db%27ar%3A%21%7E%2F"), output);
+}
+
+BOOST_AUTO_TEST_CASE(EncodeStringURL2)
+{
+    string output = encode_url("http://www.google.com/<script>");
+    BOOST_CHECK_EQUAL(string("http%3A%2F%2Fwww%2Egoogle%2Ecom%2F%3Cscript%3E"),
+                      output);
+}
+
 BOOST_AUTO_TEST_SUITE_END()