File indexing completed on 2024-12-01 04:35:26
0001 /* 0002 SPDX-FileCopyrightText: 2018-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "otrtest.h" 0008 #include "otr/otr.h" 0009 #include "ruqola_autotest_helper.h" 0010 #include <QJsonDocument> 0011 #include <QJsonObject> 0012 0013 QTEST_GUILESS_MAIN(OtrTest) 0014 0015 OtrTest::OtrTest(QObject *parent) 0016 : QObject(parent) 0017 { 0018 } 0019 0020 void OtrTest::shouldHaveDefaultValue() 0021 { 0022 Otr t; 0023 QVERIFY(t.roomId().isEmpty()); 0024 QVERIFY(t.userId().isEmpty()); 0025 QCOMPARE(t.type(), Otr::OtrType::Unknown); 0026 QVERIFY(!t.isValid()); 0027 } 0028 0029 void OtrTest::shouldParseOtr_data() 0030 { 0031 QTest::addColumn<QString>("fileName"); 0032 QTest::addColumn<Otr::OtrType>("otrtype"); 0033 QTest::newRow("otrend") << QStringLiteral("otrend") << Otr::End; 0034 QTest::newRow("otrbegin") << QStringLiteral("otrbegin") << Otr::Handshake; 0035 } 0036 0037 void OtrTest::shouldParseOtr() 0038 { 0039 QFETCH(QString, fileName); 0040 QFETCH(Otr::OtrType, otrtype); 0041 const QString originalJsonFile = QLatin1String(RUQOLA_DATA_DIR) + QLatin1String("/json/") + fileName + QLatin1String(".json"); 0042 QFile f(originalJsonFile); 0043 QVERIFY(f.open(QIODevice::ReadOnly)); 0044 const QByteArray content = f.readAll(); 0045 f.close(); 0046 const QJsonDocument doc = QJsonDocument::fromJson(content); 0047 const QJsonObject fields = doc.object().value(QLatin1String("fields")).toObject(); 0048 const QJsonArray contents = fields.value(QLatin1String("args")).toArray(); 0049 0050 Otr otr; 0051 otr.parseOtr(contents); 0052 QVERIFY(otr.isValid()); 0053 QCOMPARE(otr.type(), otrtype); 0054 // TODO 0055 } 0056 0057 #include "moc_otrtest.cpp"