File indexing completed on 2024-06-16 04:27:59
0001 /* 0002 SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "languagetoolconfigwidgettest.h" 0008 #include "languagetool/languagetoolcombobox.h" 0009 #include "languagetool/languagetoolconfigwidget.h" 0010 #include <QCheckBox> 0011 #include <QLabel> 0012 #include <QLineEdit> 0013 #include <QStandardPaths> 0014 #include <QTest> 0015 #include <QToolButton> 0016 #include <QVBoxLayout> 0017 #include <qtestmouse.h> 0018 0019 QTEST_MAIN(LanguageToolConfigWidgetTest) 0020 LanguageToolConfigWidgetTest::LanguageToolConfigWidgetTest(QObject *parent) 0021 : QObject(parent) 0022 { 0023 QStandardPaths::setTestModeEnabled(true); 0024 } 0025 0026 void LanguageToolConfigWidgetTest::shouldHaveDefaultValue() 0027 { 0028 TextGrammarCheck::LanguageToolConfigWidget w; 0029 auto mainLayout = w.findChild<QVBoxLayout *>(QStringLiteral("mainlayout")); 0030 QVERIFY(mainLayout); 0031 QCOMPARE(mainLayout->contentsMargins(), QMargins()); 0032 0033 auto mUseLocalInstance = w.findChild<QCheckBox *>(QStringLiteral("uselocalinstance")); 0034 QVERIFY(mUseLocalInstance); 0035 QVERIFY(!mUseLocalInstance->text().isEmpty()); 0036 QVERIFY(!mUseLocalInstance->isChecked()); 0037 0038 auto instancePathLabel = w.findChild<QLabel *>(QStringLiteral("instancepath")); 0039 QVERIFY(instancePathLabel); 0040 QVERIFY(!instancePathLabel->text().isEmpty()); 0041 QVERIFY(!instancePathLabel->isEnabled()); 0042 0043 auto mInstancePath = w.findChild<QLineEdit *>(QStringLiteral("instancepath")); 0044 QVERIFY(mInstancePath); 0045 // We load default value 0046 QVERIFY(!mInstancePath->text().isEmpty()); 0047 QVERIFY(!mInstancePath->isEnabled()); 0048 QVERIFY(mInstancePath->isClearButtonEnabled()); 0049 0050 auto languageLabel = w.findChild<QLabel *>(QStringLiteral("languageLabel")); 0051 QVERIFY(languageLabel); 0052 QVERIFY(!languageLabel->text().isEmpty()); 0053 0054 auto mLanguageToolCombobox = w.findChild<TextGrammarCheck::LanguageToolComboBox *>(QStringLiteral("languagecombobox")); 0055 QVERIFY(mLanguageToolCombobox); 0056 0057 auto refreshButton = w.findChild<QToolButton *>(QStringLiteral("refreshbutton")); 0058 QVERIFY(refreshButton); 0059 // QVERIFY(!refreshButton->icon().isNull()); 0060 } 0061 0062 void LanguageToolConfigWidgetTest::shouldUpdateWidgets() 0063 { 0064 TextGrammarCheck::LanguageToolConfigWidget w; 0065 0066 auto mUseLocalInstance = w.findChild<QCheckBox *>(QStringLiteral("uselocalinstance")); 0067 0068 auto instancePathLabel = w.findChild<QLabel *>(QStringLiteral("instancepath")); 0069 0070 auto mInstancePath = w.findChild<QLineEdit *>(QStringLiteral("instancepath")); 0071 QTest::mouseClick(mUseLocalInstance, Qt::LeftButton); 0072 0073 QVERIFY(mUseLocalInstance->isChecked()); 0074 QVERIFY(mUseLocalInstance->isEnabled()); 0075 QVERIFY(instancePathLabel->isEnabled()); 0076 QVERIFY(mInstancePath->isEnabled()); 0077 0078 QTest::mouseClick(mUseLocalInstance, Qt::LeftButton); 0079 QVERIFY(!mUseLocalInstance->isChecked()); 0080 QVERIFY(mUseLocalInstance->isEnabled()); 0081 QVERIFY(!instancePathLabel->isEnabled()); 0082 QVERIFY(!mInstancePath->isEnabled()); 0083 } 0084 0085 #include "moc_languagetoolconfigwidgettest.cpp"