aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-04 08:42:23 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-04 08:42:23 +0000
commit30786a06ef06f238a5c8bf598faaed9c0684f02e (patch)
tree3665dfb12b12c9d54f8c058e1964b5d5abdbd73b /tests
parent296eeb447737d4179594aecc04aa3c4d721b4c5e (diff)
downloadqxmpp-30786a06ef06f238a5c8bf598faaed9c0684f02e.tar.gz
Tests for XEP-0153: vCard-Based Avatars
Diffstat (limited to 'tests')
-rw-r--r--tests/tests.cpp30
-rw-r--r--tests/tests.h1
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();