2cb100f by Jos van den Oever at 2010-01-30 1
#include "api.h"
a3b7549 by Jos van den Oever at 2010-01-31 2
#include "pole.h"
3
#include <QtCore/QDebug>
4
86ab893 by Jos van den Oever at 2010-05-21 5
using namespace std;
6
a3b7549 by Jos van den Oever at 2010-01-31 7
void
8
testFile(const char* path) {
9
    POLE::Storage storage(path);
10
    if (!storage.open()) return;
86ab893 by Jos van den Oever at 2010-05-21 11
    string prefix;
dba3068 by Jos van den Oever at 2010-05-21 12
    if (storage.isDirectory("PP97_DUALSTORAGE")) {
13
        prefix = "PP97_DUALSTORAGE/";
14
    } else {
15
        prefix = "/";
16
    }
86ab893 by Jos van den Oever at 2010-05-21 17
    list<string> entries = storage.entries(prefix);
18
    for (list<string>::const_iterator i=entries.begin(); i!=entries.end(); ++i) {
19
        // if encrypted, do not report failure.
20
        if (*i == "EncryptedSummary") return;
21
    }
dba3068 by Jos van den Oever at 2010-05-21 22
    POLE::Stream stream(&storage, prefix + "PowerPoint Document");
23
a3b7549 by Jos van den Oever at 2010-01-31 24
    QByteArray array;
25
    array.resize(stream.size());
26
    unsigned long read = stream.read((unsigned char*)array.data(), stream.size());
27
    if (read != stream.size()) {
28
        qDebug() << "Error reading stream ";
29
        return;
30
    }
060ff49 by Jos van den Oever at 2010-03-09 31
    MSO::PowerPointStructs s(array.data(), array.size());
6559ccc by Jos van den Oever at 2011-09-06 32
    qDebug() << "Parsed " << s.getSize() << " of " << array.size() << ": "
33
        << ((s.getSize() == array.size())?"OK":"FAIL");
34
    if (s.getSize() != array.size()) {
5d36e96 by Jos van den Oever at 2010-02-12 35
        qDebug() << path;
36
    }
a3b7549 by Jos van den Oever at 2010-01-31 37
}
194962a by Jos van den Oever at 2011-06-14 38
39
static const char* const fixedstring = "ABC";
40
41
void testiterator() {
42
    MSO::TODOS t(fixedstring, 3);
43
    int total = 0;
6a45d79 by Jos van den Oever at 2011-08-10 44
    foreach (const MSO::Byte& b, t.anon()) {
45
        qDebug() << b.b();
46
        total += b.b();
194962a by Jos van den Oever at 2011-06-14 47
    }
6559ccc by Jos van den Oever at 2011-09-06 48
    for (int i = 0; i < t.anon().getCount(); ++i) {
6a45d79 by Jos van den Oever at 2011-08-10 49
        qDebug() << t.anon()[i].b();
50
        total += t.anon()[i].b();
194962a by Jos van den Oever at 2011-06-14 51
    }
52
    qDebug() << total;
53
}
54
2cb100f by Jos van den Oever at 2010-01-30 55
int
a3b7549 by Jos van den Oever at 2010-01-31 56
main(int argc, char** argv) {
194962a by Jos van den Oever at 2011-06-14 57
    //testiterator();
a3b7549 by Jos van den Oever at 2010-01-31 58
    for (int i=1; i<argc; ++i) {
59
        testFile(argv[i]);
60
    }
2cb100f by Jos van den Oever at 2010-01-30 61
    return 0;
62
}