File indexing completed on 2024-04-21 05:18:10

0001 /*
0002   SPDX-FileCopyrightText: 2015 Volker Krause <vkrause@kde.org>
0003 
0004   SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "kmime_types.h"
0008 
0009 #include <QTest>
0010 #include <QObject>
0011 
0012 using namespace KMime;
0013 
0014 class TypesTest : public QObject
0015 {
0016     Q_OBJECT
0017 private Q_SLOTS:
0018 
0019     void testListParsing()
0020     {
0021         auto list = Types::Mailbox::listFrom7BitString("");
0022         QCOMPARE(list.size(), 0);
0023         list = Types::Mailbox::listFromUnicodeString(QString());
0024         QCOMPARE(list.size(), 0);
0025 
0026         list = Types::Mailbox::listFrom7BitString("Name <name@example.local>, Name 2 <name2@example.local>");
0027         QCOMPARE(list.size(), 2);
0028         QCOMPARE(list.at(0).name(), QStringLiteral("Name"));
0029         QCOMPARE(list.at(1).address(), QByteArray("name2@example.local"));
0030 
0031         list = Types::Mailbox::listFromUnicodeString(QStringLiteral("Name <name@example.local>, Name 2 <name2@example.local>"));
0032         QCOMPARE(list.size(), 2);
0033         QCOMPARE(list.at(0).name(), QStringLiteral("Name"));
0034         QCOMPARE(list.at(1).address(), QByteArray("name2@example.local"));
0035     }
0036 
0037     void testListToString()
0038     {
0039         QList<Types::Mailbox> mboxes;
0040         QCOMPARE(Types::Mailbox::listToUnicodeString(mboxes), QString());
0041 
0042         Types::Mailbox mbox;
0043         mbox.setAddress("name@example.local");
0044         mboxes.push_back(mbox);
0045         QCOMPARE(Types::Mailbox::listToUnicodeString(mboxes), QStringLiteral("name@example.local"));
0046 
0047         mbox.setName(QStringLiteral("First Last"));
0048         mboxes.push_back(mbox);
0049         QCOMPARE(Types::Mailbox::listToUnicodeString(mboxes), QStringLiteral("name@example.local, First Last <name@example.local>"));
0050     }
0051 };
0052 
0053 QTEST_MAIN(TypesTest)
0054 
0055 #include "typestest.moc"