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"