diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-21 10:28:40 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-21 10:28:40 +0200 |
| commit | 47bb20d2bd0493823b033c61a1d7f72d9521c94a (patch) | |
| tree | 91b310bc344abfa4fbec1807c981d7b8730a2038 /tests | |
| parent | 51cadc0c4cac8f8713ec740aab9c8b1099160d55 (diff) | |
| download | qxmpp-47bb20d2bd0493823b033c61a1d7f72d9521c94a.tar.gz | |
split out jingle tests
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/jingle.cpp | 138 | ||||
| -rw-r--r-- | tests/jingle.h | 37 | ||||
| -rw-r--r-- | tests/tests.cpp | 114 | ||||
| -rw-r--r-- | tests/tests.h | 12 | ||||
| -rw-r--r-- | tests/tests.pro | 2 |
5 files changed, 178 insertions, 125 deletions
diff --git a/tests/jingle.cpp b/tests/jingle.cpp new file mode 100644 index 00000000..a10e98d7 --- /dev/null +++ b/tests/jingle.cpp @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2008-2012 The QXmpp developers + * + * Authors: + * Jeremy Lainé + * Manjeet Dahiya + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + +#include "QXmppJingleIq.h" + +#include "jingle.h" +#include "tests.h" + +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::testAudioPayloadType() +{ + 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::testVideoPayloadType() +{ + const QByteArray xml( + "<payload-type id=\"98\" name=\"theora\" clockrate=\"90000\">" + "<parameter name=\"height\" value=\"768\"/>" + "<parameter name=\"width\" value=\"1024\"/>" + "</payload-type>"); + QXmppJinglePayloadType payload; + parsePacket(payload, xml); + QCOMPARE(payload.id(), static_cast<unsigned char>(98)); + QCOMPARE(payload.name(), QLatin1String("theora")); + QCOMPARE(payload.clockrate(), 90000u); + QCOMPARE(payload.parameters().size(), 2); + QCOMPARE(payload.parameters().value("height"), QLatin1String("768")); + QCOMPARE(payload.parameters().value("width"), QLatin1String("1024")); + 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); +} diff --git a/tests/jingle.h b/tests/jingle.h new file mode 100644 index 00000000..9098e8da --- /dev/null +++ b/tests/jingle.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2008-2012 The QXmpp developers + * + * Author: + * Jeremy Lainé + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + +#include <QObject> + +class TestJingle : public QObject +{ + Q_OBJECT + +private slots: + void testSession(); + void testTerminate(); + void testAudioPayloadType(); + void testVideoPayloadType(); + void testRinging(); +}; + diff --git a/tests/tests.cpp b/tests/tests.cpp index fff639ec..e08cfb8d 100644 --- a/tests/tests.cpp +++ b/tests/tests.cpp @@ -34,11 +34,8 @@ #include "QXmppBindIq.h" #include "QXmppClient.h" #include "QXmppDiscoveryIq.h" -#include "QXmppJingleIq.h" -#include "QXmppMessage.h" #include "QXmppNonSASLAuth.h" #include "QXmppPasswordChecker.h" -#include "QXmppPresence.h" #include "QXmppPubSubIq.h" #include "QXmppRpcIq.h" #include "QXmppSessionIq.h" @@ -53,6 +50,7 @@ #include "codec.h" #include "dataform.h" +#include "jingle.h" #include "message.h" #include "presence.h" #include "register.h" @@ -636,116 +634,6 @@ void TestPackets::testEntityTimeResult() serializePacket(entityTime, 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::testAudioPayloadType() -{ - 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::testVideoPayloadType() -{ - const QByteArray xml( - "<payload-type id=\"98\" name=\"theora\" clockrate=\"90000\">" - "<parameter name=\"height\" value=\"768\"/>" - "<parameter name=\"width\" value=\"1024\"/>" - "</payload-type>"); - QXmppJinglePayloadType payload; - parsePacket(payload, xml); - QCOMPARE(payload.id(), static_cast<unsigned char>(98)); - QCOMPARE(payload.name(), QLatin1String("theora")); - QCOMPARE(payload.clockrate(), 90000u); - QCOMPARE(payload.parameters().size(), 2); - QCOMPARE(payload.parameters().value("height"), QLatin1String("768")); - QCOMPARE(payload.parameters().value("width"), QLatin1String("1024")); - 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); -} - void TestPubSub::testItems() { const QByteArray xml( diff --git a/tests/tests.h b/tests/tests.h index b6f2eeab..78c87ae8 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -88,18 +88,6 @@ private slots: void testEntityTimeResult(); }; -class TestJingle : public QObject -{ - Q_OBJECT - -private slots: - void testSession(); - void testTerminate(); - void testAudioPayloadType(); - void testVideoPayloadType(); - void testRinging(); -}; - class TestPubSub : public QObject { Q_OBJECT diff --git a/tests/tests.pro b/tests/tests.pro index 36c52635..1362e9a4 100644 --- a/tests/tests.pro +++ b/tests/tests.pro @@ -8,6 +8,7 @@ RESOURCES += tests.qrc SOURCES += \ codec.cpp \ dataform.cpp \ + jingle.cpp \ message.cpp \ presence.cpp \ register.cpp \ @@ -18,6 +19,7 @@ SOURCES += \ HEADERS += \ codec.h \ dataform.h \ + jingle.h \ message.h \ presence.h \ register.h \ |
