diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-02-10 20:58:39 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-04-21 20:14:50 +0300 |
commit | c3559b24eba76052deb9d4ce79e4704815d902a5 (patch) | |
tree | 900dd0a5b8039e5e7bdd9ad609d9b3ae45d9dbde /staging/adblock/test | |
parent | Add libfuzzer test to libconfiguration (diff) | |
download | smolbote-c3559b24eba76052deb9d4ce79e4704815d902a5.tar.xz |
staging: rewrite AdblockPlus parser yet again
Diffstat (limited to 'staging/adblock/test')
-rw-r--r-- | staging/adblock/test/parser.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/staging/adblock/test/parser.cpp b/staging/adblock/test/parser.cpp new file mode 100644 index 0000000..0ce1121 --- /dev/null +++ b/staging/adblock/test/parser.cpp @@ -0,0 +1,32 @@ +#include "filterlist.h" +#include <QFile> +#include <QTextStream> + +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; + } + + 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", result.lines_total); + qDebug("comments: %i", result.lines_comments); + qDebug(" ignored: %i", result.lines_ignored); + qDebug(" parsed: %i", result.lines_parsed); + qDebug(" failed: %i", result.lines_failed); + + f.close(); + } + return 0; +} |