aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2019-01-05 13:18:45 +0100
committerJeremy Lainé <jeremy.laine@m4x.org>2019-05-01 10:24:51 +0200
commitc0412e29545c109e3473b38dbeba4e17514a7b05 (patch)
tree9c6d10d44198a6e06312899fffe42d3f7a183251 /tests
parentf8fc440ef424dec4e465eb6a57eadb734f43da59 (diff)
downloadqxmpp-c0412e29545c109e3473b38dbeba4e17514a7b05.tar.gz
Implement MIX-PAM XEP-0405: Presence extension
This implements the new presence extension defined by XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements in version 0.4.0. https://xmpp.org/extensions/xep-0405.html#usecase-user-presence-receive
Diffstat (limited to 'tests')
-rw-r--r--tests/qxmpppresence/tst_qxmpppresence.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/qxmpppresence/tst_qxmpppresence.cpp b/tests/qxmpppresence/tst_qxmpppresence.cpp
index af144f26..4144467a 100644
--- a/tests/qxmpppresence/tst_qxmpppresence.cpp
+++ b/tests/qxmpppresence/tst_qxmpppresence.cpp
@@ -42,6 +42,7 @@ private slots:
void testPresenceWithMucPassword();
void testPresenceWithMucSupport();
void testPresenceWithLastUserInteraction();
+ void testPresenceWithMix();
};
void tst_QXmppPresence::testPresence_data()
@@ -254,5 +255,32 @@ void tst_QXmppPresence::testPresenceWithLastUserInteraction()
QCOMPARE(presence.lastUserInteraction(), another);
}
+void tst_QXmppPresence::testPresenceWithMix()
+{
+ const QByteArray xml(
+ "<presence to=\"hag99@shakespeare.example\" "
+ "from=\"123435#coven@mix.shakespeare.example/UUID-a1j/7533\">"
+ "<show>dnd</show>"
+ "<status>Making a Brew</status>"
+ "<mix xmlns=\"urn:xmpp:presence:0\">"
+ "<jid>hecate@shakespeare.example/UUID-x4r/2491</jid>"
+ "<nick>thirdwitch</nick>"
+ "</mix>"
+ "</presence>"
+ );
+
+ QXmppPresence presence;
+ parsePacket(presence, xml);
+
+ QCOMPARE(presence.mixUserJid(), QString("hecate@shakespeare.example/UUID-x4r/2491"));
+ QCOMPARE(presence.mixUserNick(), QString("thirdwitch"));
+ serializePacket(presence, xml);
+
+ presence.setMixUserJid("alexander@example.org");
+ QCOMPARE(presence.mixUserJid(), QString("alexander@example.org"));
+ presence.setMixUserNick("erik");
+ QCOMPARE(presence.mixUserNick(), QString("erik"));
+}
+
QTEST_MAIN(tst_QXmppPresence)
#include "tst_qxmpppresence.moc"