[telepathy-qt4/master] roster-groups example: Added tests for removing contacts from a contact list group.
Andre Moreira Magalhaes (andrunko)
andre.magalhaes at collabora.co.uk
Wed Jul 22 21:31:16 PDT 2009
---
tests/dbus/conn-roster-groups.cpp | 29 ++++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/tests/dbus/conn-roster-groups.cpp b/tests/dbus/conn-roster-groups.cpp
index ebe6385..c08a619 100644
--- a/tests/dbus/conn-roster-groups.cpp
+++ b/tests/dbus/conn-roster-groups.cpp
@@ -24,12 +24,14 @@ class TestConnRosterGroups : public Test
public:
TestConnRosterGroups(QObject *parent = 0)
- : Test(parent), mConnService(0), mContactsAddedToGroup(0)
+ : Test(parent), mConnService(0),
+ mContactsAddedToGroup(0), mContactsRemovedFromGroup(0)
{ }
protected Q_SLOTS:
void onGroupAdded(const QString &group);
void onContactAddedToGroup(const QString &group);
+ void onContactRemovedFromGroup(const QString &group);
void expectConnInvalidated();
private Q_SLOTS:
@@ -48,6 +50,7 @@ private:
QString mGroupAdded;
int mContactsAddedToGroup;
+ int mContactsRemovedFromGroup;
};
void TestConnRosterGroups::onGroupAdded(const QString &group)
@@ -62,6 +65,12 @@ void TestConnRosterGroups::onContactAddedToGroup(const QString &group)
mLoop->exit(0);
}
+void TestConnRosterGroups::onContactRemovedFromGroup(const QString &group)
+{
+ mContactsRemovedFromGroup++;
+ mLoop->exit(0);
+}
+
void TestConnRosterGroups::expectConnInvalidated()
{
mLoop->exit(0);
@@ -213,6 +222,24 @@ void TestConnRosterGroups::testRosterGroups()
foreach (const ContactPtr &contact, contacts) {
QVERIFY(contact->groups().contains(group));
}
+
+ // remove all contacts from group foo
+ contacts = contactManager->groupContacts(group);
+ foreach (const ContactPtr &contact, contacts) {
+ QVERIFY(connect(contact.data(),
+ SIGNAL(removedFromGroup(const QString&)),
+ SLOT(onContactRemovedFromGroup(const QString&))));
+ }
+ QVERIFY(connect(contactManager->groupRemoveContacts(group, contacts.toList()),
+ SIGNAL(finished(Tp::PendingOperation*)),
+ SLOT(expectSuccessfulCall(Tp::PendingOperation*))));
+ QCOMPARE(mLoop->exec(), 0);
+ while (mContactsRemovedFromGroup != contacts.size()) {
+ QCOMPARE(mLoop->exec(), 0);
+ }
+ foreach (const ContactPtr &contact, contacts) {
+ QVERIFY(!contact->groups().contains(group));
+ }
}
void TestConnRosterGroups::cleanup()
--
1.5.6.5
More information about the telepathy-commits
mailing list