1 /*
2 This file is part of the KContacts framework.
3 SPDX-FileCopyrightText: 2016-2019 Laurent Montel <montel@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7
8 #include "vcardlinetest.h"
9 #include "vcardline_p.h"
10 #include <QTest>
11
VCardLineTest(QObject * parent)12 VCardLineTest::VCardLineTest(QObject *parent)
13 : QObject(parent)
14 {
15 }
16
~VCardLineTest()17 VCardLineTest::~VCardLineTest()
18 {
19 }
20
shouldHaveDefaultValue()21 void VCardLineTest::shouldHaveDefaultValue()
22 {
23 KContacts::VCardLine line;
24 QVERIFY(line.identifier().isEmpty());
25 QVERIFY(line.group().isEmpty());
26 QVERIFY(line.parameterList().isEmpty());
27 QVERIFY(line.value().isNull());
28 }
29
shouldAssignValues()30 void VCardLineTest::shouldAssignValues()
31 {
32 KContacts::VCardLine line;
33 const QString identifier(QStringLiteral("foo"));
34 const QString group(QStringLiteral("bla"));
35 line.setIdentifier(identifier);
36 line.setGroup(group);
37 QMap<QString, QString> map;
38 for (int i = 0; i < 5; ++i) {
39 map.insert(QStringLiteral("foo%1").arg(i), QStringLiteral("bla%1").arg(i));
40 line.addParameter(QStringLiteral("foo%1").arg(i), QStringLiteral("bla%1").arg(i));
41 }
42 const QVariant valueVariant = QVariant(QStringLiteral("a"));
43 line.setValue(valueVariant);
44
45 QVERIFY(!line.parameterList().isEmpty());
46 QCOMPARE(line.parameterList(), QStringList() << map.keys());
47
48 QCOMPARE(line.identifier(), identifier);
49
50 QCOMPARE(line.group(), group);
51 QCOMPARE(line.value(), valueVariant);
52 }
53
shouldCopyValue()54 void VCardLineTest::shouldCopyValue()
55 {
56 KContacts::VCardLine line;
57 const QString identifier(QStringLiteral("foo"));
58 const QString group(QStringLiteral("bla"));
59 line.setIdentifier(identifier);
60 line.setGroup(group);
61 QMap<QString, QString> map;
62 for (int i = 0; i < 5; ++i) {
63 map.insert(QStringLiteral("foo%1").arg(i), QStringLiteral("bla%1").arg(i));
64 line.addParameter(QStringLiteral("foo%1").arg(i), QStringLiteral("bla%1").arg(i));
65 }
66 const QVariant valueVariant = QVariant(QStringLiteral("a"));
67 line.setValue(valueVariant);
68
69 QVERIFY(!line.parameterList().isEmpty());
70 QCOMPARE(line.parameterList(), QStringList() << map.keys());
71
72 QCOMPARE(line.identifier(), identifier);
73
74 QCOMPARE(line.group(), group);
75 QCOMPARE(line.value(), valueVariant);
76
77 KContacts::VCardLine copyLine(line);
78 QVERIFY(!copyLine.parameterList().isEmpty());
79 QCOMPARE(copyLine.parameterList(), QStringList() << map.keys());
80
81 QCOMPARE(copyLine.identifier(), identifier);
82
83 QCOMPARE(copyLine.group(), group);
84 QCOMPARE(copyLine.value(), valueVariant);
85 }
86
shouldEqualValue()87 void VCardLineTest::shouldEqualValue()
88 {
89 KContacts::VCardLine line;
90 const QString identifier(QStringLiteral("foo"));
91 const QString group(QStringLiteral("bla"));
92 line.setIdentifier(identifier);
93 line.setGroup(group);
94 QMap<QString, QString> map;
95 for (int i = 0; i < 5; ++i) {
96 map.insert(QStringLiteral("foo%1").arg(i), QStringLiteral("bla%1").arg(i));
97 line.addParameter(QStringLiteral("foo%1").arg(i), QStringLiteral("bla%1").arg(i));
98 }
99 const QVariant valueVariant = QVariant(QStringLiteral("a"));
100 line.setValue(valueVariant);
101
102 QVERIFY(!line.parameterList().isEmpty());
103 QCOMPARE(line.parameterList(), QStringList() << map.keys());
104
105 QCOMPARE(line.identifier(), identifier);
106
107 QCOMPARE(line.group(), group);
108 QCOMPARE(line.value(), valueVariant);
109
110 KContacts::VCardLine copyLine(line);
111 QVERIFY(line == copyLine);
112 }
113
114 QTEST_MAIN(VCardLineTest)
115