diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-04 08:42:23 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-04 08:42:23 +0000 |
| commit | 30786a06ef06f238a5c8bf598faaed9c0684f02e (patch) | |
| tree | 3665dfb12b12c9d54f8c058e1964b5d5abdbd73b /tests | |
| parent | 296eeb447737d4179594aecc04aa3c4d721b4c5e (diff) | |
| download | qxmpp-30786a06ef06f238a5c8bf598faaed9c0684f02e.tar.gz | |
Tests for XEP-0153: vCard-Based Avatars
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tests.cpp | 30 | ||||
| -rw-r--r-- | tests/tests.h | 1 |
2 files changed, 30 insertions, 1 deletions
diff --git a/tests/tests.cpp b/tests/tests.cpp index 4ad3fc59..c8edbb5a 100644 --- a/tests/tests.cpp +++ b/tests/tests.cpp @@ -386,12 +386,15 @@ void TestPackets::testNonSaslAuth() void TestPackets::testPresence() { const QByteArray xml( - "<presence to=\"foo@example.com/QXmpp\" from=\"bar@example.com/QXmpp\"/>"); + "<presence to=\"foo@example.com/QXmpp\" from=\"bar@example.com/QXmpp\">" + "<x xmlns=\"vcard-temp:x:update\"/></presence>"); QXmppPresence presence; parsePacket(presence, xml); QCOMPARE(presence.to(), QString("foo@example.com/QXmpp")); QCOMPARE(presence.from(), QString("bar@example.com/QXmpp")); + QCOMPARE(presence.photoHash(), QByteArray("")); + QCOMPARE(presence.vCardUpdateType(), QXmppPresence::PhotoNotReady); serializePacket(presence, xml); } @@ -411,6 +414,31 @@ void TestPackets::testPresenceFull() 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=\"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>sha1-hash-of-image</photo>" + "</x>" + "</presence>"); + + QXmppPresence presence; + parsePacket(presence, xml); + QCOMPARE(presence.to(), QString("foo@example.com/QXmpp")); + QCOMPARE(presence.from(), QString("bar@example.com/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("sha1-hash-of-image")); + QCOMPARE(presence.vCardUpdateType(), QXmppPresence::PhotoAdvertised); serializePacket(presence, xml); } diff --git a/tests/tests.h b/tests/tests.h index 0f5fe8fd..e86973e7 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -53,6 +53,7 @@ private slots: void testNonSaslAuth(); void testPresence(); void testPresenceFull(); + void testPresenceWithVCardUpdate(); void testSession(); void testStreamFeatures(); void testVCard(); |
