File indexing completed on 2025-02-16 13:03:37
0001 /* 0002 SPDX-FileCopyrightText: 2022 Kai Uwe Broulik <kde@broulik.de> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "pngextractortest.h" 0008 #include "extractors/pngextractor.h" 0009 #include "indexerextractortestsconfig.h" 0010 #include "mimeutils.h" 0011 #include "simpleextractionresult.h" 0012 0013 #include <QMimeDatabase> 0014 #include <QTest> 0015 0016 using namespace KFileMetaData; 0017 using namespace KFileMetaData::Property; 0018 0019 QString PngExtractorTest::testFilePath(const QString &fileName) const 0020 { 0021 return QLatin1String(INDEXER_TESTS_SAMPLE_FILES_PATH) + QLatin1Char('/') + fileName; 0022 } 0023 0024 void PngExtractorTest::testNoExtraction() 0025 { 0026 PngExtractor plugin{this}; 0027 0028 QString fileName = testFilePath(QStringLiteral("test.png")); 0029 QMimeDatabase mimeDb; 0030 QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name(); 0031 QVERIFY(plugin.mimetypes().contains(mimeType)); 0032 0033 SimpleExtractionResult result(fileName, mimeType, ExtractionResult::ExtractNothing); 0034 plugin.extract(&result); 0035 0036 QCOMPARE(result.types().size(), 1); 0037 QCOMPARE(result.types().constFirst(), Type::Image); 0038 QCOMPARE(result.properties().size(), 0); 0039 } 0040 0041 void PngExtractorTest::test() 0042 { 0043 PngExtractor plugin{this}; 0044 0045 QString fileName = testFilePath(QStringLiteral("test.png")); 0046 QMimeDatabase mimeDb; 0047 QString mimeType = MimeUtils::strictMimeType(fileName, mimeDb).name(); 0048 QVERIFY(plugin.mimetypes().contains(mimeType)); 0049 0050 SimpleExtractionResult result(fileName, mimeType); 0051 plugin.extract(&result); 0052 0053 QCOMPARE(result.types().size(), 1); 0054 QCOMPARE(result.types().constFirst(), Type::Image); 0055 0056 QCOMPARE(result.properties().value(Author).toString(), QStringLiteral("Author")); 0057 QCOMPARE(result.properties().value(Copyright).toString(), QStringLiteral("Copyright")); 0058 QCOMPARE(result.properties().value(Comment).toString(), QStringLiteral("Comment")); 0059 QCOMPARE(result.properties().value(Generator).toString(), QStringLiteral("Generator")); 0060 } 0061 0062 QTEST_GUILESS_MAIN(PngExtractorTest) 0063 0064 #include "moc_pngextractortest.cpp"