| 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 | } |

