File indexing completed on 2025-05-04 04:51:07

0001 /*
0002    SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "viewerpluginexternalscriptinfotest.h"
0008 #include "../viewerpluginexternalscriptinfo.h"
0009 
0010 #include <QTest>
0011 
0012 ViewerPluginExternalScriptInfoTest::ViewerPluginExternalScriptInfoTest(QObject *parent)
0013     : QObject(parent)
0014 {
0015 }
0016 
0017 ViewerPluginExternalScriptInfoTest::~ViewerPluginExternalScriptInfoTest() = default;
0018 
0019 void ViewerPluginExternalScriptInfoTest::shouldHaveDefaultValue()
0020 {
0021     ViewerPluginExternalScriptInfo info;
0022     QVERIFY(info.name().isEmpty());
0023     QVERIFY(info.commandLine().isEmpty());
0024     QVERIFY(info.executable().isEmpty());
0025     QVERIFY(info.description().isEmpty());
0026     QVERIFY(info.icon().isEmpty());
0027     QVERIFY(!info.isValid());
0028     QVERIFY(!info.isReadOnly());
0029 }
0030 
0031 void ViewerPluginExternalScriptInfoTest::shouldHaveValid()
0032 {
0033     ViewerPluginExternalScriptInfo info;
0034     info.setName(QString());
0035     QVERIFY(!info.isValid());
0036     info.setName(QStringLiteral("foo"));
0037     info.setExecutable(QStringLiteral("bla"));
0038     QVERIFY(info.isValid());
0039     info.setName(QStringLiteral(" "));
0040     QVERIFY(!info.isValid());
0041     info.setName(QStringLiteral("foo"));
0042     info.setExecutable(QStringLiteral(" "));
0043     QVERIFY(!info.isValid());
0044 }
0045 
0046 void ViewerPluginExternalScriptInfoTest::shouldBeEqual_data()
0047 {
0048     QTest::addColumn<ViewerPluginExternalScriptInfo>("scriptinfo");
0049     QTest::newRow("empty") << ViewerPluginExternalScriptInfo();
0050 
0051     ViewerPluginExternalScriptInfo f;
0052     f.setCommandLine(QStringLiteral("dd"));
0053     f.setDescription(QStringLiteral("bla"));
0054     f.setIsReadOnly(true);
0055     QTest::newRow("not-empty-1") << f;
0056     f.setExecutable(QStringLiteral("ssss"));
0057     QTest::newRow("not-empty-2") << f;
0058     f.setIcon(QStringLiteral("bloblo"));
0059     QTest::newRow("not-empty-3") << f;
0060 }
0061 
0062 void ViewerPluginExternalScriptInfoTest::shouldBeEqual()
0063 {
0064     QFETCH(ViewerPluginExternalScriptInfo, scriptinfo);
0065     ViewerPluginExternalScriptInfo f;
0066     f = scriptinfo;
0067     QCOMPARE(f, scriptinfo);
0068 }
0069 
0070 QTEST_MAIN(ViewerPluginExternalScriptInfoTest)
0071 
0072 #include "moc_viewerpluginexternalscriptinfotest.cpp"