#define CATCH_CONFIG_MAIN #include "filterlist.h" #include // clazy:skip using namespace Hostlist; SCENARIO("Hostlist::Rule") { GIVEN("an invalid rule") { QStringList b; QHash r; parseRule("0.0.0.0 ", b, r); REQUIRE(b.empty()); REQUIRE(r.empty()); } GIVEN("127.0.0.1 localhost.localdomain") { QStringList b; QHash r; parseRule("127.0.0.1 localhost.localdomain", b, r); REQUIRE(b.empty()); REQUIRE(r.size() == 1); REQUIRE(r.value("localhost.localdomain") == "127.0.0.1"); } GIVEN("0.0.0.0 blockeddomain.com") { QStringList b; QHash r; parseRule("0.0.0.0 blockeddomain.com", b, r); REQUIRE(b.size() == 1); REQUIRE(r.empty()); REQUIRE(b.contains("blockeddomain.com")); ; } GIVEN("0.0.0.0 blockeddomain.first blockeddomain.second") { QStringList b; QHash r; parseRule("0.0.0.0 blockeddomain.first blockeddomain.second", b, r); REQUIRE(b.size() == 2); REQUIRE(r.empty()); REQUIRE(b.contains("blockeddomain.first")); REQUIRE(b.contains("blockeddomain.second")); } }