aboutsummaryrefslogtreecommitdiff
path: root/staging/adblock/test/parser.cpp
blob: 0ce1121a150ec57749d51442ad8a14a54f2c780e (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
#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;
}