File indexing completed on 2024-04-28 09:12:07
0001 /* 0002 SPDX-FileCopyrightText: 2015 Albert Astals Cid <aacid@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "parsedatetimetest.h" 0008 0009 #include <QTest> 0010 0011 #include <kmime_header_parsing.h> 0012 0013 using namespace KMime; 0014 0015 QTEST_MAIN(ParseDateTimeTest) 0016 0017 void ParseDateTimeTest::testParseDateTime_data() 0018 { 0019 QTest::addColumn<QByteArray>("input"); 0020 QTest::addColumn<QDateTime>("expResult"); 0021 0022 QTest::newRow("1") 0023 << QByteArray("Sat, 25 Apr 2015 12:10:48 +0000") 0024 << QDateTime(QDateTime::fromString(QStringLiteral("2015-04-25T12:10:48+00:00"), Qt::ISODate)); 0025 QTest::newRow("2") 0026 << QByteArray("Fri, 24 Apr 2015 10:22:42 +0200") 0027 << QDateTime(QDateTime::fromString(QStringLiteral("2015-04-24T10:22:42+02:00"), Qt::ISODate)); 0028 QTest::newRow("3") 0029 << QByteArray("Thu, 23 Apr 2015 21:43:32 -0300") 0030 << QDateTime(QDateTime::fromString(QStringLiteral("2015-04-23T21:43:32-03:00"), Qt::ISODate)); 0031 QTest::newRow("4") 0032 << QByteArray("Fri 24 Apr 2015 10:39:15 +0200") 0033 << QDateTime(QDateTime::fromString(QStringLiteral("2015-04-24T10:39:15+02:00"), Qt::ISODate)); 0034 QTest::newRow("5") 0035 << QByteArray("Fri 24 Apr 2015 10:39:15 +02:00") 0036 << QDateTime(QDateTime::fromString(QStringLiteral("2015-04-24T10:39:15+02:00"), Qt::ISODate)); 0037 QTest::newRow("6") 0038 << QByteArray("Fri 24 Apr 2015 10:39:15 +02:23") 0039 << QDateTime(QDateTime::fromString(QStringLiteral("2015-04-24T10:39:15+02:23"), Qt::ISODate)); 0040 QTest::newRow("7") 0041 << QByteArray("Fri 24 Apr 2015 10:39:15 +02a") 0042 << QDateTime(); 0043 QTest::newRow("8") 0044 << QByteArray("Fri 24 Apr 2015 10:39:15 +02:") 0045 << QDateTime(); 0046 QTest::newRow("9") 0047 << QByteArray("Fri 24 Apr 2015 10:39:15 +02:af") 0048 << QDateTime(); 0049 QTest::newRow("10") 0050 << QByteArray("Fri 24 Apr 2015 10:39:15 +in:af") 0051 << QDateTime(); 0052 } 0053 0054 void ParseDateTimeTest::testParseDateTime() 0055 { 0056 QFETCH(QByteArray, input); 0057 QFETCH(QDateTime, expResult); 0058 0059 QDateTime result; 0060 const char *scursor = input.constData(); 0061 const char *send = input.constData() + input.length(); 0062 0063 const bool success = KMime::HeaderParsing::parseDateTime(scursor, send, result, false); 0064 QCOMPARE(success, !result.isNull()); 0065 QCOMPARE(result, expResult); 0066 } 0067 0068 0069 #include "moc_parsedatetimetest.cpp"