File indexing completed on 2025-02-16 04:45:49

0001 /*
0002     This file is part of Akonadi Contact.
0003 
0004     SPDX-FileCopyrightText: 2009 Tobias Koenig <tokoe@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "contactmetadataattributetest.h"
0010 
0011 #include "attributes/contactmetadataattribute_p.h"
0012 
0013 #include <QTest>
0014 
0015 QTEST_MAIN(ContactMetaDataAttributeTest)
0016 
0017 static QVariantMap testData()
0018 {
0019     QVariantMap data;
0020     data.insert(QStringLiteral("key1"), QStringLiteral("value1"));
0021     data.insert(QStringLiteral("key2"), QStringLiteral("value2"));
0022 
0023     return data;
0024 }
0025 
0026 void ContactMetaDataAttributeTest::type()
0027 {
0028     Akonadi::ContactMetaDataAttribute attribute;
0029 
0030     QVERIFY(attribute.type() == "contactmetadata");
0031 }
0032 
0033 void ContactMetaDataAttributeTest::clone()
0034 {
0035     const QVariantMap content1 = testData();
0036 
0037     Akonadi::ContactMetaDataAttribute attribute1;
0038     attribute1.setMetaData(content1);
0039 
0040     auto attribute2 = static_cast<Akonadi::ContactMetaDataAttribute *>(attribute1.clone());
0041     const QVariantMap content2 = attribute2->metaData();
0042 
0043     QVERIFY(content1 == content2);
0044     delete attribute2;
0045 }
0046 
0047 void ContactMetaDataAttributeTest::serialization()
0048 {
0049     const QVariantMap content1 = testData();
0050 
0051     Akonadi::ContactMetaDataAttribute attribute1;
0052     attribute1.setMetaData(content1);
0053 
0054     const QByteArray data = attribute1.serialized();
0055 
0056     Akonadi::ContactMetaDataAttribute attribute2;
0057     attribute2.deserialize(data);
0058 
0059     const QVariantMap content2 = attribute2.metaData();
0060 
0061     QVERIFY(content1 == content2);
0062 }
0063 
0064 #include "moc_contactmetadataattributetest.cpp"