diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/qxmppdiscoverymanager/tst_qxmppdiscoverymanager.cpp | 16 | ||||
| -rw-r--r-- | tests/util.h | 6 |
2 files changed, 20 insertions, 2 deletions
diff --git a/tests/qxmppdiscoverymanager/tst_qxmppdiscoverymanager.cpp b/tests/qxmppdiscoverymanager/tst_qxmppdiscoverymanager.cpp index 7c26c6f6..74676425 100644 --- a/tests/qxmppdiscoverymanager/tst_qxmppdiscoverymanager.cpp +++ b/tests/qxmppdiscoverymanager/tst_qxmppdiscoverymanager.cpp @@ -12,6 +12,7 @@ class tst_QXmppDiscoveryManager : public QObject private: Q_SLOT void testInfo(); Q_SLOT void testItems(); + Q_SLOT void testRequests(); }; void tst_QXmppDiscoveryManager::testInfo() @@ -44,7 +45,6 @@ void tst_QXmppDiscoveryManager::testItems() auto future = discoManager->requestDiscoItems("user@example.org"); test.expect("<iq id='qxmpp1' to='user@example.org' type='get'><query xmlns='http://jabber.org/protocol/disco#items'/></iq>"); - qDebug() << "Moin"; test.inject<QString>(R"( <iq type='result' from='user@example.org' @@ -67,6 +67,20 @@ void tst_QXmppDiscoveryManager::testItems() QCOMPARE(items.at(3).name(), QStringLiteral("ae890ac52d0df67ed7cfdf51b644e901")); } +void tst_QXmppDiscoveryManager::testRequests() +{ + TestClient test; + test.configuration().setJid("user@qxmpp.org/a"); + auto *discoManager = test.addNewExtension<QXmppDiscoveryManager>(); + + discoManager->handleStanza(xmlToDom(R"( +<iq type='get' from='romeo@montague.net/orchard' to='user@qxmpp.org/a' id='info1'> + <query xmlns='http://jabber.org/protocol/disco#info'/> +</iq>)")); + + test.expect("<iq id='info1' to='romeo@montague.net/orchard' type='result'><query xmlns='http://jabber.org/protocol/disco#info'><identity category='client' name='tst_qxmppdiscoverymanager ' type='pc'/><feature var='jabber:x:data'/><feature var='http://jabber.org/protocol/rsm'/><feature var='jabber:x:oob'/><feature var='http://jabber.org/protocol/xhtml-im'/><feature var='http://jabber.org/protocol/chatstates'/><feature var='http://jabber.org/protocol/caps'/><feature var='urn:xmpp:ping'/><feature var='jabber:x:conference'/><feature var='urn:xmpp:message-correct:0'/><feature var='urn:xmpp:chat-markers:0'/><feature var='urn:xmpp:hints'/><feature var='urn:xmpp:sid:0'/><feature var='urn:xmpp:message-attaching:1'/><feature var='urn:xmpp:eme:0'/><feature var='urn:xmpp:spoiler:0'/><feature var='urn:xmpp:fallback:0'/><feature var='urn:xmpp:reactions:0'/><feature var='http://jabber.org/protocol/disco#info'/></query></iq>"); +} + QTEST_MAIN(tst_QXmppDiscoveryManager) #include "tst_qxmppdiscoverymanager.moc" diff --git a/tests/util.h b/tests/util.h index e0d30aa5..17f2c792 100644 --- a/tests/util.h +++ b/tests/util.h @@ -25,7 +25,11 @@ template<typename String> inline QDomElement xmlToDom(const String &xml) { QDomDocument doc; - QVERIFY_RV(doc.setContent(xml, true), "XML is not valid"); + if constexpr (std::is_same_v<String, QString> || std::is_same_v<String, QByteArray>) { + QVERIFY_RV(doc.setContent(xml, true), "XML is not valid"); + } else { + QVERIFY_RV(doc.setContent(QString(xml), true), "XML is not valid"); + } return doc.documentElement(); } |
