File indexing completed on 2025-02-16 04:55:55

0001 /*
0002    SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "sievedatespinboxtest.h"
0008 #include "autocreatescripts/sieveconditions/widgets/sievedatespinbox.h"
0009 
0010 #include <QTest>
0011 
0012 SieveDateSpinBoxTest::SieveDateSpinBoxTest(QObject *parent)
0013     : QObject(parent)
0014 {
0015 }
0016 
0017 void SieveDateSpinBoxTest::shouldHaveDefaultValue()
0018 {
0019     KSieveUi::SieveDateSpinBox spinbox;
0020     QCOMPARE(spinbox.specialValueText(), QLatin1StringView("*"));
0021 }
0022 
0023 void SieveDateSpinBoxTest::shouldAssignValue_data()
0024 {
0025     QTest::addColumn<QString>("input");
0026     QTest::addColumn<QString>("output");
0027     QTest::addColumn<KSieveUi::SelectDateWidget::DateType>("type");
0028     // Year
0029     QTest::newRow("empty") << QString() << QStringLiteral("0000") << KSieveUi::SelectDateWidget::Year;
0030     QTest::newRow("year-1") << QStringLiteral("1") << QStringLiteral("0001") << KSieveUi::SelectDateWidget::Year;
0031     QTest::newRow("year-*") << QStringLiteral("*") << QStringLiteral("*") << KSieveUi::SelectDateWidget::Year;
0032     QTest::newRow("year-500") << QStringLiteral("500") << QStringLiteral("0500") << KSieveUi::SelectDateWidget::Year;
0033 
0034     // Month
0035     QTest::newRow("month-1") << QStringLiteral("1") << QStringLiteral("01") << KSieveUi::SelectDateWidget::Month;
0036     QTest::newRow("month-*") << QStringLiteral("*") << QStringLiteral("*") << KSieveUi::SelectDateWidget::Month;
0037     QTest::newRow("month-500") << QStringLiteral("500") << QStringLiteral("12") << KSieveUi::SelectDateWidget::Month;
0038 
0039     // Second
0040     QTest::newRow("second-1") << QStringLiteral("1") << QStringLiteral("01") << KSieveUi::SelectDateWidget::Second;
0041     QTest::newRow("second-*") << QStringLiteral("*") << QStringLiteral("*") << KSieveUi::SelectDateWidget::Second;
0042     QTest::newRow("second-500") << QStringLiteral("500") << QStringLiteral("59") << KSieveUi::SelectDateWidget::Second;
0043 }
0044 
0045 void SieveDateSpinBoxTest::shouldAssignValue()
0046 {
0047     QFETCH(QString, input);
0048     QFETCH(QString, output);
0049     QFETCH(KSieveUi::SelectDateWidget::DateType, type);
0050     KSieveUi::SieveDateSpinBox spinbox;
0051     spinbox.setType(type);
0052     spinbox.setCode(input);
0053     QCOMPARE(spinbox.code(), output);
0054 }
0055 
0056 QTEST_MAIN(SieveDateSpinBoxTest)
0057 
0058 #include "moc_sievedatespinboxtest.cpp"