File indexing completed on 2024-05-26 05:05:54

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 "messagemaximumsizewidgettest.h"
0008 #include "messagemaximumsizedialog/messagemaximumsizewidget.h"
0009 #include <QFormLayout>
0010 #include <QLineEdit>
0011 #include <QSignalSpy>
0012 #include <QTest>
0013 QTEST_MAIN(MessageMaximumSizeWidgetTest)
0014 MessageMaximumSizeWidgetTest::MessageMaximumSizeWidgetTest(QObject *parent)
0015     : QObject{parent}
0016 {
0017 }
0018 
0019 void MessageMaximumSizeWidgetTest::shouldHaveDefaultValues()
0020 {
0021     MessageMaximumSizeWidget d;
0022 
0023     auto mainLayout = d.findChild<QFormLayout *>(QStringLiteral("mainLayout"));
0024     QVERIFY(mainLayout);
0025     QCOMPARE(mainLayout->contentsMargins(), QMargins{});
0026 
0027     auto mFileName = d.findChild<QLineEdit *>(QStringLiteral("mFileName"));
0028     QVERIFY(mFileName);
0029     QVERIFY(mFileName->text().isEmpty());
0030 
0031     auto mDescription = d.findChild<QLineEdit *>(QStringLiteral("mDescription"));
0032     QVERIFY(mDescription);
0033     QVERIFY(mDescription->text().isEmpty());
0034 
0035     QVERIFY(d.description().isEmpty());
0036     QVERIFY(d.fileName().isEmpty());
0037 }
0038 
0039 void MessageMaximumSizeWidgetTest::shouldEmitSignal()
0040 {
0041     MessageMaximumSizeWidget d;
0042     QSignalSpy spyUpdateButton(&d, &MessageMaximumSizeWidget::updateOkButton);
0043     auto mFileName = d.findChild<QLineEdit *>(QStringLiteral("mFileName"));
0044     auto mDescription = d.findChild<QLineEdit *>(QStringLiteral("mDescription"));
0045     mFileName->setText(QStringLiteral("foo"));
0046     QCOMPARE(spyUpdateButton.count(), 1);
0047     QVERIFY(!spyUpdateButton.at(0).at(0).toBool());
0048 
0049     spyUpdateButton.clear();
0050     mDescription->setText(QStringLiteral("bla"));
0051     QCOMPARE(spyUpdateButton.count(), 1);
0052     QVERIFY(spyUpdateButton.at(0).at(0).toBool());
0053 
0054     // an empty text
0055     spyUpdateButton.clear();
0056     mDescription->setText({});
0057     QCOMPARE(spyUpdateButton.count(), 1);
0058     QVERIFY(!spyUpdateButton.at(0).at(0).toBool());
0059 
0060     // a trimmed text empty
0061     spyUpdateButton.clear();
0062     mDescription->setText(QStringLiteral(" "));
0063     QCOMPARE(spyUpdateButton.count(), 1);
0064     QVERIFY(!spyUpdateButton.at(0).at(0).toBool());
0065 
0066     spyUpdateButton.clear();
0067     mFileName->setText(QStringLiteral(" "));
0068     QCOMPARE(spyUpdateButton.count(), 1);
0069     QVERIFY(!spyUpdateButton.at(0).at(0).toBool());
0070 }
0071 
0072 #include "moc_messagemaximumsizewidgettest.cpp"