diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-07-16 08:53:42 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-07-16 08:53:42 +0000 |
| commit | 946249abbdd477ac7cfbdb1e0bfbcd34b7c93bb8 (patch) | |
| tree | 322baa3008f2273c4585603ebdcaddd55a809cb5 /source/tests.cpp | |
| parent | 1b596e06fac7e1ec96cc5f9f387b936836f2c601 (diff) | |
| download | qxmpp-946249abbdd477ac7cfbdb1e0bfbcd34b7c93bb8.tar.gz | |
add tests for Jingle IQs
Diffstat (limited to 'source/tests.cpp')
| -rw-r--r-- | source/tests.cpp | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/source/tests.cpp b/source/tests.cpp index f2d91b5b..1f49b274 100644 --- a/source/tests.cpp +++ b/source/tests.cpp @@ -29,6 +29,7 @@ #include <QtTest/QtTest> #include "QXmppBind.h" +#include "QXmppJingleIq.h" #include "QXmppMessage.h" #include "QXmppPresence.h" #include "QXmppSession.h" @@ -227,6 +228,98 @@ void TestPackets::testSession() serializePacket(session, xml); } +void TestJingle::testSession() +{ + const QByteArray xml( + "<iq" + " id=\"zid615d9\"" + " to=\"juliet@capulet.lit/balcony\"" + " from=\"romeo@montague.lit/orchard\"" + " type=\"set\">" + "<jingle xmlns=\"urn:xmpp:jingle:1\"" + " action=\"session-initiate\"" + " initiator=\"romeo@montague.lit/orchard\"" + " sid=\"a73sjjvkla37jfea\">" + "<content creator=\"initiator\" name=\"this-is-a-stub\">" + "<description xmlns=\"urn:xmpp:jingle:apps:stub:0\"/>" + "<transport xmlns=\"urn:xmpp:jingle:transports:stub:0\"/>" + "</content>" + "</jingle>" + "</iq>"); + + QXmppJingleIq session; + parsePacket(session, xml); + QCOMPARE(session.action(), QXmppJingleIq::SessionInitiate); + QCOMPARE(session.initiator(), QLatin1String("romeo@montague.lit/orchard")); + QCOMPARE(session.sid(), QLatin1String("a73sjjvkla37jfea")); + QCOMPARE(session.content().creator(), QLatin1String("initiator")); + QCOMPARE(session.content().name(), QLatin1String("this-is-a-stub")); + QCOMPARE(session.reason().text(), QString()); + QCOMPARE(session.reason().type(), QXmppJingleIq::Reason::None); + serializePacket(session, xml); +} + +void TestJingle::testTerminate() +{ + const QByteArray xml( + "<iq" + " id=\"le71fa63\"" + " to=\"romeo@montague.lit/orchard\"" + " from=\"juliet@capulet.lit/balcony\"" + " type=\"set\">" + "<jingle xmlns=\"urn:xmpp:jingle:1\"" + " action=\"session-terminate\"" + " sid=\"a73sjjvkla37jfea\">" + "<reason>" + "<success/>" + "</reason>" + "</jingle>" + "</iq>"); + + QXmppJingleIq session; + parsePacket(session, xml); + QCOMPARE(session.action(), QXmppJingleIq::SessionTerminate); + QCOMPARE(session.initiator(), QString()); + QCOMPARE(session.sid(), QLatin1String("a73sjjvkla37jfea")); + QCOMPARE(session.reason().text(), QString()); + QCOMPARE(session.reason().type(), QXmppJingleIq::Reason::Success); + serializePacket(session, xml); +} + +void TestJingle::testPayloadType() +{ + const QByteArray xml("<payload-type id=\"103\" name=\"L16\" channels=\"2\" clockrate=\"16000\"/>"); + QXmppJinglePayloadType payload; + parsePacket(payload, xml); + QCOMPARE(payload.id(), static_cast<unsigned char>(103)); + QCOMPARE(payload.name(), QLatin1String("L16")); + QCOMPARE(payload.channels(), static_cast<unsigned char>(2)); + QCOMPARE(payload.clockrate(), 16000u); + serializePacket(payload, xml); +} + +void TestJingle::testRinging() +{ + const QByteArray xml( + "<iq" + " id=\"tgr515bt\"" + " to=\"romeo@montague.lit/orchard\"" + " from=\"juliet@capulet.lit/balcony\"" + " type=\"set\">" + "<jingle xmlns=\"urn:xmpp:jingle:1\"" + " action=\"session-info\"" + " initiator=\"romeo@montague.lit/orchard\"" + " sid=\"a73sjjvkla37jfea\">" + "<ringing xmlns=\"urn:xmpp:jingle:apps:rtp:info:1\"/>" + "</jingle>" + "</iq>"); + + QXmppJingleIq iq; + parsePacket(iq, xml); + QCOMPARE(iq.ringing(), true); + serializePacket(iq, xml); +} + int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); @@ -240,6 +333,9 @@ int main(int argc, char *argv[]) TestPackets testPackets; errors += QTest::qExec(&testPackets); + TestJingle testJingle; + errors += QTest::qExec(&testJingle); + if (errors) { qWarning() << "Total failed tests:" << errors; |
