aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2020-02-11 10:56:00 +0100
committerLNJ <lnj@kaidan.im>2020-02-11 16:20:08 +0100
commit776f028d9f3f51e9dbba834a01d1decd737c4a27 (patch)
tree6ea444c840812d001ea2f259ae50c0aa38c50fdd /tests
parentf583f1a71459f413f9f869b8f1616722054dbea8 (diff)
downloadqxmpp-776f028d9f3f51e9dbba834a01d1decd737c4a27.tar.gz
Implement XEP-0359: Unique and Stable Stanza IDs
This adds support of XEP-0359: Unique and Stable Stanza IDs in version 0.6.0.
Diffstat (limited to 'tests')
-rw-r--r--tests/qxmppmessage/tst_qxmppmessage.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/qxmppmessage/tst_qxmppmessage.cpp b/tests/qxmppmessage/tst_qxmppmessage.cpp
index 84e9f5fe..147b0c22 100644
--- a/tests/qxmppmessage/tst_qxmppmessage.cpp
+++ b/tests/qxmppmessage/tst_qxmppmessage.cpp
@@ -60,6 +60,7 @@ private slots:
void testProcessingHints();
void testBobData();
void testFallbackIndication();
+ void testStanzaIds();
};
void tst_QXmppMessage::testBasic_data()
@@ -133,6 +134,9 @@ void tst_QXmppMessage::testBasic()
QVERIFY(!message.hasHint(QXmppMessage::Store));
QCOMPARE(message.bitsOfBinaryData(), QXmppBitsOfBinaryDataList());
QVERIFY(!message.isFallback());
+ QVERIFY(message.stanzaId().isNull());
+ QVERIFY(message.stanzaIdBy().isNull());
+ QVERIFY(message.originId().isNull());
message = QXmppMessage();
message.setTo(QStringLiteral("foo@example.com/QXmpp"));
@@ -985,5 +989,27 @@ void tst_QXmppMessage::testFallbackIndication()
serializePacket(message2, xml);
}
+void tst_QXmppMessage::testStanzaIds()
+{
+ const QByteArray xml = QByteArrayLiteral(
+ "<message type=\"chat\">"
+ "<stanza-id xmlns=\"urn:xmpp:sid:0\" id=\"1236\" by=\"server.tld\"/>"
+ "<origin-id xmlns=\"urn:xmpp:sid:0\" id=\"5678\"/>"
+ "</message>");
+
+ QXmppMessage msg;
+ parsePacket(msg, xml);
+ QCOMPARE(msg.stanzaId(), QStringLiteral("1236"));
+ QCOMPARE(msg.stanzaIdBy(), QStringLiteral("server.tld"));
+ QCOMPARE(msg.originId(), QStringLiteral("5678"));
+ serializePacket(msg, xml);
+
+ QXmppMessage msg2;
+ msg2.setStanzaId(QStringLiteral("1236"));
+ msg2.setStanzaIdBy(QStringLiteral("server.tld"));
+ msg2.setOriginId(QStringLiteral("5678"));
+ serializePacket(msg2, xml);
+}
+
QTEST_MAIN(tst_QXmppMessage)
#include "tst_qxmppmessage.moc"