File indexing completed on 2024-05-12 05:17:29

0001 /*
0002     SPDX-FileCopyrightText: 2019 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include <KItinerary/DocumentUtil>
0008 #include <KItinerary/Reservation>
0009 
0010 #include <QObject>
0011 #include <QTest>
0012 #include <QVariant>
0013 
0014 using namespace KItinerary;
0015 
0016 class DocumentUtilTest : public QObject
0017 {
0018     Q_OBJECT
0019 private Q_SLOTS:
0020     void testDocIdUtils()
0021     {
0022         QByteArray docData("%PDF123456");
0023         const auto docId = DocumentUtil::idForContent(docData);
0024         QVERIFY(!docId.isEmpty());
0025         QCOMPARE(docId, DocumentUtil::idForContent(docData));
0026 
0027         FlightReservation flight;
0028         flight.setSubjectOf(QVariantList{QStringLiteral("someOtherId")});
0029         QVariant res(flight);
0030 
0031         QVERIFY(DocumentUtil::addDocumentId(res, docId));
0032         QVERIFY(!DocumentUtil::addDocumentId(res, docId));
0033         QCOMPARE(res.value<FlightReservation>().subjectOf().size(), 2);
0034         QVERIFY(res.value<FlightReservation>().subjectOf().contains(docId));
0035 
0036         QVERIFY(DocumentUtil::removeDocumentId(res, docId));
0037         QVERIFY(!DocumentUtil::removeDocumentId(res, docId));
0038         QCOMPARE(res.value<FlightReservation>(), flight);
0039     }
0040 };
0041 
0042 QTEST_APPLESS_MAIN(DocumentUtilTest)
0043 
0044 #include "documentutiltest.moc"