aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2015-06-04 08:14:39 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2015-06-04 08:14:39 +0200
commit350b0db6c8a51ee500d3ba2d40dd421f5cf86494 (patch)
tree79dc3e30d2e68682d58695858106d071af581827
parent01d4df5938e3617388b243a85021c8c1f32e9f1f (diff)
parentf2f506807bdd41795acaddc80430025fb9a62a7b (diff)
downloadqxmpp-350b0db6c8a51ee500d3ba2d40dd421f5cf86494.tar.gz
Merge branch 'LightZam-issue#56'
-rw-r--r--src/base/QXmppPubSubIq.cpp2
-rw-r--r--tests/qxmpppubsubiq/tst_qxmpppubsubiq.cpp30
2 files changed, 32 insertions, 0 deletions
diff --git a/src/base/QXmppPubSubIq.cpp b/src/base/QXmppPubSubIq.cpp
index 5560a1b3..3f311e9c 100644
--- a/src/base/QXmppPubSubIq.cpp
+++ b/src/base/QXmppPubSubIq.cpp
@@ -208,6 +208,7 @@ void QXmppPubSubIq::parseElementFromChild(const QDomElement &element)
{
case QXmppPubSubIq::ItemsQuery:
case QXmppPubSubIq::PublishQuery:
+ case QXmppPubSubIq::RetractQuery:
childElement = queryElement.firstChildElement("item");
while (!childElement.isNull())
{
@@ -241,6 +242,7 @@ void QXmppPubSubIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
{
case QXmppPubSubIq::ItemsQuery:
case QXmppPubSubIq::PublishQuery:
+ case QXmppPubSubIq::RetractQuery:
foreach (const QXmppPubSubItem &item, m_items)
item.toXml(writer);
break;
diff --git a/tests/qxmpppubsubiq/tst_qxmpppubsubiq.cpp b/tests/qxmpppubsubiq/tst_qxmpppubsubiq.cpp
index 999efc59..d3065f2a 100644
--- a/tests/qxmpppubsubiq/tst_qxmpppubsubiq.cpp
+++ b/tests/qxmpppubsubiq/tst_qxmpppubsubiq.cpp
@@ -33,6 +33,7 @@ private slots:
void testItems();
void testItemsResponse();
void testPublish();
+ void testRetractItem();
void testSubscribe();
void testSubscription();
void testSubscriptions();
@@ -135,6 +136,35 @@ void tst_QXmppPubSubIq::testPublish()
serializePacket(iq, xml);
}
+void tst_QXmppPubSubIq::testRetractItem()
+{
+ const QByteArray xml(
+ "<iq"
+ " id=\"retract1\""
+ " to=\"pubsub.shakespeare.lit\""
+ " from=\"hamlet@denmark.lit/elsinore\""
+ " type=\"set\">"
+ "<pubsub xmlns=\"http://jabber.org/protocol/pubsub\">"
+ "<retract node=\"princely_musings\">"
+ "<item id=\"ae890ac52d0df67ed7cfdf51b644e901\"/>"
+ "</retract>"
+ "</pubsub>"
+ "</iq>");
+
+ QXmppPubSubIq iq;
+ parsePacket(iq, xml);
+ QCOMPARE(iq.id(), QString("retract1"));
+ QCOMPARE(iq.to(), QLatin1String("pubsub.shakespeare.lit"));
+ QCOMPARE(iq.from(), QLatin1String("hamlet@denmark.lit/elsinore"));
+ QCOMPARE(iq.type(), QXmppIq::Set);
+ QCOMPARE(iq.queryType(), QXmppPubSubIq::RetractQuery);
+ QCOMPARE(iq.queryJid(), QString());
+ QCOMPARE(iq.queryNode(), QLatin1String("princely_musings"));
+ QCOMPARE(iq.items().size(), 1);
+ QCOMPARE(iq.items().at(0).id(), QString("ae890ac52d0df67ed7cfdf51b644e901"));
+ serializePacket(iq, xml);
+}
+
void tst_QXmppPubSubIq::testSubscribe()
{
const QByteArray xml(