File indexing completed on 2025-02-16 04:56:03
0001 /* 0002 SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "findbarbasetest.h" 0008 #include "../findbarbase.h" 0009 0010 #include <PimCommon/LineEditWithCompleterNg> 0011 #include <QLabel> 0012 #include <QPushButton> 0013 #include <QSignalSpy> 0014 #include <QTest> 0015 #include <QToolButton> 0016 0017 FindBarBaseTest::FindBarBaseTest(QObject *parent) 0018 : QObject(parent) 0019 { 0020 } 0021 0022 FindBarBaseTest::~FindBarBaseTest() = default; 0023 0024 void FindBarBaseTest::shouldHaveDefaultValue() 0025 { 0026 KSieveUi::FindBarBase bar; 0027 auto status = bar.findChild<QLabel *>(QStringLiteral("status")); 0028 QVERIFY(status); 0029 QVERIFY(status->text().isEmpty()); 0030 0031 auto previous = bar.findChild<QPushButton *>(QStringLiteral("findprevious")); 0032 QVERIFY(previous); 0033 QVERIFY(!previous->isEnabled()); 0034 0035 auto next = bar.findChild<QPushButton *>(QStringLiteral("findnext")); 0036 QVERIFY(next); 0037 QVERIFY(!next->isEnabled()); 0038 0039 auto close = bar.findChild<QToolButton *>(QStringLiteral("close")); 0040 QVERIFY(close); 0041 0042 auto lineedit = bar.findChild<PimCommon::LineEditWithCompleterNg *>(QStringLiteral("searchline")); 0043 QVERIFY(lineedit); 0044 QVERIFY(lineedit->text().isEmpty()); 0045 } 0046 0047 void FindBarBaseTest::shouldClearLineWhenClose() 0048 { 0049 KSieveUi::FindBarBase bar; 0050 bar.show(); 0051 QSignalSpy spy(&bar, &KSieveUi::FindBarBase::hideFindBar); 0052 QVERIFY(QTest::qWaitForWindowExposed(&bar)); 0053 QVERIFY(bar.isVisible()); 0054 bar.focusAndSetCursor(); 0055 auto lineedit = bar.findChild<PimCommon::LineEditWithCompleterNg *>(QStringLiteral("searchline")); 0056 lineedit->setText(QStringLiteral("FOO")); 0057 QVERIFY(!lineedit->text().isEmpty()); 0058 QVERIFY(lineedit->hasFocus()); 0059 bar.closeBar(); 0060 QVERIFY(lineedit->text().isEmpty()); 0061 QVERIFY(!lineedit->hasFocus()); 0062 QCOMPARE(spy.count(), 1); 0063 } 0064 0065 void FindBarBaseTest::shouldEnableDisableNextPreviousButton() 0066 { 0067 KSieveUi::FindBarBase bar; 0068 bar.show(); 0069 QVERIFY(QTest::qWaitForWindowExposed(&bar)); 0070 auto previous = bar.findChild<QPushButton *>(QStringLiteral("findprevious")); 0071 0072 auto next = bar.findChild<QPushButton *>(QStringLiteral("findnext")); 0073 0074 bar.autoSearch(QStringLiteral("FOO")); 0075 QVERIFY(next->isEnabled()); 0076 QVERIFY(previous->isEnabled()); 0077 0078 bar.autoSearch(QString()); 0079 QVERIFY(!next->isEnabled()); 0080 QVERIFY(!previous->isEnabled()); 0081 } 0082 0083 void FindBarBaseTest::shouldClearAllWhenShowBar() 0084 { 0085 KSieveUi::FindBarBase bar; 0086 bar.show(); 0087 QVERIFY(QTest::qWaitForWindowExposed(&bar)); 0088 auto status = bar.findChild<QLabel *>(QStringLiteral("status")); 0089 status->setText(QStringLiteral("FOO")); 0090 bar.closeBar(); 0091 0092 bar.show(); 0093 bar.focusAndSetCursor(); 0094 auto lineedit = bar.findChild<PimCommon::LineEditWithCompleterNg *>(QStringLiteral("searchline")); 0095 QVERIFY(lineedit->hasFocus()); 0096 QVERIFY(status->text().isEmpty()); 0097 } 0098 0099 QTEST_MAIN(FindBarBaseTest) 0100 0101 #include "moc_findbarbasetest.cpp"