("table");
const string AHREF = "<a href=";
const string REDIRECT_PREFIX = "/arnie?form=redirect&url=";
-const string TARGET_BLANK = "target=_blank";
+const string TARGET_BLANK = "target=\"_blank\"";
const pcrecpp::RE SAFE_URL("^(http(s?):\\/\\/)(([a-zA-Z0-9\\.\\-\\_]+(\\.[a-zA-"
"Z]{2,3})+)|((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-"
"9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
"Savings</th> </tr> <tr> <td>January</td> "
" <td>$100</td> </tr></table> <p>Paragraph with "
"a <a href=\"/arnie?form=redirect&url=https%3A%2"
- "F%2Fexample%2Ede\" target=_blank><i>Acceptable L"
+ "F%2Fexample%2Ede\" target=\"_blank\"><i>Acceptable L"
"ink</i></a>.</p> <ul> <li>Coffee</li> <li>Tea"
"</li> <li>Milk</li></ul>"), output);
}
{
string output = restrict_html("<a href=\"http://i2n.de/\" >test</a>");
BOOST_CHECK_EQUAL(string("<a href=\"/arnie?form=redirect&url=http%3A%2F%2Fi"
- "2n%2Ede%2F\" target=_blank>test</a>"), output);
+ "2n%2Ede%2F\" target=\"_blank\">test</a>"), output);
}
BOOST_AUTO_TEST_CASE(AhrefLink2)
{
string output = restrict_html("<a href=\"http://www.test.com/form\">test</a>");
BOOST_CHECK_EQUAL(string("<a href=\"/arnie?form=redirect&url=http%3A%2F%2Fw"
- "ww%2Etest%2Ecom%2Fform\" target=_blank>test</a>"),
+ "ww%2Etest%2Ecom%2Fform\" target=\"_blank\">test</a>"),
output);
}
string output = restrict_html("<a href=\"http://192.168.10.10:8080/form\">"
"test</a>");
BOOST_CHECK_EQUAL(string("<a href=\"/arnie?form=redirect&url=http%3A%2F%2F"
- "192%2E168%2E10%2E10%3A8080%2Fform\" target=_blan"
- "k>test</a>"), output);
+ "192%2E168%2E10%2E10%3A8080%2Fform\" target="
+ "\"_blank\">test</a>"), output);
}
BOOST_AUTO_TEST_CASE(AhrefLinkIPAddressNoPort)
{
string output = restrict_html("<a href=\"http://www.foo.com\">foo</a>");
BOOST_CHECK_EQUAL(string("<a href=\"/arnie?form=redirect&url=http%3A%2F%2F"
- "www%2Efoo%2Ecom\" target=_blank>foo</a>"), output);
+ "www%2Efoo%2Ecom\" target=\"_blank\">foo</a>"), output);
}
BOOST_AUTO_TEST_CASE(AhrefWrongProtocol)
string output = restrict_html("<A HREF=\"http://%77%77%77%2E%67%6F%6F%67%6C"
"%65%2E%63%6F%6D\">test</A>");
BOOST_CHECK_EQUAL(string("<a href=\"/arnie?form=redirect&url=http%3A%2F%2Fw"
- "ww%2Egoogle%2Ecom\" target=_blank>test</a>"),
+ "ww%2Egoogle%2Ecom\" target=\"_blank\">test</a>"),
output);
}