]> granicus.if.org Git - icinga2/commitdiff
Add additional tests for urls
authorJean-Marcel Flach <jean-marcel.flach@netways.de>
Fri, 10 Jul 2015 12:08:35 +0000 (14:08 +0200)
committerJean-Marcel Flach <jean-marcel.flach@netways.de>
Fri, 10 Jul 2015 12:08:35 +0000 (14:08 +0200)
refs #9470

test/base-url.cpp

index 28d82296779830dfe4a7259c7a703e979addaaed..301cb238d41de3f6f0ef054f48e818f375334635 100644 (file)
@@ -24,6 +24,9 @@
 
 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)
@@ -71,13 +74,12 @@ BOOST_AUTO_TEST_CASE(format)
 
 BOOST_AUTO_TEST_CASE(illegal_legal_strings)
 {
-       BOOST_CHECK_THROW(new Url("/?foo=barr&foo[]=bazz"), std::invalid_argument);
-       BOOST_CHECK_THROW(new Url("/?]=gar"), std::invalid_argument);
-       BOOST_CHECK(new Url("/?foo=baz??&\?\?=/?")); //Valid
-       BOOST_CHECK_THROW(new Url("/?foo=bar&foo=ba"), std::invalid_argument);
-       BOOST_CHECK(new Url("/"));
-       BOOST_CHECK_THROW(new Url("/?foo=bar&[]=d"), std::invalid_argument);
-       BOOST_CHECK_THROW(new Url("/?fo=&bar=garOA"), std::invalid_argument);
+       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_AUTO_TEST_SUITE_END()