diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-27 15:06:55 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-27 15:06:55 +0200 |
| commit | db2f84e966682c1072cd579baa9511906a276ab0 (patch) | |
| tree | 6554c194b2cf52e19e7940ed31f9c64c9d540569 /tests/presence.cpp | |
| parent | 40c1ce264991447522e8296ad86a55ca5c3b81d1 (diff) | |
| download | qxmpp-db2f84e966682c1072cd579baa9511906a276ab0.tar.gz | |
start splitting tests
Diffstat (limited to 'tests/presence.cpp')
| -rw-r--r-- | tests/presence.cpp | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/tests/presence.cpp b/tests/presence.cpp deleted file mode 100644 index 8cf92ba1..00000000 --- a/tests/presence.cpp +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright (C) 2008-2012 The QXmpp developers - * - * Authors: - * Olivier Goffart - * 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 "QXmppPresence.h" - -#include "presence.h" -#include "tests.h" - -void tst_QXmppPresence::testPresence_data() -{ - QXmppPresence foo; - - QTest::addColumn<QByteArray>("xml"); - QTest::addColumn<int>("type"); - QTest::addColumn<int>("priority"); - QTest::addColumn<int>("statusType"); - QTest::addColumn<QString>("statusText"); - QTest::addColumn<int>("vcardUpdate"); - QTest::addColumn<QByteArray>("photoHash"); - - // presence type - QTest::newRow("available") << QByteArray("<presence/>") << int(QXmppPresence::Available) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("unavailable") << QByteArray("<presence type=\"unavailable\"/>") << int(QXmppPresence::Unavailable) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("error") << QByteArray("<presence type=\"error\"/>") << int(QXmppPresence::Error) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("subscribe") << QByteArray("<presence type=\"subscribe\"/>") << int(QXmppPresence::Subscribe) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("unsubscribe") << QByteArray("<presence type=\"unsubscribe\"/>") << int(QXmppPresence::Unsubscribe) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("subscribed") << QByteArray("<presence type=\"subscribed\"/>") << int(QXmppPresence::Subscribed) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("unsubscribed") << QByteArray("<presence type=\"unsubscribed\"/>") << int(QXmppPresence::Unsubscribed) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("probe") << QByteArray("<presence type=\"probe\"/>") << int(QXmppPresence::Probe) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - - // status text + priority - QTest::newRow("full") << QByteArray("<presence><show>away</show><status>In a meeting</status><priority>5</priority></presence>") << int(QXmppPresence::Available) << 5 << int(QXmppPresence::Away) << "In a meeting" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - - // status type - QTest::newRow("away") << QByteArray("<presence><show>away</show></presence>") << int(QXmppPresence::Available) << 0 << int(QXmppPresence::Away) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("dnd") << QByteArray("<presence><show>dnd</show></presence>") << int(QXmppPresence::Available) << 0 << int(QXmppPresence::DND) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("chat") << QByteArray("<presence><show>chat</show></presence>") << int(QXmppPresence::Available) << 0 << int(QXmppPresence::Chat) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("xa") << QByteArray("<presence><show>xa</show></presence>") << int(QXmppPresence::Available) << 0 << int(QXmppPresence::XA) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - QTest::newRow("invisible") << QByteArray("<presence><show>invisible</show></presence>") << int(QXmppPresence::Available) << 0 << int(QXmppPresence::Invisible) << "" << int(QXmppPresence::VCardUpdateNone) << QByteArray(); - - // photo - QTest::newRow("vcard-photo") << QByteArray( - "<presence>" - "<x xmlns=\"vcard-temp:x:update\">" - "<photo>73b908bc</photo>" - "</x>" - "</presence>") << int(QXmppPresence::Available) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateValidPhoto) << QByteArray::fromHex("73b908bc"); - - QTest::newRow("vard-not-ready") << QByteArray( - "<presence>" - "<x xmlns=\"vcard-temp:x:update\"/>" - "</presence>") << int(QXmppPresence::Available) << 0 << int(QXmppPresence::Online) << "" << int(QXmppPresence::VCardUpdateNotReady) << QByteArray(); -} - -void tst_QXmppPresence::testPresence() -{ - QFETCH(QByteArray, xml); - QFETCH(int, type); - QFETCH(int, priority); - QFETCH(int, statusType); - QFETCH(QString, statusText); - QFETCH(int, vcardUpdate); - QFETCH(QByteArray, photoHash); - - QXmppPresence presence; - parsePacket(presence, xml); - QCOMPARE(int(presence.type()), type); - QCOMPARE(presence.priority(), priority); - QCOMPARE(int(presence.availableStatusType()), statusType); - QCOMPARE(presence.statusText(), statusText); - QCOMPARE(int(presence.vCardUpdateType()), vcardUpdate); - QCOMPARE(presence.photoHash(), photoHash); - - // legacy - QCOMPARE(presence.status().priority(), priority); - QCOMPARE(int(presence.status().type()), statusType); - QCOMPARE(presence.status().statusText(), statusText); - - serializePacket(presence, xml); -} - -void tst_QXmppPresence::testPresenceWithCapability() -{ - const QByteArray xml( - "<presence to=\"foo@example.com/QXmpp\" from=\"bar@example.com/QXmpp\">" - "<show>away</show>" - "<status>In a meeting</status>" - "<priority>5</priority>" - "<x xmlns=\"vcard-temp:x:update\">" - "<photo>73b908bc</photo>" - "</x>" - "<c xmlns=\"http://jabber.org/protocol/caps\" hash=\"sha-1\" node=\"http://code.google.com/p/qxmpp\" ver=\"QgayPKawpkPSDYmwT/WM94uAlu0=\"/>" - "</presence>"); - - QXmppPresence presence; - parsePacket(presence, xml); - QCOMPARE(presence.to(), QString("foo@example.com/QXmpp")); - QCOMPARE(presence.from(), QString("bar@example.com/QXmpp")); - QCOMPARE(presence.availableStatusType(), QXmppPresence::Away); - QCOMPARE(presence.statusText(), QString("In a meeting")); - QCOMPARE(presence.priority(), 5); - QCOMPARE(presence.photoHash(), QByteArray::fromHex("73b908bc")); - QCOMPARE(presence.vCardUpdateType(), QXmppPresence::VCardUpdateValidPhoto); - QCOMPARE(presence.capabilityHash(), QString("sha-1")); - QCOMPARE(presence.capabilityNode(), QString("http://code.google.com/p/qxmpp")); - QCOMPARE(presence.capabilityVer(), QByteArray::fromBase64("QgayPKawpkPSDYmwT/WM94uAlu0=")); - - serializePacket(presence, xml); -} - -void tst_QXmppPresence::testPresenceWithExtendedAddresses() -{ - const QByteArray xml( - "<presence to=\"multicast.jabber.org\" from=\"hildjj@jabber.com\" type=\"unavailable\">" - "<addresses xmlns=\"http://jabber.org/protocol/address\">" - "<address jid=\"temas@jabber.org\" type=\"bcc\"/>" - "<address jid=\"jer@jabber.org\" type=\"bcc\"/>" - "</addresses>" - "</presence>"); - - QXmppPresence presence; - parsePacket(presence, xml); - QCOMPARE(presence.extendedAddresses().size(), 2); - QCOMPARE(presence.extendedAddresses()[0].description(), QString()); - QCOMPARE(presence.extendedAddresses()[0].jid(), QLatin1String("temas@jabber.org")); - QCOMPARE(presence.extendedAddresses()[0].type(), QLatin1String("bcc")); - QCOMPARE(presence.extendedAddresses()[1].description(), QString()); - QCOMPARE(presence.extendedAddresses()[1].jid(), QLatin1String("jer@jabber.org")); - QCOMPARE(presence.extendedAddresses()[1].type(), QLatin1String("bcc")); - serializePacket(presence, xml); -} - -void tst_QXmppPresence::testPresenceWithMucItem() -{ - const QByteArray xml( - "<presence " - "to=\"pistol@shakespeare.lit/harfleur\" " - "from=\"harfleur@henryv.shakespeare.lit/pistol\" " - "type=\"unavailable\">" - "<x xmlns=\"http://jabber.org/protocol/muc#user\">" - "<item affiliation=\"none\" role=\"none\">" - "<actor jid=\"fluellen@shakespeare.lit\"/>" - "<reason>Avaunt, you cullion!</reason>" - "</item>" - "<status code=\"307\"/>" - "</x>" - "</presence>"); - - QXmppPresence presence; - parsePacket(presence, xml); - QCOMPARE(presence.to(), QLatin1String("pistol@shakespeare.lit/harfleur")); - QCOMPARE(presence.from(), QLatin1String("harfleur@henryv.shakespeare.lit/pistol")); - QCOMPARE(presence.type(), QXmppPresence::Unavailable); - QCOMPARE(presence.mucItem().actor(), QLatin1String("fluellen@shakespeare.lit")); - QCOMPARE(presence.mucItem().affiliation(), QXmppMucItem::NoAffiliation); - QCOMPARE(presence.mucItem().jid(), QString()); - QCOMPARE(presence.mucItem().reason(), QLatin1String("Avaunt, you cullion!")); - QCOMPARE(presence.mucItem().role(), QXmppMucItem::NoRole); - QCOMPARE(presence.mucStatusCodes(), QList<int>() << 307); - serializePacket(presence, xml); -} - -void tst_QXmppPresence::testPresenceWithMucPassword() -{ - const QByteArray xml( - "<presence " - "to=\"coven@chat.shakespeare.lit/thirdwitch\" " - "from=\"hag66@shakespeare.lit/pda\">" - "<x xmlns=\"http://jabber.org/protocol/muc\">" - "<password>pass</password>" - "</x>" - "</presence>"); - - QXmppPresence presence; - parsePacket(presence, xml); - QCOMPARE(presence.to(), QLatin1String("coven@chat.shakespeare.lit/thirdwitch")); - QCOMPARE(presence.from(), QLatin1String("hag66@shakespeare.lit/pda")); - QCOMPARE(presence.type(), QXmppPresence::Available); - QCOMPARE(presence.isMucSupported(), true); - QCOMPARE(presence.mucPassword(), QLatin1String("pass")); - serializePacket(presence, xml); -} - -void tst_QXmppPresence::testPresenceWithMucSupport() -{ - const QByteArray xml( - "<presence " - "to=\"coven@chat.shakespeare.lit/thirdwitch\" " - "from=\"hag66@shakespeare.lit/pda\">" - "<x xmlns=\"http://jabber.org/protocol/muc\"/>" - "</presence>"); - - QXmppPresence presence; - parsePacket(presence, xml); - QCOMPARE(presence.to(), QLatin1String("coven@chat.shakespeare.lit/thirdwitch")); - QCOMPARE(presence.from(), QLatin1String("hag66@shakespeare.lit/pda")); - QCOMPARE(presence.type(), QXmppPresence::Available); - QCOMPARE(presence.isMucSupported(), true); - QVERIFY(presence.mucPassword().isEmpty()); - serializePacket(presence, xml); -} - |
