[telepathy-qt4/master] roster-groups example: Added tests for contact list group removal.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Wed Jul 22 21:37:27 PDT 2009


---
 tests/dbus/conn-roster-groups.cpp |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/tests/dbus/conn-roster-groups.cpp b/tests/dbus/conn-roster-groups.cpp
index c08a619..6c70937 100644
--- a/tests/dbus/conn-roster-groups.cpp
+++ b/tests/dbus/conn-roster-groups.cpp
@@ -30,6 +30,7 @@ public:
 
 protected Q_SLOTS:
     void onGroupAdded(const QString &group);
+    void onGroupRemoved(const QString &group);
     void onContactAddedToGroup(const QString &group);
     void onContactRemovedFromGroup(const QString &group);
     void expectConnInvalidated();
@@ -49,6 +50,7 @@ private:
     ConnectionPtr mConn;
 
     QString mGroupAdded;
+    QString mGroupRemoved;
     int mContactsAddedToGroup;
     int mContactsRemovedFromGroup;
 };
@@ -59,6 +61,13 @@ void TestConnRosterGroups::onGroupAdded(const QString &group)
     mLoop->exit(0);
 }
 
+void TestConnRosterGroups::onGroupRemoved(const QString &group)
+{
+    mGroupRemoved = group;
+    mLoop->exit(0);
+}
+
+
 void TestConnRosterGroups::onContactAddedToGroup(const QString &group)
 {
     mContactsAddedToGroup++;
@@ -240,6 +249,25 @@ void TestConnRosterGroups::testRosterGroups()
     foreach (const ContactPtr &contact, contacts) {
         QVERIFY(!contact->groups().contains(group));
     }
+
+    // add group foo
+    QVERIFY(connect(contactManager,
+                    SIGNAL(groupRemoved(const QString&)),
+                    SLOT(onGroupRemoved(const QString&))));
+    QVERIFY(connect(contactManager->removeGroup(group),
+                    SIGNAL(finished(Tp::PendingOperation*)),
+                    SLOT(expectSuccessfulCall(Tp::PendingOperation*))));
+    QCOMPARE(mLoop->exec(), 0);
+    while (mGroupRemoved.isEmpty()) {
+        QCOMPARE(mLoop->exec(), 0);
+    }
+    QCOMPARE(mGroupRemoved, group);
+
+    expectedGroups.removeOne(group);
+    expectedGroups.sort();
+    groups = contactManager->allKnownGroups();
+    groups.sort();
+    QCOMPARE(groups, expectedGroups);
 }
 
 void TestConnRosterGroups::cleanup()
-- 
1.5.6.5




More information about the telepathy-commits mailing list