File indexing completed on 2025-04-27 03:41:23
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 #include <QTimeZone> 0015 0016 using namespace KFileMetaData; 0017 0018 QString PostscriptDscExtractorTest::testFilePath(const QString& fileName) const 0019 { 0020 return QLatin1String(INDEXER_TESTS_SAMPLE_FILES_PATH) + QLatin1Char('/') + fileName; 0021 } 0022 0023 void PostscriptDscExtractorTest::testNoExtraction() 0024 { 0025 DscExtractor plugin{this}; 0026 0027 QString fileName = testFilePath(QStringLiteral("test.ps")); 0028 QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name(); 0029 QVERIFY(plugin.mimetypes().contains(mimeType)); 0030 0031 SimpleExtractionResult result(fileName, mimeType, ExtractionResult::ExtractNothing); 0032 plugin.extract(&result); 0033 0034 QCOMPARE(result.types().size(), 1); 0035 QCOMPARE(result.types().constFirst(), Type::Document); 0036 QCOMPARE(result.properties().size(), 0); 0037 } 0038 0039 void PostscriptDscExtractorTest::testPS() 0040 { 0041 DscExtractor plugin{this}; 0042 0043 QString fileName = testFilePath(QStringLiteral("test.ps")); 0044 QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name(); 0045 QVERIFY(plugin.mimetypes().contains(mimeType)); 0046 0047 SimpleExtractionResult result(fileName, mimeType); 0048 plugin.extract(&result); 0049 0050 QCOMPARE(result.types().size(), 1); 0051 QCOMPARE(result.types().constFirst(), Type::Document); 0052 0053 QCOMPARE(result.properties().value(Property::Title).toString(), QStringLiteral("The Big Brown Bear")); 0054 QCOMPARE(result.properties().value(Property::PageCount).toInt(), 2); 0055 0056 QDateTime dt(QDate(2018, 10, 28), QTime(21, 13, 39), QTimeZone::fromSecondsAheadOfUtc(+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), QTimeZone::fromSecondsAheadOfUtc(-5400)); 0080 QCOMPARE(result.properties().value(Property::CreationDate), QVariant(dt)); 0081 QCOMPARE(result.properties().size(), 3); 0082 } 0083 0084 QTEST_GUILESS_MAIN(PostscriptDscExtractorTest) 0085 0086 #include "moc_postscriptdscextractortest.cpp"