File indexing completed on 2024-05-12 05:12:43
0001 /* 0002 SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "jobtrackersearchwidgettest.h" 0008 #include "jobtrackersearchwidget.h" 0009 #include <QCheckBox> 0010 #include <QComboBox> 0011 #include <QHBoxLayout> 0012 #include <QLineEdit> 0013 #include <QSignalSpy> 0014 #include <QTest> 0015 0016 JobTrackerSearchWidgetTest::JobTrackerSearchWidgetTest(QObject *parent) 0017 : QObject(parent) 0018 { 0019 } 0020 0021 JobTrackerSearchWidgetTest::~JobTrackerSearchWidgetTest() = default; 0022 0023 void JobTrackerSearchWidgetTest::shouldHaveDefaultValue() 0024 { 0025 JobTrackerSearchWidget w; 0026 auto mainLayout = w.findChild<QHBoxLayout *>(QStringLiteral("mainlayout")); 0027 QVERIFY(mainLayout); 0028 int top = -1; 0029 int bottom = -1; 0030 int left = -1; 0031 int right = -1; 0032 mainLayout->getContentsMargins(&left, &top, &right, &bottom); 0033 QCOMPARE(top, 0); 0034 QCOMPARE(bottom, 0); 0035 QCOMPARE(left, 0); 0036 QCOMPARE(right, 0); 0037 0038 auto mSearchLineEdit = w.findChild<QLineEdit *>(QStringLiteral("searchline")); 0039 QVERIFY(mSearchLineEdit); 0040 QVERIFY(mSearchLineEdit->isClearButtonEnabled()); 0041 QVERIFY(mSearchLineEdit->text().isEmpty()); 0042 0043 auto mSelectColumn = w.findChild<QComboBox *>(QStringLiteral("selectcolumn")); 0044 QVERIFY(mSelectColumn); 0045 QCOMPARE(mSelectColumn->count(), 8); 0046 QCOMPARE(mSelectColumn->currentIndex(), 0); 0047 0048 auto mSelectOnlyError = w.findChild<QCheckBox *>(QStringLiteral("selectonlyerror")); 0049 QVERIFY(mSelectOnlyError); 0050 QVERIFY(!mSelectOnlyError->text().isEmpty()); 0051 QCOMPARE(mSelectOnlyError->checkState(), Qt::Unchecked); 0052 } 0053 0054 void JobTrackerSearchWidgetTest::shouldEmitSignal() 0055 { 0056 JobTrackerSearchWidget w; 0057 QSignalSpy searchWidgetSignal(&w, &JobTrackerSearchWidget::searchTextChanged); 0058 auto mSearchLineEdit = w.findChild<QLineEdit *>(QStringLiteral("searchline")); 0059 const QString foo = QStringLiteral("foo"); 0060 mSearchLineEdit->setText(foo); 0061 QCOMPARE(searchWidgetSignal.count(), 1); 0062 QCOMPARE(searchWidgetSignal.at(0).at(0).toString(), foo); 0063 mSearchLineEdit->clear(); 0064 QCOMPARE(searchWidgetSignal.count(), 2); 0065 QCOMPARE(searchWidgetSignal.at(1).at(0).toString(), QString()); 0066 } 0067 0068 void JobTrackerSearchWidgetTest::shouldEmitColumnChanged() 0069 { 0070 JobTrackerSearchWidget w; 0071 QSignalSpy columnChangedSignal(&w, &JobTrackerSearchWidget::columnChanged); 0072 auto mSelectColumn = w.findChild<QComboBox *>(QStringLiteral("selectcolumn")); 0073 mSelectColumn->setCurrentIndex(2); 0074 QCOMPARE(columnChangedSignal.count(), 1); 0075 } 0076 0077 void JobTrackerSearchWidgetTest::shouldEmitSelectOnlyErrorChanged() 0078 { 0079 JobTrackerSearchWidget w; 0080 QSignalSpy selectOnlyErrorChangedSignal(&w, &JobTrackerSearchWidget::selectOnlyErrorChanged); 0081 auto mSelectOnlyError = w.findChild<QCheckBox *>(QStringLiteral("selectonlyerror")); 0082 mSelectOnlyError->setChecked(true); 0083 QCOMPARE(selectOnlyErrorChangedSignal.count(), 1); 0084 } 0085 0086 QTEST_MAIN(JobTrackerSearchWidgetTest) 0087 0088 #include "moc_jobtrackersearchwidgettest.cpp"