aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-08-03 15:46:40 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-08-03 15:46:40 +0200
commitbecafc386f14967df87659cd408b5cee5835227d (patch)
treefd20c05e26b5118682299db9ecf005241acd2a68 /tests
parenta27aaa6f0dd18c859cee848dd5aac48cc6d1c89a (diff)
downloadqxmpp-becafc386f14967df87659cd408b5cee5835227d.tar.gz
add support for phone numbers to vCards
Diffstat (limited to 'tests')
-rw-r--r--tests/vcard.cpp56
-rw-r--r--tests/vcard.h2
2 files changed, 53 insertions, 5 deletions
diff --git a/tests/vcard.cpp b/tests/vcard.cpp
index 89f8b46a..b92b269b 100644
--- a/tests/vcard.cpp
+++ b/tests/vcard.cpp
@@ -32,8 +32,11 @@ void tst_QXmppVCardIq::testEmail_data()
QTest::addColumn<int>("type");
QTest::newRow("none") << QByteArray("<EMAIL><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::None);
- QTest::newRow("internet") << QByteArray("<EMAIL><INTERNET/><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::Internet);
- QTest::newRow("x400") << QByteArray("<EMAIL><X400/><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::X400);
+ QTest::newRow("HOME") << QByteArray("<EMAIL><HOME/><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::Home);
+ QTest::newRow("WORK") << QByteArray("<EMAIL><WORK/><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::Work);
+ QTest::newRow("INTERNET") << QByteArray("<EMAIL><INTERNET/><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::Internet);
+ QTest::newRow("X400") << QByteArray("<EMAIL><X400/><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::X400);
+ QTest::newRow("PREF") << QByteArray("<EMAIL><PREF/><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::Preferred);
QTest::newRow("all") << QByteArray("<EMAIL><HOME/><WORK/><INTERNET/><PREF/><X400/><USERID>foo.bar@example.com</USERID></EMAIL>") << int(QXmppVCardEmail::Home | QXmppVCardEmail::Work | QXmppVCardEmail::Internet | QXmppVCardEmail::Preferred | QXmppVCardEmail::X400);
}
@@ -49,6 +52,40 @@ void tst_QXmppVCardIq::testEmail()
serializePacket(email, xml);
}
+void tst_QXmppVCardIq::testPhone_data()
+{
+ QTest::addColumn<QByteArray>("xml");
+ QTest::addColumn<int>("type");
+
+ QTest::newRow("none") << QByteArray("<PHONE><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::None);
+ QTest::newRow("HOME") << QByteArray("<PHONE><HOME/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Home);
+ QTest::newRow("WORK") << QByteArray("<PHONE><WORK/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Work);
+ QTest::newRow("VOICE") << QByteArray("<PHONE><VOICE/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Voice);
+ QTest::newRow("FAX") << QByteArray("<PHONE><FAX/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Fax);
+ QTest::newRow("PAGER") << QByteArray("<PHONE><PAGER/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Pager);
+ QTest::newRow("MSG") << QByteArray("<PHONE><MSG/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Messaging);
+ QTest::newRow("CELL") << QByteArray("<PHONE><CELL/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Cell);
+ QTest::newRow("VIDEO") << QByteArray("<PHONE><VIDEO/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Video);
+ QTest::newRow("BBS") << QByteArray("<PHONE><BBS/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::BBS);
+ QTest::newRow("MODEM") << QByteArray("<PHONE><MODEM/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Modem);
+ QTest::newRow("IDSN") << QByteArray("<PHONE><ISDN/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::ISDN);
+ QTest::newRow("PCS") << QByteArray("<PHONE><PCS/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::PCS);
+ QTest::newRow("PREF") << QByteArray("<PHONE><PREF/><NUMBER>12345</NUMBER></PHONE>") << int(QXmppVCardPhone::Preferred);
+}
+
+void tst_QXmppVCardIq::testPhone()
+{
+ QFETCH(QByteArray, xml);
+ QFETCH(int, type);
+
+ QXmppVCardPhone phone;
+ parsePacket(phone, xml);
+ QCOMPARE(phone.number(), QLatin1String("12345"));
+ QCOMPARE(int(phone.type()), type);
+ serializePacket(phone, xml);
+}
+
+
void tst_QXmppVCardIq::testVCard()
{
const QByteArray xml(
@@ -59,6 +96,8 @@ void tst_QXmppVCardIq::testVCard()
"<FN>Foo Bar!</FN>"
"<NICKNAME>FooBar</NICKNAME>"
"<N><GIVEN>Foo</GIVEN><FAMILY>Wiz</FAMILY><MIDDLE>Baz</MIDDLE></N>"
+ "<PHONE><HOME/><NUMBER>12345</NUMBER></PHONE>"
+ "<PHONE><WORK/><NUMBER>67890</NUMBER></PHONE>"
"<PHOTO>"
"<TYPE>image/png</TYPE>"
"<BINVAL>"
@@ -67,6 +106,7 @@ void tst_QXmppVCardIq::testVCard()
"WfgYGBiQEHGJwSAK2BBQ1f3uvpAAAAAElFTkSuQmCC"
"</BINVAL>"
"</PHOTO>"
+ "<URL>http://code.google.com/p/qxmpp/</URL>"
"</vCard>"
"</iq>");
@@ -74,18 +114,24 @@ void tst_QXmppVCardIq::testVCard()
parsePacket(vcard, xml);
QCOMPARE(vcard.birthday(), QDate(1983, 9, 14));
QCOMPARE(vcard.email(), QLatin1String("foo.bar@example.com"));
+ QCOMPARE(vcard.emails().size(), 1);
+ QCOMPARE(vcard.emails()[0].address(), QLatin1String("foo.bar@example.com"));
+ QCOMPARE(int(vcard.emails()[0].type()), int(QXmppVCardEmail::Internet));
QCOMPARE(vcard.nickName(), QLatin1String("FooBar"));
QCOMPARE(vcard.fullName(), QLatin1String("Foo Bar!"));
QCOMPARE(vcard.firstName(), QLatin1String("Foo"));
QCOMPARE(vcard.middleName(), QLatin1String("Baz"));
QCOMPARE(vcard.lastName(), QLatin1String("Wiz"));
+ QCOMPARE(vcard.phones().size(), 2);
+ QCOMPARE(vcard.phones()[0].number(), QLatin1String("12345"));
+ QCOMPARE(int(vcard.phones()[0].type()), int(QXmppVCardEmail::Home));
+ QCOMPARE(vcard.phones()[1].number(), QLatin1String("67890"));
+ QCOMPARE(int(vcard.phones()[1].type()), int(QXmppVCardEmail::Work));
QCOMPARE(vcard.photo(), QByteArray::fromBase64(
"iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAAXNSR0IArs4c6QAAAAlwSFlzAAA"
"UIgAAFCIBjw1HyAAAAAd0SU1FB9oIHQInNvuJovgAAAAiSURBVAjXY2TQ+s/AwMDAwPD/GiMDlP"
"WfgYGBiQEHGJwSAK2BBQ1f3uvpAAAAAElFTkSuQmCC"));
QCOMPARE(vcard.photoType(), QLatin1String("image/png"));
- QCOMPARE(vcard.emails().size(), 1);
- QCOMPARE(vcard.emails()[0].address(), QLatin1String("foo.bar@example.com"));
- QCOMPARE(int(vcard.emails()[0].type()), int(QXmppVCardEmail::Internet));
+ QCOMPARE(vcard.url(), QLatin1String("http://code.google.com/p/qxmpp/"));
serializePacket(vcard, xml);
}
diff --git a/tests/vcard.h b/tests/vcard.h
index 5f0d6677..cc1527c1 100644
--- a/tests/vcard.h
+++ b/tests/vcard.h
@@ -30,5 +30,7 @@ class tst_QXmppVCardIq : public QObject
private slots:
void testEmail_data();
void testEmail();
+ void testPhone_data();
+ void testPhone();
void testVCard();
};