diff options
| author | Linus Jahn <lnj@kaidan.im> | 2019-01-05 13:18:45 +0100 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2019-05-01 10:24:51 +0200 |
| commit | c0412e29545c109e3473b38dbeba4e17514a7b05 (patch) | |
| tree | 9c6d10d44198a6e06312899fffe42d3f7a183251 /tests | |
| parent | f8fc440ef424dec4e465eb6a57eadb734f43da59 (diff) | |
| download | qxmpp-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.cpp | 28 |
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" |
