aboutsummaryrefslogtreecommitdiff
path: root/plugins/AdblockFilter/test/options.cpp
blob: 67dc1430bf1fc3bb8f0d7d7f0aac90085d8e4658 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#define CATCH_CONFIG_MAIN
#include "options.h"
#include <catch2/catch.hpp>

using namespace AdblockPlus;

SCENARIO("parsing adblock options")
{
    Options opt;

    GIVEN("an unknown option")
    {
        const QString unknown = "unknown";
        THEN("the option is not parsed")
        {
            QStringRef unknown_ref(&unknown);
            REQUIRE(!opt.parseAbp(unknown_ref));
        }
    }

    GIVEN("match-case,document,~subdocument")
    {
        const QString options = "match-case,document,~subdocument";
        REQUIRE(opt.parseAbp(&options));

        WHEN("match-case")
        {
            REQUIRE(opt.matchcase);
        }

        WHEN("testing set/unset options")
        {
            REQUIRE(opt.matchesType(QWebEngineUrlRequestInfo::ResourceTypeMainFrame));
            REQUIRE(!opt.matchesType(QWebEngineUrlRequestInfo::ResourceTypeSubFrame));
        }

        WHEN("testing other options")
        {
            REQUIRE(opt.matchesType(QWebEngineUrlRequestInfo::ResourceTypeStylesheet));
        }
    }
}