void TestPackets::testPresenceWithCapability() { const QByteArray xml( "<presence to=\"[email protected]/QXmpp\" from=\"[email protected]/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("[email protected]/QXmpp")); QCOMPARE(presence.from(), QString("[email protected]/QXmpp")); QCOMPARE(presence.status().type(), QXmppPresence::Status::Away); QCOMPARE(presence.status().statusText(), QString("In a meeting")); QCOMPARE(presence.status().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 TestPackets::testPresence() { const QByteArray xml( "<presence to=\"[email protected]/QXmpp\" from=\"[email protected]/QXmpp\">" "<x xmlns=\"vcard-temp:x:update\"/></presence>"); QXmppPresence presence; parsePacket(presence, xml); QCOMPARE(presence.to(), QString("[email protected]/QXmpp")); QCOMPARE(presence.from(), QString("[email protected]/QXmpp")); QCOMPARE(presence.photoHash(), QByteArray("")); QCOMPARE(presence.vCardUpdateType(), QXmppPresence::VCardUpdateNotReady); serializePacket(presence, xml); }
void TestPackets::testPresenceFull() { const QByteArray xml( "<presence to=\"[email protected]/QXmpp\" from=\"[email protected]/QXmpp\">" "<show>away</show>" "<status>In a meeting</status>" "<priority>5</priority>" "</presence>"); QXmppPresence presence; parsePacket(presence, xml); QCOMPARE(presence.to(), QString("[email protected]/QXmpp")); QCOMPARE(presence.from(), QString("[email protected]/QXmpp")); QCOMPARE(presence.status().type(), QXmppPresence::Status::Away); QCOMPARE(presence.status().statusText(), QString("In a meeting")); QCOMPARE(presence.status().priority(), 5); QCOMPARE(presence.vCardUpdateType(), QXmppPresence::VCardUpdateNone); serializePacket(presence, xml); }
void TestPackets::testPresenceWithVCardUpdate() { const QByteArray xml( "<presence to=\"[email protected]/QXmpp\" from=\"[email protected]/QXmpp\">" "<show>away</show>" "<status>In a meeting</status>" "<priority>5</priority>" "<x xmlns=\"vcard-temp:x:update\">" "<photo>73b908bc</photo>" "</x>" "</presence>"); QXmppPresence presence; parsePacket(presence, xml); QCOMPARE(presence.to(), QString("[email protected]/QXmpp")); QCOMPARE(presence.from(), QString("[email protected]/QXmpp")); QCOMPARE(presence.status().type(), QXmppPresence::Status::Away); QCOMPARE(presence.status().statusText(), QString("In a meeting")); QCOMPARE(presence.status().priority(), 5); QCOMPARE(presence.photoHash(), QByteArray::fromHex("73b908bc")); QCOMPARE(presence.vCardUpdateType(), QXmppPresence::VCardUpdateValidPhoto); serializePacket(presence, xml); }