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.cpp118
1 files changed, 0 insertions, 118 deletions
diff --git a/staging/adblock/test/filterlist.cpp b/staging/adblock/test/filterlist.cpp
deleted file mode 100644
index ca122ac..0000000
--- a/staging/adblock/test/filterlist.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-#define CATCH_CONFIG_MAIN
-#include "filterlist.h"
-#include <QBuffer>
-#include <catch2/catch.hpp>
-
-using namespace AdblockPlus;
-
-QByteArray sampleList =
- R"(! comment on line
-! Last modified: 1 Jan 2000 00:00 UTC
-! Expires: 4 days (update frequency)
-)";
-
-TEST_CASE("placeholder")
-{
- QBuffer buffer(&sampleList);
- buffer.open(QIODevice::ReadOnly | QIODevice::Text);
-
- AdblockPlus::FilterList list(buffer);
- REQUIRE(!list.isUpToDate());
-}
-
-TEST_CASE("domain match")
-{
- const QString defaultUrl = "";
-
- 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());
-
- REQUIRE(rule->hasMatch(&block1, &defaultUrl, &defaultUrl));
- REQUIRE(rule->hasMatch(&block2, &defaultUrl, &defaultUrl));
- REQUIRE(rule->hasMatch(&block3, &defaultUrl, &defaultUrl));
- REQUIRE(rule->hasMatch(&block4, &defaultUrl, &defaultUrl));
-
- REQUIRE(!rule->hasMatch(&allow1, &defaultUrl, &defaultUrl));
- REQUIRE(!rule->hasMatch(&allow2, &defaultUrl, &defaultUrl));
-
- delete rule;
-}
-
-TEST_CASE("string equals")
-{
- const QString defaultUrl = "";
-
- 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());
-
- REQUIRE(rule->hasMatch(&block, &defaultUrl, &defaultUrl));
-
- REQUIRE(!rule->hasMatch(&allow1, &defaultUrl, &defaultUrl));
- REQUIRE(!rule->hasMatch(&allow2, &defaultUrl, &defaultUrl));
-
- delete rule;
-}
-
-TEST_CASE("string starts with")
-{
- const QString defaultUrl = "";
-
- auto *rule = FilterList::parseRule("|http://baddomain.example/");
- REQUIRE(rule->shouldBlock());
- REQUIRE(!rule->shouldRedirect());
-
- const QString blocks = "http://baddomain.example/banner.gif";
- const QString allows = "http://gooddomain.example/analyze?http://baddomain.example";
-
- REQUIRE(rule->hasMatch(&blocks, &defaultUrl, &defaultUrl));
- REQUIRE(!rule->hasMatch(&allows, &defaultUrl, &defaultUrl));
- delete rule;
-}
-
-TEST_CASE("string ends with")
-{
- const QString defaultUrl = "";
-
- auto *rule = FilterList::parseRule("swf|");
- REQUIRE(rule->shouldBlock());
- REQUIRE(!rule->shouldRedirect());
-
- const QString blocks = "http://example.com/annoyingflash.swf";
- const QString allows = "http://example.com/swf/index.html";
-
- REQUIRE(rule->hasMatch(&blocks, &defaultUrl, &defaultUrl));
- REQUIRE(!rule->hasMatch(&allows, &defaultUrl, &defaultUrl));
- delete rule;
-}
-
-TEST_CASE("regular expressions")
-{
- const QString defaultUrl = "";
-
- auto *rule = FilterList::parseRule("/banner\\d+/");
- const QString matches1 = "banner123";
- const QString matches2 = "banner321";
-
- const QString ignores = "banners";
-
- REQUIRE(rule->hasMatch(&matches1, &defaultUrl, &defaultUrl));
- REQUIRE(rule->hasMatch(&matches2, &defaultUrl, &defaultUrl));
- REQUIRE(!rule->hasMatch(&ignores, &defaultUrl, &defaultUrl));
- delete rule;
-}
-