/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: Main test class for hspluginmodel library.
*
*/
#include <QScopedPointer>
#include <qservicemanager.h>
#include "t_caclient.h"
#include "caservice.h"
#include "canotifier.h"
#include "canotifierfilter.h"
#include "caquery.h"
#include "t_caclientNotifier.h"
const int entryIdFake(-1);
const int waitTime500ms(500);
const int waitTime1sec(1000);
QTM_USE_NAMESPACE
QStringList pluginPaths;
QString xmlName("caapphandlerplugin.xml");
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::initTestCase()
{
#ifdef Q_OS_SYMBIAN
startThread();
#endif //Q_OS_SYMBIAN
mService = CaService::instance();
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::cleanupTestCase()
{
#ifdef Q_OS_SYMBIAN
stopThread();
#endif //Q_OS_SYMBIAN
QSharedPointer<CaService> serviceNull(NULL);
mService = serviceNull;
QTest::qWait(5000);
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
int threadFunction(void *params)
{
#ifdef Q_OS_SYMBIAN
while (ETrue) {
User::ResetInactivityTime();//it should help for Viewserver11 panic
User::After(5000000);
}
#endif //Q_OS_SYMBIAN
return 0;
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::startThread()
{
#ifdef Q_OS_SYMBIAN
User::LeaveIfError(iThread.Create(
_L("thread_kill_viewsrv11"),
threadFunction,
16384,
4000,
4000,
NULL));
iThread.Resume();
#endif //Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::stopThread()
{
#ifdef Q_OS_SYMBIAN
iThread.Close();
#endif //Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestAssignmentOperatorNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
CaNotifierFilter filter;
filter.setEntryRole(ItemEntryRole);
filter.setTypeNames(QStringList() << "typeName1" << "typeName2");
filter.setParentId(22);
filter.setIds(QList<int>() << 11 << 22);
CaNotifierFilter filterAssign;
filterAssign = filter;
QCOMPARE(filterAssign.getEntryRole(), filter.getEntryRole());
QCOMPARE(filterAssign.getParentId(), filter.getParentId());
for (int i(0); i < filter.getIds().count(); i++) {
QCOMPARE(filterAssign.getIds().at(i),
filter.getIds().at(i));
}
for (int i(0); i < filter.getTypeNames().count(); i++) {
QCOMPARE(filterAssign.getTypeNames().at(i),
filter.getTypeNames().at(i));
}
filter.setEntryRole(GroupEntryRole);
filter.getTypeNames().clear();
filter.setTypeNames(QStringList() << "typeName3" << "typeName4");
filter.setParentId(55);
filter.getIds().clear();
filter.setIds(QList<int>() << 33 << 44);
QVERIFY(filterAssign.getEntryRole() != filter.getEntryRole());
QVERIFY(filterAssign.getParentId() != filter.getParentId());
for (int i(0); i < filter.getIds().count(); i++) {
QVERIFY(filterAssign.getIds().at(i)
!= filter.getIds().at(i));
}
for (int i(0); i < filter.getTypeNames().count(); i++) {
QVERIFY(filterAssign.getTypeNames().at(i)
!= filter.getTypeNames().at(i));
}
CaNotifierFilter filterCopyConstructor(filter);
QCOMPARE(filterCopyConstructor.getEntryRole(), filter.getEntryRole());
QCOMPARE(filterCopyConstructor.getParentId(), filter.getParentId());
for (int i(0); i < filter.getIds().count(); i++) {
QCOMPARE(filterCopyConstructor.getIds().at(i),
filter.getIds().at(i));
}
for (int i(0); i < filter.getTypeNames().count(); i++) {
QCOMPARE(filterCopyConstructor.getTypeNames().at(i),
filter.getTypeNames().at(i));
}
CaQuery query;
query.setEntryRoles(GroupEntryRole);
query.setEntryTypeNames(QStringList() << "Query1" << "Query2");
query.setParentId(77);
CaNotifierFilter filterQuery(query);
QCOMPARE(filterQuery.getEntryRole(), query.entryRoles());
QCOMPARE(filterQuery.getParentId(), query.parentId());
QCOMPARE(filterQuery.getIds().count(), 0);
for (int i(0); i < query.entryTypeNames().count(); i++) {
QCOMPARE(filterQuery.getTypeNames().at(i),
query.entryTypeNames().at(i));
}
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::TestAddItemChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setEntryRole(ItemEntryRole);
QStringList strList;
strList.append("TypeName");
filter->setTypeNames(strList);
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
QTest::qWait(waitTime1sec);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
delete filter;
mService->removeEntry(entry->id());
QTest::qWait(waitTime500ms);
QTest::qWait(waitTime500ms);
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestAddGroupChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setEntryRole(GroupEntryRole);
filter->setTypeNames(QStringList() << "TypeName");
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(group);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntryChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setEntryRole(ItemEntryRole);
filter->setTypeNames(QStringList() << "TypeName");
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
QTest::qWait(waitTime500ms);
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
int entryId = clientNotifier->mEntryId;
clientNotifier->mEntryId = 0;
bool removed = mService->removeEntry(*entry);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, RemoveChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryId);
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntryIdChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setEntryRole(ItemEntryRole);
filter->setTypeNames(QStringList() << "TypeName");
filter->setIds(QList<int>() << entry->id());
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
int entryId = entry->id();
clientNotifier->mEntryId = 0;
bool removed = mService->removeEntry(entryId);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, RemoveChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryId);
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
delete filter;
mService->removeEntry(entry->id());
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntryChangeTypeNotifierFake()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
clientNotifier->mEntryId = 0;
CaEntry *entryFake = new CaEntry();
entryFake->setText("Text");
entryFake->setEntryTypeName("TypeName");
bool removed = mService->removeEntry(*entryFake);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QCOMPARE(clientNotifier->mEntryId, 0);
QCOMPARE(removed, FALSE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
delete entryFake;
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntryIdChangeTypeNotifierFake()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
clientNotifier->mEntryId = 0;
bool removed = mService->removeEntry(entryIdFake);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QCOMPARE(clientNotifier->mEntryId, 0);
QCOMPARE(removed, FALSE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntriesChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
CaEntry item3;
item3.setText("Text");
item3.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry3 = mService->createEntry(item3);
QTest::qWait(waitTime1sec);
CaEntry item4;
item4.setText("Text");
item4.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry4 = mService->createEntry(item4);
QTest::qWait(waitTime1sec);
QList< QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
entriesList.append(entry3);
entriesList.append(entry4);
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setEntryRole(ItemEntryRole);
filter->setTypeNames(QStringList() << "TypeName");
filter->setIds(QList<int>() << entry2->id() << entry3->id());
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
QTest::qWait(waitTime500ms);
clientNotifier->mEntryId = 0;
bool removed = mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, RemoveChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry3->id());
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
delete filter;
mService->removeEntries(entriesList);
QTest::qWait(waitTime500ms);
entriesList.clear();
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntriesIdsChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
CaEntry item3;
item3.setText("Text");
item3.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry3 = mService->createEntry(item3);
QTest::qWait(waitTime1sec);
CaEntry item4;
item4.setText("Text");
item4.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry4 = mService->createEntry(item4);
QTest::qWait(waitTime1sec);
QList<int> entriesIdsList;
entriesIdsList.append(entry1->id());
entriesIdsList.append(entry2->id());
entriesIdsList.append(entry3->id());
entriesIdsList.append(entry4->id());
clientNotifier->mEntryId = 0;
bool removed = mService->removeEntries(entriesIdsList);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, RemoveChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry4->id());
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesIdsList);
QTest::qWait(waitTime500ms);
entriesIdsList.clear();
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntriesChangeTypeNotifierFake()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
{
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
CaEntry item3;
item3.setText("Text");
item3.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry3 = mService->createEntry(item3);
QTest::qWait(waitTime1sec);
CaEntry item4;
item4.setText("Text");
item4.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry4 = mService->createEntry(item4);
QTest::qWait(waitTime1sec);
QList<QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
entriesList.append(entry3);
entriesList.append(entry4);
clientNotifier->mEntryId = 0;
CaEntry itemFake1;
itemFake1.setText("Text");
itemFake1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryFake1 = mService->createEntry(itemFake1);
int entryFake1Id = entryFake1->id();
entryFake1->setId(entryIdFake);
QTest::qWait(waitTime1sec);
CaEntry itemFake2;
itemFake2.setText("Text");
itemFake2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryFake2 = mService->createEntry(itemFake2);
int entryFake2Id = entryFake2->id();
entryFake2->setId(entryIdFake);
QTest::qWait(waitTime1sec);
QList<QSharedPointer<CaEntry> > entriesListFake;
entriesListFake.append(entryFake1);
entriesListFake.append(entryFake2);
clientNotifier->mEntryId = 0;
clientNotifier->mChangeType = AddChangeType;
bool removed = mService->removeEntries(entriesListFake);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QCOMPARE(clientNotifier->mEntryId, 0);
QCOMPARE(removed, FALSE);
entryFake1->setId(entryFake1Id);
entryFake2->setId(entryFake2Id);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesList);
mService->removeEntries(entriesListFake);
QTest::qWait(waitTime500ms);
entriesList.clear();
entriesListFake.clear();
}
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntriesIdsChangeTypeNotifierFake()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
CaEntry item3;
item3.setText("Text");
item3.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry3 = mService->createEntry(item3);
QTest::qWait(waitTime1sec);
CaEntry item4;
item4.setText("Text");
item4.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry4 = mService->createEntry(item4);
QTest::qWait(waitTime1sec);
QList<int> entriesIdsList;
entriesIdsList.append(entry1->id());
entriesIdsList.append(entry2->id());
entriesIdsList.append(entry3->id());
entriesIdsList.append(entry4->id());
CaEntry itemFake1;
itemFake1.setText("Text");
itemFake1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryFake1 = mService->createEntry(itemFake1);
int entryFake1Id = entryFake1->id();
entryFake1->setId(entryIdFake);
QTest::qWait(waitTime1sec);
CaEntry itemFake2;
itemFake2.setText("Text");
itemFake2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryFake2 = mService->createEntry(itemFake2);
int entryFake2Id = entryFake2->id();
entryFake2->setId(entryIdFake);
QTest::qWait(waitTime1sec);
QList<int> entriesIdsListFake;
entriesIdsListFake.append(entryFake1->id());
entriesIdsListFake.append(entryFake2->id());
clientNotifier->mEntryId = 0;
clientNotifier->mChangeType = AddChangeType;
bool removed = mService->removeEntries(entriesIdsListFake);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QCOMPARE(clientNotifier->mEntryId, 0);
QCOMPARE(removed, FALSE);
entryFake1->setId(entryFake1Id);
entryFake2->setId(entryFake2Id);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesIdsList);
mService->removeEntry(*entryFake1);
mService->removeEntry(*entryFake2);
QTest::qWait(waitTime1sec);
entriesIdsList.clear();
entriesIdsListFake.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveGroupChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(group);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
int entryId = clientNotifier->mEntryId;
clientNotifier->mEntryId = 0;
bool removed = mService->removeEntry(*entry);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, RemoveChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryId);
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveGroupsChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
CaEntry group1(GroupEntryRole);
group1.setText("Text");
group1.setEntryTypeName("TypeName1");
QSharedPointer<CaEntry> entry1 = mService->createEntry(group1);
QTest::qWait(waitTime1sec);
CaEntry group2(GroupEntryRole);
group2.setText("Text");
group2.setEntryTypeName("TypeName2");
QSharedPointer<CaEntry> entry2 = mService->createEntry(group2);
QTest::qWait(waitTime1sec);
CaEntry group3(GroupEntryRole);
group3.setText("Text");
group3.setEntryTypeName("TypeName3");
QSharedPointer<CaEntry> entry3 = mService->createEntry(group3);
QTest::qWait(waitTime1sec);
CaEntry group4(GroupEntryRole);
group4.setText("Text");
group4.setEntryTypeName("TypeName4");
QSharedPointer<CaEntry> entry4 = mService->createEntry(group4);
QTest::qWait(waitTime1sec);
QList< QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
entriesList.append(entry3);
entriesList.append(entry4);
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setEntryRole(GroupEntryRole);
filter->setTypeNames(QStringList() << "TypeName3" << "TypeName4");
filter->setIds(QList<int>() << entry3->id());
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
clientNotifier->mEntryId = 0;
bool removed = mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, RemoveChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry3->id());
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
delete filter;
mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
entriesList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void TestCaClient::TestUpdateChangeTypeNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
item.setDescription("description");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
int entryId = clientNotifier->mEntryId;
delete clientNotifier;
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setEntryRole(ItemEntryRole);
filter->setIds(QList<int>() << entry->id());
TestCaClientNotifier *clientNotifierUpdate = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifierUpdate = clientNotifierUpdate->getNotifier();
connect(notifierUpdate, SIGNAL(entryChanged(int,ChangeType)),
clientNotifierUpdate, SLOT(entryChanged(int,ChangeType)));
connect(notifierUpdate, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifierUpdate, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
bool updated = mService->updateEntry(*entry);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifierUpdate->mChangeType, UpdateChangeType);
QVERIFY(clientNotifierUpdate->mEntryId > 0);
QCOMPARE(clientNotifierUpdate->mEntryId, entryId);
QCOMPARE(clientNotifierUpdate->mEntryId, entry->id());
QCOMPARE(clientNotifierUpdate->mEntry->description(), QString("description"));
QCOMPARE(updated, TRUE);
// cleanup
disconnect(notifierUpdate, SIGNAL(entryChanged(int,ChangeType)),
clientNotifierUpdate, SLOT(entryChanged(int,ChangeType)));
disconnect(notifierUpdate, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifierUpdate, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifierUpdate;
delete filter;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestUpdateChangeTypeNotifierFake()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
int entryId = clientNotifier->mEntryId;
clientNotifier->mEntryId = 0;
CaEntry itemFake;
itemFake.setText("Text");
itemFake.setEntryTypeName("TypeName");
bool updated = mService->updateEntry(itemFake);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QCOMPARE(clientNotifier->mEntryId, 0);
QCOMPARE(updated, FALSE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestAddUpdateRemove()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
int entryId = clientNotifier->mEntryId;
clientNotifier->mEntryId = 0;
bool updated = mService->updateEntry(*entry);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, UpdateChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
QCOMPARE(updated, TRUE);
entryId = clientNotifier->mEntryId;
clientNotifier->mEntryId = 0;
bool removed = mService->removeEntry(entryId);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, RemoveChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRegisterNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime1sec);
QCOMPARE(notifier->receivers(SIGNAL(entryChanged(int,ChangeType))), 1);
QCOMPARE(notifier->receivers(SIGNAL(entryChanged(CaEntry,ChangeType))), 1);
QCOMPARE(notifier->receivers(SIGNAL(entryTouched(int))), 1);
QCOMPARE(notifier->receivers(SIGNAL(groupContentChanged(int))), 1);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime1sec);
QCOMPARE(notifier->receivers(SIGNAL(entryChanged(int,ChangeType))), 0);
QCOMPARE(notifier->receivers(SIGNAL(entryChanged(CaEntry,ChangeType))), 0);
QCOMPARE(notifier->receivers(SIGNAL(entryTouched(int))), 0);
QCOMPARE(notifier->receivers(SIGNAL(groupContentChanged(int))), 0);
delete clientNotifier;
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestUnregisterNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
connect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
QCOMPARE(notifier->receivers(SIGNAL(entryChanged(int,ChangeType))), 1);
QCOMPARE(notifier->receivers(SIGNAL(entryChanged(CaEntry,ChangeType))), 1);
QCOMPARE(notifier->receivers(SIGNAL(entryTouched(int))), 1);
QCOMPARE(notifier->receivers(SIGNAL(groupContentChanged(int))), 1);
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(const CaEntry &,ChangeType)),
clientNotifier, SLOT(entryChanged(const CaEntry &,ChangeType)));
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
connect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime1sec);
QCOMPARE(notifier->receivers(SIGNAL(entryChanged(int,ChangeType))), 0);
QCOMPARE(notifier->receivers(SIGNAL(entryChanged(CaEntry,ChangeType))), 0);
QCOMPARE(notifier->receivers(SIGNAL(entryTouched(int))), 0);
QCOMPARE(notifier->receivers(SIGNAL(groupContentChanged(int))), 0);
delete clientNotifier;
QTest::qWait(waitTime500ms);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestTouchEntryNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setEntryRole(ItemEntryRole);
filter->setIds(QList<int>() << entry->id());
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
bool touched = mService->touch(*entry);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
QCOMPARE(touched, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
delete filter;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestTouchEntryIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mEntryId, 0);
bool touched = mService->touch(*entry);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
QCOMPARE(touched, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestTouchEntryNotifierFake()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mEntryId, 0);
CaEntry *entryFake = new CaEntry();
entryFake->setText("Text");
entryFake->setEntryTypeName("TypeName");
bool touched = mService->touch(*entryFake);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mEntryId, 0);
QCOMPARE(touched, FALSE);
// cleanup
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
delete entryFake;
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
void TestCaClient::TestTouchEntryUidNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
QScopedPointer<TestCaClientNotifier> clientNotifier(
new TestCaClientNotifier(*mService));
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier.data(), SLOT(entryTouched(int)));
CaEntry item;
item.setText("Text");
item.setEntryTypeName("application");
item.setAttribute(
"application:uid",
"-3");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QVERIFY(!entry.isNull());
const int expectedEntryId = entry->id();
entry->setId(0);
QCOMPARE(clientNotifier->mEntryId, 0);
bool touched = mService->touch(*entry);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mEntryId, expectedEntryId);
QCOMPARE(touched, true);
// cleanup
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier.data(), SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
mService->removeEntry(expectedEntryId);
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestTouchEntryIdNotifierFake()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(item);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mEntryId, 0);
QScopedPointer<CaEntry> entryFake(new CaEntry());
entryFake->setText("Text");
entryFake->setEntryTypeName("TypeName");
entryFake->setId(entryIdFake);
bool touched = mService->touch(*entryFake);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mEntryId, 0);
QCOMPARE(touched, FALSE);
// cleanup
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestTouchGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(group);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mEntryId, 0);
bool touched = mService->touch(*entry);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entry->id());
QCOMPARE(touched, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryTouched(int)),
clientNotifier, SLOT(entryTouched(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entry->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestAppendEntryGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryG = mService->createEntry(group);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryG->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryI = mService->createEntry(item);
QTest::qWait(waitTime1sec);
int groupId = entryG->id();
clientNotifier->mChangeType = RemoveChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool appended = mService->appendEntryToGroup((CaEntry &)(*entryG), *entryI);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryG->id());
QCOMPARE(appended, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entryI->id());
QTest::qWait(waitTime1sec);
mService->removeEntry(entryG->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestAppendEntryGroupIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryG = mService->createEntry(group);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryG->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryI = mService->createEntry(item);
QTest::qWait(waitTime1sec);
int groupId = entryG->id();
clientNotifier->mChangeType = RemoveChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool appended = mService->appendEntryToGroup(((CaEntry &)*entryG).id(), (*entryI).id());
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryG->id());
QCOMPARE(appended, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entryI->id());
QTest::qWait(waitTime1sec);
mService->removeEntry(entryG->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestAppendEntriesGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryGroup = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryGroup->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryGroup->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
QList< QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
clientNotifier->mChangeType = RemoveChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool appended = mService->appendEntriesToGroup((CaEntry &)*entryGroup, entriesList);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(appended, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
mService->removeEntry(entryGroup->id());
QTest::qWait(waitTime1sec);
entriesList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestAppendEntriesGroupIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryGroup = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryGroup->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryGroup->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryItem1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryItem2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
QList<int> entriesIdsList;
entriesIdsList.append(entryItem1->id());
entriesIdsList.append(entryItem2->id());
clientNotifier->mChangeType = RemoveChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool appended = mService->appendEntriesToGroup(((CaEntry &)*entryGroup).id(), entriesIdsList);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(appended, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesIdsList);
QTest::qWait(waitTime1sec);
mService->removeEntry(entryGroup->id());
QTest::qWait(waitTime1sec);
entriesIdsList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestPrependEntryGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryG = mService->createEntry(group);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryG->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryI = mService->createEntry(item);
QTest::qWait(waitTime1sec);
int groupId = entryG->id();
clientNotifier->mChangeType = RemoveChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool appended = mService->prependEntryToGroup((CaEntry &)(*entryG), *entryI);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryG->id());
QCOMPARE(appended, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entryI->id());
QTest::qWait(waitTime1sec);
mService->removeEntry(entryG->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestPrependEntryGroupIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryG = mService->createEntry(group);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryG->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item;
item.setText("Text");
item.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryI = mService->createEntry(item);
QTest::qWait(waitTime1sec);
int groupId = entryG->id();
clientNotifier->mChangeType = RemoveChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool appended = mService->prependEntryToGroup(((CaEntry &)*entryG).id(), (*entryI).id());
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryG->id());
QCOMPARE(appended, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entryI->id());
QTest::qWait(waitTime1sec);
mService->removeEntry(entryG->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestPrependEntriesGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryGroup = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryGroup->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryGroup->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
QList< QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
clientNotifier->mChangeType = RemoveChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool appended = mService->prependEntriesToGroup((CaEntry &)*entryGroup, entriesList);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(appended, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
mService->removeEntry(entryGroup->id());
QTest::qWait(waitTime1sec);
entriesList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestPrependEntriesGroupIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryGroup = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryGroup->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryGroup->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryItem1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryItem2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
QList<int> entriesIdsList;
entriesIdsList.append(entryItem1->id());
entriesIdsList.append(entryItem2->id());
clientNotifier->mChangeType = RemoveChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool appended = mService->prependEntriesToGroup(((CaEntry &)*entryGroup).id(), entriesIdsList);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(appended, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesIdsList);
QTest::qWait(waitTime1sec);
mService->removeEntry(entryGroup->id());
QTest::qWait(waitTime1sec);
entriesIdsList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntryGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryGroup = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryGroup->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryGroup->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
QList< QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
bool appended = mService->appendEntriesToGroup((CaEntry &)*entryGroup, entriesList);
QTest::qWait(waitTime1sec);
QCOMPARE(appended, TRUE);
clientNotifier->mChangeType = AddChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool removed = mService->removeEntryFromGroup((CaEntry &)*entryGroup, *entry1);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(removed, TRUE);
clientNotifier->mChangeType = AddChangeType;
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
removed = mService->removeEntryFromGroup((CaEntry &)*entryGroup, *entry2);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
mService->removeEntry(entryGroup->id());
QTest::qWait(waitTime1sec);
entriesList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntryGroupIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryGroup = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryGroup->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryGroup->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
QList< QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
bool appended = mService->appendEntriesToGroup((CaEntry &)*entryGroup, entriesList);
QTest::qWait(waitTime1sec);
QCOMPARE(appended, TRUE);
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool removed = mService->removeEntryFromGroup(entryGroup->id(), entry1->id());
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(removed, TRUE);
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
removed = mService->removeEntryFromGroup(entryGroup->id(), entry2->id());
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
mService->removeEntry(entryGroup->id());
QTest::qWait(waitTime1sec);
entriesList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntriesGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryGroup = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryGroup->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryGroup->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
QList<QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
bool appended = mService->appendEntriesToGroup((CaEntry &)*entryGroup, entriesList);
QTest::qWait(waitTime1sec);
QCOMPARE(appended, TRUE);
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool removed = mService->removeEntriesFromGroup((CaEntry &)*entryGroup, entriesList);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
mService->removeEntry(entryGroup->id());
QTest::qWait(waitTime1sec);
entriesList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestRemoveEntriesGroupIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryGroup = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryGroup->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryGroup->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text");
item1.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text");
item2.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
QList<QSharedPointer<CaEntry> > entriesList;
entriesList.append(entry1);
entriesList.append(entry2);
bool appended = mService->appendEntriesToGroup((CaEntry &)*entryGroup, entriesList);
QTest::qWait(waitTime1sec);
QCOMPARE(appended, TRUE);
QList<int> entriesIdList;
entriesIdList.append(entry1->id());
entriesIdList.append(entry2->id());
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool removed = mService->removeEntriesFromGroup(entryGroup->id(), entriesIdList);
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryGroup->id());
QCOMPARE(removed, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntries(entriesList);
QTest::qWait(waitTime1sec);
mService->removeEntry(entryGroup->id());
QTest::qWait(waitTime1sec);
entriesList.clear();
entriesIdList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestInsertEntryGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryG = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryG->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryG->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text1");
item1.setEntryTypeName("TypeName1");
QSharedPointer<CaEntry> entryI1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text2");
item2.setEntryTypeName("TypeName2");
QSharedPointer<CaEntry> entryI2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
bool appended = mService->appendEntryToGroup((CaEntry &)(*entryG), *entryI1);
QTest::qWait(waitTime500ms);
QCOMPARE(appended, TRUE);
appended = mService->prependEntryToGroup((CaEntry &)(*entryG), *entryI2);
QTest::qWait(waitTime500ms);
QCOMPARE(appended, TRUE);
CaEntry item3;
item3.setText("Text3");
item3.setEntryTypeName("TypeName3");
QSharedPointer<CaEntry> entryI3 = mService->createEntry(item3);
QTest::qWait(waitTime1sec);
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool inserted = mService->insertEntryIntoGroup((CaEntry &)*entryG, *entryI3, entryI2->id());
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryG->id());
QCOMPARE(inserted, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entryI1->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI2->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI3->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryG->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void TestCaClient::TestInsertEntryGroupIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryG = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryG->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryG->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text1");
item1.setEntryTypeName("TypeName1");
QSharedPointer<CaEntry> entryI1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text2");
item2.setEntryTypeName("TypeName2");
QSharedPointer<CaEntry> entryI2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
bool appended = mService->appendEntryToGroup(entryG->id(), entryI1->id());
QTest::qWait(waitTime500ms);
QCOMPARE(appended, TRUE);
appended = mService->prependEntryToGroup(entryG->id(), entryI2->id());
QTest::qWait(waitTime500ms);
QCOMPARE(appended, TRUE);
CaEntry item3;
item3.setText("Text3");
item3.setEntryTypeName("TypeName3");
QSharedPointer<CaEntry> entryI3 = mService->createEntry(item3);
QTest::qWait(waitTime1sec);
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool inserted = mService->insertEntryIntoGroup(entryG->id(), entryI3->id(), entryI2->id());
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryG->id());
QCOMPARE(inserted, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entryI1->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI2->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI3->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryG->id());
QTest::qWait(waitTime1sec);
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestInsertEntriesGroupNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryG = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryG->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryG->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text1");
item1.setEntryTypeName("TypeName1");
QSharedPointer<CaEntry> entryI1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text2");
item2.setEntryTypeName("TypeName2");
QSharedPointer<CaEntry> entryI2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
bool appended = mService->appendEntryToGroup((CaEntry &)(*entryG), *entryI1);
QTest::qWait(waitTime500ms);
QCOMPARE(appended, TRUE);
appended = mService->prependEntryToGroup((CaEntry &)(*entryG), *entryI2);
QTest::qWait(waitTime500ms);
QCOMPARE(appended, TRUE);
CaEntry item3;
item3.setText("Text3");
item3.setEntryTypeName("TypeName3");
QSharedPointer<CaEntry> entryI3 = mService->createEntry(item3);
QTest::qWait(waitTime1sec);
CaEntry item4;
item4.setText("Text4");
item4.setEntryTypeName("TypeName4");
QSharedPointer<CaEntry> entryI4 = mService->createEntry(item4);
QTest::qWait(waitTime1sec);
QList<QSharedPointer<CaEntry> > entriesList;
entriesList.append(entryI3);
entriesList.append(entryI4);
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool inserted = mService->insertEntriesIntoGroup((CaEntry &)*entryG, entriesList, entryI2->id());
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryG->id());
QCOMPARE(inserted, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entryI1->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI2->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI3->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI4->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryG->id());
QTest::qWait(waitTime1sec);
entriesList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestInsertEntriesGroupIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
QTest::qWait(waitTime500ms);
CaEntry group(GroupEntryRole);
group.setText("Text");
group.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entryG = mService->createEntry(group);
QTest::qWait(waitTime1sec);
int groupId = entryG->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mEntryId > 0);
QCOMPARE(clientNotifier->mEntryId, entryG->id());
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry item1;
item1.setText("Text1");
item1.setEntryTypeName("TypeName1");
QSharedPointer<CaEntry> entryI1 = mService->createEntry(item1);
QTest::qWait(waitTime1sec);
CaEntry item2;
item2.setText("Text2");
item2.setEntryTypeName("TypeName2");
QSharedPointer<CaEntry> entryI2 = mService->createEntry(item2);
QTest::qWait(waitTime1sec);
bool appended = mService->appendEntryToGroup((CaEntry &)(*entryG), *entryI1);
QTest::qWait(waitTime500ms);
QCOMPARE(appended, TRUE);
appended = mService->prependEntryToGroup((CaEntry &)(*entryG), *entryI2);
QTest::qWait(waitTime500ms);
QCOMPARE(appended, TRUE);
CaEntry item3;
item3.setText("Text3");
item3.setEntryTypeName("TypeName3");
QSharedPointer<CaEntry> entryI3 = mService->createEntry(item3);
QTest::qWait(waitTime1sec);
CaEntry item4;
item4.setText("Text4");
item4.setEntryTypeName("TypeName4");
QSharedPointer<CaEntry> entryI4 = mService->createEntry(item4);
QTest::qWait(waitTime1sec);
QList<int> entriesIdsList;
entriesIdsList.append(entryI3->id());
entriesIdsList.append(entryI4->id());
clientNotifier->mEntryId = 0;
clientNotifier->mGroupId = 0;
bool inserted = mService->insertEntriesIntoGroup(entryG->id(), entriesIdsList, entryI2->id());
QTest::qWait(waitTime1sec);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mGroupId, groupId);
QCOMPARE(clientNotifier->mGroupId, entryG->id());
QCOMPARE(inserted, TRUE);
// cleanup
disconnect(notifier, SIGNAL(entryChanged(int,ChangeType)),
clientNotifier, SLOT(entryChanged(int,ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
mService->removeEntry(entryI1->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI2->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI3->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryI4->id());
QTest::qWait(waitTime500ms);
mService->removeEntry(entryG->id());
QTest::qWait(waitTime1sec);
entriesIdsList.clear();
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
// ---------------------------------------------------------------------------
//
void TestCaClient::TestChangeEntryWithParentIdNotifier()
{
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARK;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
CaNotifierFilter *filter = new CaNotifierFilter();
filter->setParentId(1); // AllCollections
TestCaClientNotifier *clientNotifier = new TestCaClientNotifier(*mService, filter);
CaNotifier *notifier = clientNotifier->getNotifier();
connect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
connect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
CaEntry entryToAdd(ItemEntryRole);
entryToAdd.setText("Text");
entryToAdd.setEntryTypeName("TypeName");
QSharedPointer<CaEntry> entry = mService->createEntry(entryToAdd);
QTest::qWait(waitTime1sec);
int entryId = entry->id();
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QCOMPARE(clientNotifier->mEntryId, 0);
QCOMPARE(clientNotifier->mCount, 0);
bool appended = mService->appendEntryToGroup(3, entryId); // office
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, AddChangeType);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mCount, 1);
mService->removeEntry(entryId);
QTest::qWait(waitTime1sec);
QCOMPARE(clientNotifier->mChangeType, RemoveChangeType);
QVERIFY(clientNotifier->mGroupId > 0);
QCOMPARE(clientNotifier->mCount, 2);
disconnect(notifier, SIGNAL(entryChanged(int, ChangeType)),
clientNotifier, SLOT(entryChanged(int, ChangeType)));
disconnect(notifier, SIGNAL(groupContentChanged(int)),
clientNotifier, SLOT(groupContentChanged(int)));
QTest::qWait(waitTime500ms);
delete clientNotifier;
delete filter;
#ifdef Q_OS_SYMBIAN
#ifdef UT_MEMORY_CHECK
// __UHEAP_MARKEND;
#endif//UT_MEMORY_CHECK
#endif//Q_OS_SYMBIAN
}
//QTEST_MAIN(homescreen::test::TestCaClient)