From 782b7f3e1199d867d7262ae3e6cf08aea9ad0624 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Tue, 29 Jun 2010 13:39:11 +0000 Subject: cleanup & test more IQ handling --- source/tests.cpp | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 2 deletions(-) (limited to 'source/tests.cpp') diff --git a/source/tests.cpp b/source/tests.cpp index 4a54a691..3d99bf99 100644 --- a/source/tests.cpp +++ b/source/tests.cpp @@ -28,8 +28,10 @@ #include #include +#include "QXmppBind.h" #include "QXmppMessage.h" #include "QXmppPresence.h" +#include "QXmppSession.h" #include "tests.h" static void parsePacket(QXmppPacket &packet, const QByteArray &xml) @@ -51,6 +53,58 @@ static void serializePacket(QXmppPacket &packet, const QByteArray &xml) QCOMPARE(buffer.data(), xml); } +void TestPackets::testBindNoResource() +{ + const QByteArray xml( + "" + "" + ""); + + QXmppBind bind; + parsePacket(bind, xml); + QCOMPARE(bind.type(), QXmppIq::Set); + QCOMPARE(bind.id(), QString("bind_1")); + QCOMPARE(bind.jid(), QString()); + QCOMPARE(bind.resource(), QString()); + serializePacket(bind, xml); +} + +void TestPackets::testBindResource() +{ + const QByteArray xml( + "" + "" + "someresource" + "" + ""); + + QXmppBind bind; + parsePacket(bind, xml); + QCOMPARE(bind.type(), QXmppIq::Set); + QCOMPARE(bind.id(), QString("bind_2")); + QCOMPARE(bind.jid(), QString()); + QCOMPARE(bind.resource(), QString("someresource")); + serializePacket(bind, xml); +} + +void TestPackets::testBindResult() +{ + const QByteArray xml( + "" + "" + "somenode@example.com/someresource" + "" + ""); + + QXmppBind bind; + parsePacket(bind, xml); + QCOMPARE(bind.type(), QXmppIq::Result); + QCOMPARE(bind.id(), QString("bind_2")); + QCOMPARE(bind.jid(), QString("somenode@example.com/someresource")); + QCOMPARE(bind.resource(), QString()); + serializePacket(bind, xml); +} + void TestPackets::testMessage() { const QByteArray xml( @@ -130,8 +184,7 @@ void TestPackets::testPresenceFull() "away" "In a meeting" "5" - "" - ); + ""); QXmppPresence presence; parsePacket(presence, xml); @@ -143,6 +196,21 @@ void TestPackets::testPresenceFull() serializePacket(presence, xml); } +void TestPackets::testSession() +{ + const QByteArray xml( + "" + "" + ""); + + QXmppSession session; + parsePacket(session, xml); + QCOMPARE(session.id(), QString("session_1")); + QCOMPARE(session.to(), QString("example.com")); + QCOMPARE(session.type(), QXmppIq::Set); + serializePacket(session, xml); +} + int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); -- cgit v1.2.3