File: testpersonimpl.cpp

package info (click to toggle)
syndication 1%3A5.116.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,072 kB
  • sloc: xml: 14,780; cpp: 9,693; ruby: 60; makefile: 7
file content (86 lines) | stat: -rw-r--r-- 3,298 bytes parent folder | download | duplicates (3)
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:&amp;#111;&amp;#110;&amp;#97;&amp;#104;&amp;#108;&amp;#109;&amp;#97;&amp;#110;&amp;#110;&amp;#64;&amp;#103;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#46;&amp;#99;&amp;#111;&amp;#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"