22#include <QtTest/QtTest>
38void AdBlockTest::isMatchingCookieTest_data()
41 QTest::addColumn<QString>(
"filterDomain");
42 QTest::addColumn<QString>(
"siteDomain");
43 QTest::addColumn<bool>(
"result");
45 QTest::newRow(
"test1") <<
"example.com" <<
"www.example.com" <<
true;
46 QTest::newRow(
"test2") <<
"example.com" <<
"example.com" <<
true;
47 QTest::newRow(
"test3") <<
"example.com" <<
"anotherexample.com" <<
false;
48 QTest::newRow(
"test4") <<
"test.example.com" <<
"example.com" <<
false;
49 QTest::newRow(
"test5") <<
"www.example.com" <<
"example.com" <<
false;
50 QTest::newRow(
"test_empty") <<
"www.example.com" <<
"" <<
false;
51 QTest::newRow(
"test_empty2") <<
"" <<
"example.com" <<
false;
54void AdBlockTest::isMatchingCookieTest()
58 QFETCH(QString, filterDomain);
59 QFETCH(QString, siteDomain);
65void AdBlockTest::parseRegExpFilterTest_data()
67 QTest::addColumn<QString>(
"parsedFilter");
68 QTest::addColumn<QStringList>(
"result");
70 QTest::newRow(
"test1") <<
QSL(
"||doubleclick.net/pfadx/tmg.telegraph.")
71 << (QStringList() <<
QSL(
"doubleclick.net/pfadx/tmg.telegraph."));
72 QTest::newRow(
"test2") <<
QSL(
"||doubleclick.net/pfadx/*.mtvi")
73 << (QStringList() <<
QSL(
"doubleclick.net/pfadx/") <<
QSL(
".mtvi"));
74 QTest::newRow(
"test3") <<
QSL(
"&prvtof=*&poru=")
75 << (QStringList() <<
QSL(
"&prvtof=") <<
QSL(
"&poru="));
76 QTest::newRow(
"test4") <<
QSL(
"/addyn|*;adtech;")
77 << (QStringList() <<
QSL(
"/addyn") <<
QSL(
";adtech;"));
78 QTest::newRow(
"test5") <<
QSL(
"/eas_fif.html^")
79 << (QStringList() <<
QSL(
"/eas_fif.html"));
80 QTest::newRow(
"test6") <<
QSL(
"://findnsave.^.*/api/groupon.json?")
81 << (QStringList() <<
QSL(
"://findnsave.") <<
QSL(
"/api/groupon.json?"));
82 QTest::newRow(
"test7") <<
QSL(
"^fp=*&prvtof=")
83 << (QStringList() <<
QSL(
"fp=") <<
QSL(
"&prvtof="));
84 QTest::newRow(
"test8") <<
QSL(
"|http://ax-d.*/jstag^")
85 << (QStringList() <<
QSL(
"http://ax-d.") <<
QSL(
"/jstag"));
86 QTest::newRow(
"test9") <<
QSL(
"||reuters.com^*/rcom-wt-mlt.js")
87 << (QStringList() <<
QSL(
"reuters.com") <<
QSL(
"/rcom-wt-mlt.js"));
88 QTest::newRow(
"test10") <<
QSL(
"||chip.de^*/tracking.js")
89 << (QStringList() <<
QSL(
"chip.de") <<
QSL(
"/tracking.js"));
90 QTest::newRow(
"ignore1char") <<
QSL(
"/search.php?uid=*.*&src=")
91 << (QStringList() <<
QSL(
"/search.php?uid=") <<
QSL(
"&src="));
92 QTest::newRow(
"ignoreDuplicates") <<
QSL(
"/search.*.dup.*.dup.*&src=")
93 << (QStringList() <<
QSL(
"/search.") <<
QSL(
".dup.") <<
QSL(
"&src="));
94 QTest::newRow(
"empty") << QString()
96 QTest::newRow(
"justspaces") <<
QSL(
" ")
97 << (QStringList() <<
QSL(
" "));
98 QTest::newRow(
"spacesWithMetachars") <<
QSL(
" * ?")
99 << (QStringList() <<
QSL(
" ") <<
QSL(
" ?"));
102void AdBlockTest::parseRegExpFilterTest()
106 QFETCH(QString, parsedFilter);
107 QFETCH(QStringList, result);
112void AdBlockTest::ignoreEmptyLinesInSubscriptionTest()
115 subscription.setFilePath(
QSL(
":autotests/data/adblock_empty_lines.txt"));
116 subscription.loadSubscription({});
118 QCOMPARE(subscription.allRules().count(), 3);
119 QCOMPARE(subscription.allRules().at(0)->filter(),
QSL(
"filter.com"));
120 QCOMPARE(subscription.allRules().at(1)->filter(),
QSL(
"test"));
121 QCOMPARE(subscription.allRules().at(2)->isComment(),
true);
bool isMatchingDomain(const QString &domain, const QString &filter) const
QStringList parseRegExpFilter(const QString &parsedFilter)
bool isMatchingDomain(const QString &domain, const QString &filter) const
QStringList parseRegExpFilter(const QString &filter) const