OSDN Git Service

kfilemetadata: add image and manager test/benchmark
authorIvailo Monev <xakepa10@gmail.com>
Thu, 31 Mar 2016 17:56:19 +0000 (17:56 +0000)
committerIvailo Monev <xakepa10@gmail.com>
Thu, 31 Mar 2016 17:56:19 +0000 (17:56 +0000)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
kfilemetadata/autotests/indexerextractortests.cpp
kfilemetadata/autotests/indexerextractortests.h
kfilemetadata/autotests/samplefiles/tux.png [new file with mode: 0644]
kfilemetadata/src/CMakeLists.txt

index bb695b4..5e54fc3 100644 (file)
@@ -27,6 +27,7 @@
 #include "simpleresult.h"
 #include "indexerextractortestsconfig.h"
 #include "extractors/plaintextextractor.h"
+#include "extractorpluginmanager.h"
 
 using namespace KFileMetaData;
 
@@ -62,6 +63,13 @@ void IndexerExtractorTests::benchMarkPlainTextExtractor()
     }
 }
 
+void IndexerExtractorTests::benchMarkManager()
+{
+    QBENCHMARK {
+        testImageExtractor();
+    }
+}
+
 void IndexerExtractorTests::testPlainTextExtractor()
 {
     QScopedPointer<ExtractorPlugin> plugin(new PlainTextExtractor(this, QVariantList()));
@@ -85,5 +93,21 @@ void IndexerExtractorTests::testPlainTextExtractor()
     QCOMPARE(result.text(), content);
 }
 
+void IndexerExtractorTests::testImageExtractor()
+{
+    QScopedPointer<ExtractorPluginManager> manager(new ExtractorPluginManager(this));
+    ExtractorPlugin* plugin = manager->fetchExtractors("image/png").first();
+
+    SimpleResult result(testFilePath("tux.png"), "image/png");
+    plugin->extract(&result);
+
+    QCOMPARE(result.types().size(), 1);
+    QCOMPARE(result.types().first(), Type::Image);
+
+    QCOMPARE(result.properties().size(), 2);
+    QCOMPARE(result.properties().value(Property::Width), QVariant("386"));
+    QCOMPARE(result.properties().value(Property::Height), QVariant("395"));
+}
+
 QTEST_KDEMAIN_CORE(IndexerExtractorTests)
 
index 000995a..bb3b196 100644 (file)
@@ -36,7 +36,9 @@ private:
 
 private slots:
     void benchMarkPlainTextExtractor();
+    void benchMarkManager();
     void testPlainTextExtractor();
+    void testImageExtractor();
 };
 
 #endif // INDEXERTESTS_H
diff --git a/kfilemetadata/autotests/samplefiles/tux.png b/kfilemetadata/autotests/samplefiles/tux.png
new file mode 100644 (file)
index 0000000..2567fe7
Binary files /dev/null and b/kfilemetadata/autotests/samplefiles/tux.png differ
index f8f1ced..b3e7e32 100644 (file)
@@ -34,8 +34,8 @@ install(FILES
     types.h
     typeinfo.h
     kfilemetadata_export.h
-
-    DESTINATION ${INCLUDE_INSTALL_DIR}/kfilemetadata COMPONENT Devel
+    DESTINATION ${INCLUDE_INSTALL_DIR}/kfilemetadata
+    COMPONENT Devel
 )
 
 add_subdirectory(extractors)