File indexing completed on 2025-11-30 08:19:15
0001 /* 0002 SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "bannerinfolistsearchlinewidgettest.h" 0008 #include "bannerinfodialog/bannerinfolistsearchlinewidget.h" 0009 #include <QCheckBox> 0010 #include <QHBoxLayout> 0011 #include <QLineEdit> 0012 #include <QSignalSpy> 0013 #include <QTest> 0014 0015 QTEST_MAIN(BannerInfoListSearchLineWidgetTest) 0016 BannerInfoListSearchLineWidgetTest::BannerInfoListSearchLineWidgetTest(QObject *parent) 0017 : QObject{parent} 0018 { 0019 } 0020 0021 void BannerInfoListSearchLineWidgetTest::shouldHaveDefaultValues() 0022 { 0023 BannerInfoListSearchLineWidget w; 0024 0025 auto mainLayout = w.findChild<QHBoxLayout *>(QStringLiteral("mainLayout")); 0026 QVERIFY(mainLayout); 0027 QCOMPARE(mainLayout->contentsMargins(), QMargins{}); 0028 0029 auto mSearchLineEdit = w.findChild<QLineEdit *>(QStringLiteral("mSearchLineEdit")); 0030 QVERIFY(mSearchLineEdit); 0031 QVERIFY(mSearchLineEdit->text().isEmpty()); 0032 QVERIFY(!mSearchLineEdit->placeholderText().isEmpty()); 0033 QVERIFY(mSearchLineEdit->isClearButtonEnabled()); 0034 0035 auto mOnlyUnReadCheckBox = w.findChild<QCheckBox *>(QStringLiteral("mOnlyUnReadCheckBox")); 0036 QVERIFY(mOnlyUnReadCheckBox); 0037 QVERIFY(!mOnlyUnReadCheckBox->isChecked()); 0038 0039 QVERIFY(w.searchText().isEmpty()); 0040 QVERIFY(!w.showOnlyUnread()); 0041 } 0042 0043 void BannerInfoListSearchLineWidgetTest::shouldEmitFilterChanged() 0044 { 0045 BannerInfoListSearchLineWidget w; 0046 QSignalSpy filterChanged(&w, &BannerInfoListSearchLineWidget::filterChanged); 0047 0048 auto mSearchLineEdit = w.findChild<QLineEdit *>(QStringLiteral("mSearchLineEdit")); 0049 mSearchLineEdit->setText(QStringLiteral("bla")); 0050 QCOMPARE(filterChanged.count(), 1); 0051 0052 filterChanged.clear(); 0053 mSearchLineEdit->setText(QString()); 0054 QCOMPARE(filterChanged.count(), 1); 0055 0056 filterChanged.clear(); 0057 auto mOnlyUnReadCheckBox = w.findChild<QCheckBox *>(QStringLiteral("mOnlyUnReadCheckBox")); 0058 QTest::mouseClick(mOnlyUnReadCheckBox, Qt::LeftButton); 0059 QCOMPARE(filterChanged.count(), 1); 0060 } 0061 0062 #include "moc_bannerinfolistsearchlinewidgettest.cpp"