diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-03-12 15:34:33 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-04-21 20:14:56 +0300 |
commit | be01fd65ac8ba77ce89061c3d4277a2a4b485254 (patch) | |
tree | 77d5ce4686c9eaa7517aa29cc906f15172d6696d /staging/filterlist | |
parent | staging/adblock: add AdblockPlusPlugin (diff) | |
download | smolbote-be01fd65ac8ba77ce89061c3d4277a2a4b485254.tar.xz |
staging/adblock: single line FilterList::parse
Diffstat (limited to 'staging/filterlist')
-rw-r--r-- | staging/filterlist/meson.build | 9 | ||||
-rw-r--r-- | staging/filterlist/test/parser.cpp | 37 |
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; +} |