File indexing completed on 2024-04-28 15:22:15

0001 /*
0002     SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #include "mobiextractortest.h"
0008 #include "simpleextractionresult.h"
0009 #include "indexerextractortestsconfig.h"
0010 #include "extractors/mobiextractor.h"
0011 #include "mimeutils.h"
0012 
0013 #include <QTest>
0014 #include <QMimeDatabase>
0015 #include <QMimeType>
0016 
0017 using namespace KFileMetaData;
0018 
0019 QString MobiExtractorTest::testFilePath(const QString& fileName) const
0020 {
0021     return QLatin1String(INDEXER_TESTS_SAMPLE_FILES_PATH) + QLatin1Char('/') + fileName;
0022 }
0023 
0024 void MobiExtractorTest::test()
0025 {
0026     MobiExtractor plugin{this};
0027 
0028     QString fileName = testFilePath("test.mobi");
0029     QMimeDatabase mimeDb;
0030     QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name();
0031     QVERIFY(plugin.mimetypes().contains(mimeType));
0032 
0033     SimpleExtractionResult result(fileName, mimeType);
0034     plugin.extract(&result);
0035 
0036     QCOMPARE(result.types().size(), 1);
0037     QCOMPARE(result.types().first(), Type::Document);
0038 
0039     QCOMPARE(result.properties().value(Property::Author), QVariant(QStringLiteral("Happy Man")));
0040     QCOMPARE(result.properties().value(Property::Title), QVariant(QStringLiteral("The Big Brown Bear")));
0041     QCOMPARE(result.properties().value(Property::Subject), QVariant(QStringLiteral("Baloo KFileMetaData")));
0042     QCOMPARE(result.properties().value(Property::Description), QVariant(QStringLiteral("Honey")));
0043     QCOMPARE(result.properties().value(Property::Copyright), QVariant(QStringLiteral("License")));
0044 
0045     QCOMPARE(result.properties().size(), 5);
0046 }
0047 
0048 QTEST_GUILESS_MAIN(MobiExtractorTest)
0049 
0050 #include "moc_mobiextractortest.cpp"