aboutsummaryrefslogtreecommitdiff
path: root/staging/adblock/test/filterlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'staging/adblock/test/filterlist.cpp')
-rw-r--r--staging/adblock/test/filterlist.cpp40
1 files changed, 22 insertions, 18 deletions
diff --git a/staging/adblock/test/filterlist.cpp b/staging/adblock/test/filterlist.cpp
index 6b27904..4366489 100644
--- a/staging/adblock/test/filterlist.cpp
+++ b/staging/adblock/test/filterlist.cpp
@@ -22,40 +22,44 @@ TEST_CASE("placeholder")
TEST_CASE("domain match")
{
- const std::array<std::pair<QString, bool>, 5> testUrls = {
- std::make_pair("http://ads.example.com/foo.gif", true),
- std::make_pair("http://server1.ads.example.com/foo.gif", true),
- std::make_pair("https://ads.example.com:8000/", true),
- std::make_pair("http://ads.example.com.ua/foo.gif", false),
- std::make_pair("http://example.com/redirect/http://ads.example.com/", false)
- };
+ const QString block1 = "http://ads.example.com/foo.gif";
+ const QString block2 = "http://server1.ads.example.com/foo.gif";
+ const QString block3 = "https://ads.example.com:8000/";
+ const QString block4 = "https://ads.example.com";
+
+ const QString allow1 = "http://ads.example.com.ua/foo.gif";
+ const QString allow2 = "http://example.com/redirect/http://ads.example.com/";
auto *rule = FilterList::parseRule("||ads.example.com^");
REQUIRE(rule->shouldBlock());
REQUIRE(!rule->shouldRedirect());
- for(const auto &pair : testUrls) {
- REQUIRE(rule->hasMatch(&pair.first) == pair.second);
- }
+ REQUIRE(rule->hasMatch(&block1));
+ REQUIRE(rule->hasMatch(&block2));
+ REQUIRE(rule->hasMatch(&block3));
+ REQUIRE(rule->hasMatch(&block4));
+
+ REQUIRE(!rule->hasMatch(&allow1));
+ REQUIRE(!rule->hasMatch(&allow2));
delete rule;
}
TEST_CASE("string equals")
{
- const std::array<std::pair<QString, bool>, 3> testUrls = {
- std::make_pair("http://example.com/", true),
- std::make_pair("http://example.com/foo.gif", false),
- std::make_pair("http://example.info/redirect/http://example.com/", false)
- };
+ const QString block = "http://example.com/";
+
+ const QString allow1 = "http://example.com/foo.gif";
+ const QString allow2 = "http://example.info/redirect/http://example.com/";
auto *rule = FilterList::parseRule("|http://example.com/|");
REQUIRE(rule->shouldBlock());
REQUIRE(!rule->shouldRedirect());
- for(const auto &pair : testUrls) {
- REQUIRE(rule->hasMatch(&pair.first) == pair.second);
- }
+ REQUIRE(rule->hasMatch(&block));
+
+ REQUIRE(!rule->hasMatch(&allow1));
+ REQUIRE(!rule->hasMatch(&allow2));
delete rule;
}