From 2ccc8d2d7033bb7180638ec8f980b904cfe3d686 Mon Sep 17 00:00:00 2001 From: Melvin Keskin Date: Thu, 2 Sep 2021 23:27:45 +0200 Subject: Add QXmppOmemoDeviceList MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Germán Márquez Mejía --- tests/qxmppomemodata/tst_qxmppomemodata.cpp | 62 +++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'tests') diff --git a/tests/qxmppomemodata/tst_qxmppomemodata.cpp b/tests/qxmppomemodata/tst_qxmppomemodata.cpp index 4084a8c7..23f65023 100644 --- a/tests/qxmppomemodata/tst_qxmppomemodata.cpp +++ b/tests/qxmppomemodata/tst_qxmppomemodata.cpp @@ -23,6 +23,7 @@ */ #include "QXmppOmemoDeviceElement.h" +#include "QXmppOmemoDeviceList.h" #include "util.h" #include @@ -36,6 +37,9 @@ private slots: void testIsOmemoDeviceElement(); void testOmemoDeviceElement_data(); void testOmemoDeviceElement(); + void testIsOmemoDeviceList_data(); + void testIsOmemoDeviceList(); + void testOmemoDeviceList(); }; void tst_QXmppOmemoData::testIsOmemoDeviceElement_data() @@ -101,5 +105,63 @@ void tst_QXmppOmemoData::testOmemoDeviceElement() serializePacket(deviceElement2, xml); } +void tst_QXmppOmemoData::testIsOmemoDeviceList_data() +{ + QTest::addColumn("xml"); + QTest::addColumn("isValid"); + + QTest::newRow("valid") + << QByteArrayLiteral("") + << true; + QTest::newRow("invalidTag") + << QByteArrayLiteral("") + << false; + QTest::newRow("invalidNamespace") + << QByteArrayLiteral("") + << false; +} + +void tst_QXmppOmemoData::testIsOmemoDeviceList() +{ + QFETCH(QByteArray, xml); + QFETCH(bool, isValid); + + QDomDocument doc; + QCOMPARE(doc.setContent(xml, true), true); + const QDomElement element = doc.documentElement(); + QCOMPARE(QXmppOmemoDeviceList::isOmemoDeviceList(element), isValid); +} + +void tst_QXmppOmemoData::testOmemoDeviceList() +{ + const QByteArray xml(QByteArrayLiteral( + "" + "" + "" + "")); + + QXmppOmemoDeviceElement deviceElement1; + deviceElement1.setId(12345); + + QXmppOmemoDeviceElement deviceElement2; + deviceElement2.setId(4223); + deviceElement2.setLabel(QStringLiteral("Gajim on Ubuntu Linux")); + + QXmppOmemoDeviceList deviceList1; + parsePacket(deviceList1, xml); + QCOMPARE(deviceList1.size(), 2); + QVERIFY(deviceList1.contains(deviceElement1)); + QVERIFY(deviceList1.contains(deviceElement2)); + serializePacket(deviceList1, xml); + + QXmppOmemoDeviceList deviceList2; + deviceList2.append(deviceElement1); + deviceList2.append(deviceElement2); + QCOMPARE(deviceList2.size(), 2); + QVERIFY(deviceList2.contains(deviceElement1)); + QVERIFY(deviceList2.contains(deviceElement2)); + serializePacket(deviceList2, xml); +} + QTEST_MAIN(tst_QXmppOmemoData) #include "tst_qxmppomemodata.moc" -- cgit v1.2.3