aboutsummaryrefslogtreecommitdiff
path: root/tests/qxmppmessage/tst_qxmppmessage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/qxmppmessage/tst_qxmppmessage.cpp')
-rw-r--r--tests/qxmppmessage/tst_qxmppmessage.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/qxmppmessage/tst_qxmppmessage.cpp b/tests/qxmppmessage/tst_qxmppmessage.cpp
index 5fe4b964..a57ffab2 100644
--- a/tests/qxmppmessage/tst_qxmppmessage.cpp
+++ b/tests/qxmppmessage/tst_qxmppmessage.cpp
@@ -52,6 +52,7 @@ private slots:
void testMix();
void testEme();
void testSpoiler();
+ void testProcessingHints();
};
void tst_QXmppMessage::testBasic_data()
@@ -117,6 +118,10 @@ void tst_QXmppMessage::testBasic()
QCOMPARE(message.xhtml(), QString());
QCOMPARE(message.encryptionMethod(), QXmppMessage::NoEncryption);
QVERIFY(!message.isSpoiler());
+ QVERIFY(!message.hasHint(QXmppMessage::NoPermanentStore));
+ QVERIFY(!message.hasHint(QXmppMessage::NoStore));
+ QVERIFY(!message.hasHint(QXmppMessage::NoCopy));
+ QVERIFY(!message.hasHint(QXmppMessage::Store));
serializePacket(message, xml);
}
@@ -748,5 +753,51 @@ void tst_QXmppMessage::testSpoiler()
QVERIFY(message.isSpoiler());
}
+void tst_QXmppMessage::testProcessingHints()
+{
+ const QByteArray xml(
+ "<message to=\"juliet@capulet.lit/laptop\" "
+ "from=\"romeo@montague.lit/laptop\" "
+ "type=\"chat\">"
+ "<body>V unir avtug'f pybnx gb uvqr zr sebz gurve fvtug</body>"
+ "<no-permanent-store xmlns=\"urn:xmpp:hints\"/>"
+ "<no-store xmlns=\"urn:xmpp:hints\"/>"
+ "<no-copy xmlns=\"urn:xmpp:hints\"/>"
+ "<store xmlns=\"urn:xmpp:hints\"/>"
+ "</message>"
+ );
+
+ // test parsing
+ QXmppMessage message;
+ parsePacket(message, xml);
+ QVERIFY(message.hasHint(QXmppMessage::NoPermanentStore));
+ QVERIFY(message.hasHint(QXmppMessage::NoStore));
+ QVERIFY(message.hasHint(QXmppMessage::NoCopy));
+ QVERIFY(message.hasHint(QXmppMessage::Store));
+
+ // test serialization
+ QXmppMessage message2;
+ message2.setType(QXmppMessage::Chat);
+ message2.setFrom(QString("romeo@montague.lit/laptop"));
+ message2.setTo(QString("juliet@capulet.lit/laptop"));
+ message2.setBody(QString("V unir avtug'f pybnx gb uvqr zr sebz gurve fvtug"));
+ message2.addHint(QXmppMessage::NoPermanentStore);
+ message2.addHint(QXmppMessage::NoStore);
+ message2.addHint(QXmppMessage::NoCopy);
+ message2.addHint(QXmppMessage::Store);
+ serializePacket(message2, xml);
+
+ // test remove hint
+ message2.removeHint(QXmppMessage::NoCopy);
+ QVERIFY(!message2.hasHint(QXmppMessage::NoCopy));
+
+ // test remove all hints
+ message2.removeAllHints();
+ QVERIFY(!message2.hasHint(QXmppMessage::NoPermanentStore));
+ QVERIFY(!message2.hasHint(QXmppMessage::NoStore));
+ QVERIFY(!message2.hasHint(QXmppMessage::NoCopy));
+ QVERIFY(!message2.hasHint(QXmppMessage::Store));
+}
+
QTEST_MAIN(tst_QXmppMessage)
#include "tst_qxmppmessage.moc"