File indexing completed on 2024-05-05 03:54:34

0001 /*
0002     SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #include "externalextractortest.h"
0008 #include "simpleextractionresult.h"
0009 #include "indexerextractortestsconfig.h"
0010 #include "externalextractor.h"
0011 #include "config-kfilemetadata.h"
0012 
0013 #include <QTest>
0014 #include <QTemporaryFile>
0015 
0016 using namespace KFileMetaData;
0017 
0018 QString ExternalExtractorTest::testFilePath(const QString& fileName) const
0019 {
0020     return QLatin1String(INDEXER_TESTS_SAMPLE_CONFIGURED_FILES_PATH) + QLatin1Char('/') + fileName;
0021 }
0022 
0023 void ExternalExtractorTest::test()
0024 {
0025     QTemporaryFile file;
0026     file.open();
0027     file.write("Hello\nWorld");
0028     file.close();
0029     ExternalExtractor plugin{testFilePath("testexternalextractor")};
0030     QVERIFY(plugin.mimetypes().contains("application/text"));
0031 
0032     SimpleExtractionResult result(file.fileName(), "application/text");
0033     plugin.extract(&result);
0034 
0035     QCOMPARE(result.types().size(), 1);
0036     QCOMPARE(result.types().constFirst(), Type::Text);
0037 
0038     QCOMPARE(result.text(), QStringLiteral("Hello\nWorld "));
0039 
0040     QCOMPARE(result.properties().value(Property::LineCount), 2);
0041 }
0042 
0043 QTEST_GUILESS_MAIN(ExternalExtractorTest)
0044 
0045 #include "moc_externalextractortest.cpp"