aboutsummaryrefslogtreecommitdiff
path: root/staging/filterlist
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2020-03-12 15:34:33 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2020-04-21 20:14:56 +0300
commitbe01fd65ac8ba77ce89061c3d4277a2a4b485254 (patch)
tree77d5ce4686c9eaa7517aa29cc906f15172d6696d /staging/filterlist
parentstaging/adblock: add AdblockPlusPlugin (diff)
downloadsmolbote-be01fd65ac8ba77ce89061c3d4277a2a4b485254.tar.xz
staging/adblock: single line FilterList::parse
Diffstat (limited to 'staging/filterlist')
-rw-r--r--staging/filterlist/meson.build9
-rw-r--r--staging/filterlist/test/parser.cpp37
2 files changed, 46 insertions, 0 deletions
diff --git a/staging/filterlist/meson.build b/staging/filterlist/meson.build
index b8f2263..eb5b61f 100644
--- a/staging/filterlist/meson.build
+++ b/staging/filterlist/meson.build
@@ -13,3 +13,12 @@ executable('filterlist',
sources: [ 'test/main.cpp' ]
)
+#test('adblockfilter: parser',
+# executable('adblockfilter-parsefilter',
+# dependencies: [ dep_qt5, dep_gtest, dep_adblockfilter ],
+# sources: [ 'test/parser.cpp' ]
+# ),
+# workdir: meson.current_source_dir() / 'test',
+# should_fail: true
+#)
+
diff --git a/staging/filterlist/test/parser.cpp b/staging/filterlist/test/parser.cpp
new file mode 100644
index 0000000..2b925e0
--- /dev/null
+++ b/staging/filterlist/test/parser.cpp
@@ -0,0 +1,37 @@
+#include "filterlist.h"
+#include <QFile>
+#include <QTextStream>
+#include "plugin/plugin.h"
+
+int main(int argc, char **argv)
+{
+ if(argc < 2) {
+ qDebug("usage: %s list1.txt ...", argv[0]);
+ return 77;
+ }
+
+ for(int i = 1; i < argc; ++i) {
+ QFile f(argv[i]);
+ if(!f.open(QIODevice::ReadOnly | QIODevice::Text)) {
+ qDebug("could not open %s", argv[i]);
+ return -1;
+ }
+
+ AdblockPlusFilterPlugin p;
+ auto *l = p.load(&f);
+/*
+ AdblockPlus::FilterList list;
+ QTextStream stream(&f);
+ const auto result = list.parse(stream);
+ qDebug("[%s]: %s", argv[i], (result.state == AdblockPlus::FilterList::Ok) ? "okay" : "failed");
+ qDebug(" total: %i\t\tmodified: %s", result.lines_total, qUtf8Printable(list.modified().toString()));
+ qDebug("comments: %i\t\t expires: %s", result.lines_comments, qUtf8Printable(list.expiresOn().toString()));
+ qDebug(" ignored: %i\t\t valid: %s", result.lines_ignored, list.isUpToDate() ? "yes" : "no");
+ qDebug(" parsed: %i", result.lines_parsed);
+ qDebug(" failed: %i", result.lines_failed);
+ qDebug("-------- --------");
+*/
+ f.close();
+ }
+ return 0;
+}