File indexing completed on 2024-06-09 04:59:04

0001 /*
0002    SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "channelpasswordwidgettest.h"
0008 #include "dialogs/channelpasswordwidget.h"
0009 #include <KPasswordLineEdit>
0010 #include <QHBoxLayout>
0011 #include <QLabel>
0012 #include <QSignalSpy>
0013 #include <QTest>
0014 QTEST_MAIN(ChannelPasswordWidgetTest)
0015 ChannelPasswordWidgetTest::ChannelPasswordWidgetTest(QObject *parent)
0016     : QObject(parent)
0017 {
0018 }
0019 
0020 void ChannelPasswordWidgetTest::shouldHaveDefaultValues()
0021 {
0022     ChannelPasswordWidget w;
0023     auto mainLayout = w.findChild<QHBoxLayout *>(QStringLiteral("mainLayout"));
0024     QVERIFY(mainLayout);
0025     QCOMPARE(mainLayout->contentsMargins(), QMargins{});
0026 
0027     auto label = w.findChild<QLabel *>(QStringLiteral("label"));
0028     QVERIFY(label);
0029     QVERIFY(!label->text().isEmpty());
0030 
0031     auto mPasswordLineEdit = w.findChild<KPasswordLineEdit *>(QStringLiteral("mPasswordLineEdit"));
0032     QVERIFY(mPasswordLineEdit);
0033 
0034     QVERIFY(w.password().isEmpty());
0035 }
0036 
0037 void ChannelPasswordWidgetTest::shouldEmitSignals()
0038 {
0039     ChannelPasswordWidget w;
0040     auto mPasswordLineEdit = w.findChild<KPasswordLineEdit *>(QStringLiteral("mPasswordLineEdit"));
0041     QSignalSpy spy(&w, &ChannelPasswordWidget::updateOkButton);
0042     mPasswordLineEdit->setPassword(QStringLiteral("bla"));
0043     QVERIFY(spy.count() > 0);
0044     QVERIFY(spy.at(0).at(0).toBool());
0045     spy.clear();
0046     mPasswordLineEdit->setPassword({});
0047     QVERIFY(spy.count() > 0);
0048     QVERIFY(!spy.at(0).at(0).toBool());
0049 }
0050 
0051 #include "moc_channelpasswordwidgettest.cpp"