Warning, file /utilities/ark/autotests/testhelper/abstractaddtest.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2016 Vladyslav Batyrenko <mvlabat@gmail.com> 0003 SPDX-FileCopyrightText: 2016 Elvis Angelaccio <elvis.angelaccio@kde.org> 0004 0005 SPDX-License-Identifier: BSD-2-Clause 0006 */ 0007 0008 #include "abstractaddtest.h" 0009 0010 #include "jobs.h" 0011 #include "testhelper.h" 0012 0013 #include <QMimeDatabase> 0014 #include <QTest> 0015 0016 using namespace Kerfuffle; 0017 0018 QStringList AbstractAddTest::getEntryPaths(Archive *archive) 0019 { 0020 QStringList paths; 0021 auto loadJob = Archive::load(archive->fileName()); 0022 QObject::connect(loadJob, &Job::newEntry, [&paths](Archive::Entry *entry) { 0023 paths << entry->fullPath(); 0024 }); 0025 TestHelper::startAndWaitForResult(loadJob); 0026 0027 return paths; 0028 } 0029 0030 void AbstractAddTest::setupRows(const QString &testName, 0031 const QString &archiveName, 0032 const QVector<Archive::Entry *> &targetEntries, 0033 Archive::Entry *destination, 0034 const QStringList &expectedNewPaths, 0035 uint numberOfEntries) const 0036 { 0037 // Repeat the same test case for each format and for each plugin supporting the format. 0038 const QStringList formats = TestHelper::testFormats(); 0039 for (const QString &format : formats) { 0040 const QString filename = QStringLiteral("%1.%2").arg(archiveName, format); 0041 const auto mime = QMimeDatabase().mimeTypeForFile(filename, QMimeDatabase::MatchExtension); 0042 0043 const auto plugins = m_pluginManager.preferredWritePluginsFor(mime); 0044 for (const auto plugin : plugins) { 0045 QTest::newRow(QStringLiteral("%1 (%2, %3)").arg(testName, format, plugin->metaData().pluginId()).toUtf8().constData()) 0046 << filename << plugin << targetEntries << destination << expectedNewPaths << numberOfEntries; 0047 } 0048 } 0049 } 0050 0051 #include "moc_abstractaddtest.cpp"