[Telepathy-commits] [telepathy-qt4/master] Channel: Added more tests for contact removal and remote pending.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Wed Feb 11 05:49:08 PST 2009


---
 tests/dbus/chan-group.cpp |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/tests/dbus/chan-group.cpp b/tests/dbus/chan-group.cpp
index 236f63d..50935d2 100644
--- a/tests/dbus/chan-group.cpp
+++ b/tests/dbus/chan-group.cpp
@@ -460,6 +460,21 @@ void TestChanGroup::doTestCreateChannel()
         QCOMPARE(mLoop->exec(), 1);
         QCOMPARE(mLoop->exec(), 1);
 
+        QString roomName = QString("#room%1").arg(mRoomNumber);
+        QStringList expectedIds;
+        expectedIds << QString("john@") + roomName <<
+                QString("mary@") + roomName <<
+                QString("another anonymous coward@") + roomName;
+
+        ids.clear();
+        foreach (const QSharedPointer<Contact> &contact, mChan->groupRemotePendingContacts()) {
+            ids << contact->id();
+        }
+
+        ids.sort();
+        expectedIds.sort();
+        QCOMPARE(ids, expectedIds);
+
         QList<QSharedPointer<Contact> > toRemove;
         toRemove.append(mContacts[1]);
         toRemove.append(mContacts[2]);
@@ -473,8 +488,7 @@ void TestChanGroup::doTestCreateChannel()
         // expect john to accept invite
         QCOMPARE(mLoop->exec(), 3);
 
-        QString roomName = QString("#room%1").arg(mRoomNumber);
-        QStringList expectedIds;
+        expectedIds.clear();
         expectedIds << QString("me@") + roomName <<
                 QString("alice@") + roomName <<
                 QString("bob@") + roomName <<
@@ -482,15 +496,31 @@ void TestChanGroup::doTestCreateChannel()
                 QString("anonymous coward@") + roomName <<
                 QString("john@") + roomName;
 
+        toRemove.clear();
         ids.clear();
         foreach (const QSharedPointer<Contact> &contact, mChan->groupContacts()) {
             ids << contact->id();
+            if (contact != mChan->groupSelfContact() && toRemove.isEmpty()) {
+                toRemove.append(contact);
+            }
         }
 
         ids.sort();
         expectedIds.sort();
         QCOMPARE(ids, expectedIds);
 
+        mChan->groupRemoveContacts(toRemove, "Checking removal of a contact in current list");
+        QCOMPARE(mLoop->exec(), 2);
+
+        ids.clear();
+        foreach (const QSharedPointer<Contact> &contact, mChan->groupContacts()) {
+            ids << contact->id();
+        }
+
+        ids.sort();
+        expectedIds.removeOne(toRemove.first()->id());
+        QCOMPARE(ids, expectedIds);
+
         delete mChan;
         mChan = 0;
     }
-- 
1.5.6.5




More information about the telepathy-commits mailing list