File indexing completed on 2025-02-23 05:24:03

0001 /*
0002     SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 
0006 */
0007 
0008 #include "kdebugsettingsdialogtest.h"
0009 #include "categorywarning.h"
0010 #include "kdebugsettingsdialog.h"
0011 #include "loadtoolbutton.h"
0012 #include "savetoolbutton.h"
0013 #include <QDialogButtonBox>
0014 #include <QPushButton>
0015 #include <QStandardPaths>
0016 #include <QTabWidget>
0017 #include <QTest>
0018 
0019 KDebugSettingsDialogTest::KDebugSettingsDialogTest(QObject *parent)
0020     : QObject(parent)
0021 {
0022     QStandardPaths::setTestModeEnabled(true);
0023 }
0024 
0025 KDebugSettingsDialogTest::~KDebugSettingsDialogTest() = default;
0026 
0027 void KDebugSettingsDialogTest::shouldHaveDefaultValue()
0028 {
0029     KDebugSettingsDialog dlg;
0030     auto buttonBox = dlg.findChild<QDialogButtonBox *>(QStringLiteral("buttonbox"));
0031     QVERIFY(buttonBox);
0032     QCOMPARE(buttonBox->standardButtons(),
0033              QDialogButtonBox::RestoreDefaults | QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Help | QDialogButtonBox::Apply);
0034     auto tab = dlg.findChild<QTabWidget *>(QStringLiteral("tabwidget"));
0035     QVERIFY(tab);
0036     for (int i = 0; i < tab->count(); ++i) {
0037         const QString objName = tab->widget(i)->objectName();
0038         const bool hasCorrectName = (objName == QLatin1StringView("kdeapplicationsettingspage")) || (objName == QLatin1StringView("customsettingspage"))
0039             || (objName == QLatin1StringView("environmentsettingsrulespage"));
0040         QVERIFY(hasCorrectName);
0041     }
0042     auto saveAs = buttonBox->findChild<SaveToolButton *>(QStringLiteral("saveas_button"));
0043     QVERIFY(saveAs);
0044     auto load = buttonBox->findChild<LoadToolButton *>(QStringLiteral("load_button"));
0045     QVERIFY(load);
0046     QVERIFY(load->menu());
0047     auto insertCategories = buttonBox->findChild<QPushButton *>(QStringLiteral("insert_button"));
0048     QVERIFY(insertCategories);
0049     auto categoryWarning = dlg.findChild<CategoryWarning *>(QStringLiteral("categorywarning"));
0050     QVERIFY(categoryWarning);
0051     QVERIFY(!categoryWarning->isVisible());
0052 }
0053 
0054 QTEST_MAIN(KDebugSettingsDialogTest)
0055 
0056 #include "moc_kdebugsettingsdialogtest.cpp"