using namespace icinga;
-#define VALID(X) BOOST_CHECK(new Url(X))
-#define INVALID(X) BOOST_CHECK_THROW(new Url(X), std::invalid_argument)
-
BOOST_AUTO_TEST_SUITE(base_url)
BOOST_AUTO_TEST_CASE(id_and_path)
BOOST_AUTO_TEST_CASE(illegal_legal_strings)
{
- INVALID("/?foo=barr&foo[]=bazz"); VALID("/?foo=baz??&\?\?=/?");
- INVALID("/?]=gar"); VALID("/");
- INVALID("/#?[]"); VALID("///////");
- INVALID("/?foo=bar&foo=ba"); VALID("/??[]=?#?=?");
- INVALID("/?foo=bar&[]=d"); VALID("http://foo/#bar");
- INVALID("/?fo=&bar=garOA"); VALID("//foo/");
+ BOOST_CHECK_THROW(new Url("/?foo=barr&foo[]=bazz"), std::invalid_argument);
+ BOOST_CHECK_THROW(new Url("/?]=gar"), std::invalid_argument);
+ BOOST_CHECK_THROW(new Url("/#?[]"), std::invalid_argument);
+ BOOST_CHECK_THROW(new Url("/?foo=bar&foo=ba"), std::invalid_argument);
+ BOOST_CHECK_THROW(new Url("/?foo=bar&[]=d"), std::invalid_argument);
+ BOOST_CHECK_THROW(new Url("/?fo=&bar=garOA"), std::invalid_argument);
+ BOOST_CHECK(new Url("/?foo=baz??&\?\?=/?"));
+ BOOST_CHECK(new Url("/"));
+ BOOST_CHECK(new Url("///////"));
+ BOOST_CHECK(new Url("/??[]=?#?=?"));
+ BOOST_CHECK(new Url("http://foo/#bar"));
+ BOOST_CHECK(new Url("//foo/"));
}
BOOST_AUTO_TEST_SUITE_END()