1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
/*
This file is part of the syndication library
SPDX-FileCopyrightText: 2006 Frank Osterfeld <osterfeld@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "testpersonimpl.h"
#include "person.h"
#include "personimpl.h"
#include "tools.h"
#include <QList>
#include <QString>
#include <QStringList>
using Syndication::Person;
using Syndication::PersonImpl;
using Syndication::PersonPtr;
void TestPersonImpl::fromString()
{
QStringList s;
QList<PersonPtr> p;
s.append(QString());
p.append(PersonPtr(new PersonImpl(QString(), QString(), QString())));
s.append(QLatin1String(""));
p.append(PersonPtr(new PersonImpl(QString(), QString(), QString())));
s.append(QStringLiteral("foo@bar.com"));
p.append(PersonPtr(new PersonImpl(QString(), QString(), QStringLiteral("foo@bar.com"))));
s.append(QStringLiteral("<foo@bar.com>"));
p.append(PersonPtr(new PersonImpl(QString(), QString(), QStringLiteral("foo@bar.com"))));
s.append(QStringLiteral("Foo"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("Foo"), QString(), QString())));
s.append(QStringLiteral("Foo M. Bar"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("Foo M. Bar"), QString(), QString())));
s.append(QStringLiteral("Foo <foo@bar.com>"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("Foo"), QString(), QStringLiteral("foo@bar.com"))));
s.append(QStringLiteral("Foo Bar <foo@bar.com>"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("Foo Bar"), QString(), QStringLiteral("foo@bar.com"))));
s.append(QStringLiteral("John Doe (President) <john@doe.com>"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("John Doe (President)"), QString(), QStringLiteral("john@doe.com"))));
s.append(QStringLiteral("John Doe (President)"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("John Doe (President)"), QString(), QString())));
s.append(QStringLiteral("John Doe (President)) <john@doe.com>"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("John Doe (President))"), QString(), QStringLiteral("john@doe.com"))));
s.append(QStringLiteral("(President) John Doe <john@doe.com>"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("(President) John Doe"), QString(), QStringLiteral("john@doe.com"))));
s.append(QStringLiteral("<foo@bar.com> (Foo Bar)"));
p.append(PersonPtr(new PersonImpl(QStringLiteral("Foo Bar"), QString(), QStringLiteral("foo@bar.com"))));
// s.append("OnAhlmann(mailto:&#111;&#110;&#97;&#104;&#108;&#109;&#97;&#110;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;)");
// p.append(PersonPtr(new PersonImpl("OnAhlmann", QString(), "onahlmann@gmail.com")));
QList<PersonPtr> q;
QStringList::ConstIterator it = s.constBegin();
QStringList::ConstIterator end = s.constEnd();
QList<PersonPtr>::ConstIterator pit = p.constBegin();
while (it != end) {
PersonPtr q(Syndication::personFromString(*it));
QCOMPARE(q->name(), (*pit)->name());
QCOMPARE(q->email(), (*pit)->email());
QCOMPARE(q->uri(), (*pit)->uri());
++it;
++pit;
}
}
QTEST_MAIN(TestPersonImpl)
#include "moc_testpersonimpl.cpp"
|