File indexing completed on 2024-04-28 05:19:25

0001 /*
0002     SPDX-FileCopyrightText: 2007 Volker Krause <vkrause@kde.org>
0003     SPDX-FileCopyrightText: 2015 Andreas Cord-Landwehr <cordlandwehr@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "parsertest.h"
0009 
0010 #include "config-ktnef-tests.h"
0011 
0012 #include "ktnef/ktnefattach.h"
0013 #include "ktnef/ktnefmessage.h"
0014 #include "ktnef/ktnefparser.h"
0015 
0016 #include <QString>
0017 #include <QTest>
0018 
0019 using namespace KTnef;
0020 
0021 QTEST_GUILESS_MAIN(ParserTest)
0022 
0023 void ParserTest::testSingleAttachment()
0024 {
0025     KTNEFParser parser;
0026     QVERIFY(parser.openFile(QString(QLatin1StringView(TESTSOURCEDIR) + QLatin1StringView("one-file.tnef"))) == true);
0027 
0028     KTNEFMessage *msg = parser.message();
0029     QVERIFY(msg != nullptr);
0030 
0031     QList<KTNEFAttach *> atts = msg->attachmentList();
0032     QVERIFY(atts.count() == 1);
0033 
0034     KTNEFAttach *att = atts.first();
0035     QVERIFY(att != nullptr);
0036     QVERIFY(att->size() == 244);
0037     QVERIFY(att->name() == QLatin1StringView("AUTHORS"));
0038 }
0039 
0040 void ParserTest::testTwoAttachments()
0041 {
0042     KTNEFParser parser;
0043     QVERIFY(parser.openFile(QString(QLatin1StringView(TESTSOURCEDIR) + QLatin1StringView("two-files.tnef"))) == true);
0044 
0045     KTNEFMessage *msg = parser.message();
0046     QVERIFY(msg != nullptr);
0047 
0048     QList<KTNEFAttach *> atts = msg->attachmentList();
0049     QVERIFY(atts.count() == 2);
0050 
0051     KTNEFAttach *att = atts.takeFirst();
0052     QVERIFY(att != nullptr);
0053     QVERIFY(att->size() == 244);
0054     QVERIFY(att->name() == QLatin1StringView("AUTHORS"));
0055 
0056     att = atts.takeFirst();
0057     QVERIFY(att != nullptr);
0058     QVERIFY(att->size() == 893);
0059     QVERIFY(att->name() == QLatin1StringView("README"));
0060 }
0061 
0062 void ParserTest::testMAPIAttachments()
0063 {
0064     KTNEFParser parser;
0065     QVERIFY(parser.openFile(QString(QLatin1StringView(TESTSOURCEDIR) + QLatin1StringView("mapi_attach_data_obj.tnef"))) == true);
0066 
0067     KTNEFMessage *msg = parser.message();
0068     QVERIFY(msg != nullptr);
0069 
0070     QList<KTNEFAttach *> atts = msg->attachmentList();
0071     QVERIFY(atts.count() == 3);
0072 
0073     KTNEFAttach *att = atts.takeFirst();
0074     QVERIFY(att != nullptr);
0075     QVERIFY(att->size() == 61952);
0076     QVERIFY(att->name() == QLatin1StringView("VIA_Nytt_1402.doc"));
0077 
0078     att = atts.takeFirst();
0079     QVERIFY(att != nullptr);
0080     QVERIFY(att->size() == 213688);
0081     QVERIFY(att->name() == QLatin1StringView("VIA_Nytt_1402.pdf"));
0082 
0083     att = atts.takeFirst();
0084     QVERIFY(att != nullptr);
0085     QVERIFY(att->size() == 68920);
0086     QVERIFY(att->name() == QLatin1StringView("VIA_Nytt_14021.htm"));
0087 }
0088 
0089 void ParserTest::testUmlautAttachmentFilenames()
0090 {
0091     KTNEFParser parser;
0092     QVERIFY(parser.openFile(QString(QLatin1StringView(TESTSOURCEDIR) + QLatin1StringView("umlaut-filename.tnef"))) == true);
0093 
0094     KTNEFMessage *msg = parser.message();
0095     QVERIFY(msg != nullptr);
0096 
0097     QList<KTNEFAttach *> atts = msg->attachmentList();
0098     QVERIFY(atts.count() == 1);
0099 
0100     KTNEFAttach *att = atts.first();
0101     QCOMPARE(att->fileName(), QString::fromUtf8("döcument.pdf"));
0102 }
0103 
0104 #include "moc_parsertest.cpp"