File indexing completed on 2025-02-16 13:03:37
0001 /* 0002 SPDX-FileCopyrightText: 2018 Stefan BrĂ¼ns <stefan.bruens@rwth-aachen.de> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "postscriptdscextractortest.h" 0008 #include "simpleextractionresult.h" 0009 #include "indexerextractortestsconfig.h" 0010 #include "extractors/postscriptdscextractor.h" 0011 #include "mimeutils.h" 0012 0013 #include <QTest> 0014 0015 using namespace KFileMetaData; 0016 0017 QString PostscriptDscExtractorTest::testFilePath(const QString& fileName) const 0018 { 0019 return QLatin1String(INDEXER_TESTS_SAMPLE_FILES_PATH) + QLatin1Char('/') + fileName; 0020 } 0021 0022 void PostscriptDscExtractorTest::testNoExtraction() 0023 { 0024 DscExtractor plugin{this}; 0025 0026 QString fileName = testFilePath(QStringLiteral("test.ps")); 0027 QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name(); 0028 QVERIFY(plugin.mimetypes().contains(mimeType)); 0029 0030 SimpleExtractionResult result(fileName, mimeType, ExtractionResult::ExtractNothing); 0031 plugin.extract(&result); 0032 0033 QCOMPARE(result.types().size(), 1); 0034 QCOMPARE(result.types().constFirst(), Type::Document); 0035 QCOMPARE(result.properties().size(), 0); 0036 } 0037 0038 void PostscriptDscExtractorTest::testPS() 0039 { 0040 DscExtractor plugin{this}; 0041 0042 QString fileName = testFilePath(QStringLiteral("test.ps")); 0043 QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name(); 0044 QVERIFY(plugin.mimetypes().contains(mimeType)); 0045 0046 SimpleExtractionResult result(fileName, mimeType); 0047 plugin.extract(&result); 0048 0049 QCOMPARE(result.types().size(), 1); 0050 QCOMPARE(result.types().constFirst(), Type::Document); 0051 0052 QCOMPARE(result.properties().value(Property::Title).toString(), QStringLiteral("The Big Brown Bear")); 0053 QCOMPARE(result.properties().value(Property::PageCount).toInt(), 2); 0054 0055 QDateTime dt(QDate(2018, 10, 28), QTime(21, 13, 39)); 0056 dt.setOffsetFromUtc(+3600); 0057 QCOMPARE(result.properties().value(Property::CreationDate), QVariant(dt)); 0058 0059 QCOMPARE(result.properties().size(), 3); 0060 } 0061 0062 void PostscriptDscExtractorTest::testEPS() 0063 { 0064 DscExtractor plugin{this}; 0065 0066 QString fileName = testFilePath(QStringLiteral("test.eps")); 0067 QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name(); 0068 QVERIFY(plugin.mimetypes().contains(mimeType)); 0069 0070 SimpleExtractionResult result(fileName, mimeType); 0071 plugin.extract(&result); 0072 0073 QCOMPARE(result.types().size(), 1); 0074 QCOMPARE(result.types().constFirst(), Type::Image); 0075 0076 QCOMPARE(result.properties().value(Property::Title).toString(), QStringLiteral("The Big Brown Bear")); 0077 QCOMPARE(result.properties().value(Property::PageCount).toInt(), 1); 0078 0079 QDateTime dt(QDate(2018, 10, 28), QTime(21, 13, 39)); 0080 dt.setOffsetFromUtc(-5400); 0081 QCOMPARE(result.properties().value(Property::CreationDate), QVariant(dt)); 0082 QCOMPARE(result.properties().size(), 3); 0083 } 0084 0085 QTEST_GUILESS_MAIN(PostscriptDscExtractorTest) 0086 0087 #include "moc_postscriptdscextractortest.cpp"