File indexing completed on 2025-01-26 04:49:05
0001 /* 0002 SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "confirmaddresswidgettest.h" 0008 #include "../confirmaddresswidget.h" 0009 #include <QLabel> 0010 #include <QListWidget> 0011 #include <QStandardPaths> 0012 #include <QTest> 0013 #include <QVBoxLayout> 0014 0015 ConfirmAddressWidgetTest::ConfirmAddressWidgetTest(QObject *parent) 0016 : QObject(parent) 0017 { 0018 QStandardPaths::setTestModeEnabled(true); 0019 } 0020 0021 ConfirmAddressWidgetTest::~ConfirmAddressWidgetTest() = default; 0022 0023 void ConfirmAddressWidgetTest::shouldHaveDefaultValue() 0024 { 0025 ConfirmAddressWidget w; 0026 auto mainLayout = w.findChild<QVBoxLayout *>(QStringLiteral("mainlayout")); 0027 QVERIFY(mainLayout); 0028 QCOMPARE(mainLayout->contentsMargins(), QMargins()); 0029 0030 auto listEmails = w.findChild<QListWidget *>(QStringLiteral("listemails")); 0031 QVERIFY(listEmails); 0032 QCOMPARE(listEmails->count(), 0); 0033 0034 auto lab = w.findChild<QLabel *>(QStringLiteral("label")); 0035 QVERIFY(lab); 0036 QVERIFY(!lab->text().isEmpty()); 0037 } 0038 0039 void ConfirmAddressWidgetTest::shouldAddAddress() 0040 { 0041 ConfirmAddressWidget w; 0042 auto listEmails = w.findChild<QListWidget *>(QStringLiteral("listemails")); 0043 const QStringList lst{QStringLiteral("foo"), QStringLiteral("bla"), QStringLiteral("blo")}; 0044 w.setValidAddresses(lst); 0045 QCOMPARE(listEmails->count(), lst.count()); 0046 } 0047 0048 void ConfirmAddressWidgetTest::shouldAddValidAndInvalidAddresses() 0049 { 0050 ConfirmAddressWidget w; 0051 auto listEmails = w.findChild<QListWidget *>(QStringLiteral("listemails")); 0052 const QStringList lst{QStringLiteral("foo"), QStringLiteral("foo"), QStringLiteral("foo")}; 0053 w.setValidAddresses(lst); 0054 w.setInvalidAddresses(lst); 0055 QCOMPARE(listEmails->count(), lst.count() * 2); 0056 } 0057 0058 void ConfirmAddressWidgetTest::shouldHaveCheckableItem() 0059 { 0060 ConfirmAddressWidget w; 0061 auto listEmails = w.findChild<QListWidget *>(QStringLiteral("listemails")); 0062 const QStringList lst{QStringLiteral("foo"), QStringLiteral("foo"), QStringLiteral("foo")}; 0063 w.setValidAddresses(lst); 0064 for (int i = 0; i < listEmails->count(); ++i) { 0065 QListWidgetItem *item = listEmails->item(i); 0066 QCOMPARE(static_cast<bool>(item->flags() & Qt::ItemIsUserCheckable), false); 0067 } 0068 listEmails->clear(); 0069 w.setInvalidAddresses(lst); 0070 for (int i = 0; i < listEmails->count(); ++i) { 0071 QListWidgetItem *item = listEmails->item(i); 0072 QCOMPARE(static_cast<bool>(item->flags() & Qt::ItemIsUserCheckable), true); 0073 } 0074 } 0075 0076 void ConfirmAddressWidgetTest::shouldGetWhileListEmails() 0077 { 0078 ConfirmAddressWidget w; 0079 auto listEmails = w.findChild<QListWidget *>(QStringLiteral("listemails")); 0080 const QStringList validLst{QStringLiteral("foo"), QStringLiteral("foo"), QStringLiteral("foo")}; 0081 const QStringList invalidLst{QStringLiteral("boo"), QStringLiteral("boo2"), QStringLiteral("boo3")}; 0082 w.setValidAddresses(validLst); 0083 w.setInvalidAddresses(invalidLst); 0084 for (int i = 0; i < listEmails->count(); ++i) { 0085 QListWidgetItem *item = listEmails->item(i); 0086 if (item->flags() & Qt::ItemIsUserCheckable) { 0087 item->setCheckState(Qt::Checked); 0088 } 0089 } 0090 QCOMPARE(w.whiteListSelectedEmails(), invalidLst); 0091 } 0092 0093 QTEST_MAIN(ConfirmAddressWidgetTest) 0094 0095 #include "moc_confirmaddresswidgettest.cpp"