--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookengines/contactsmodel/tsrc/Integration/CntPerfTest/inc/TestContactViewAccessStep.h Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,145 @@
+/**
+* Copyright (c) 2007-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:
+* The test step to construct the views and access the view Api's like CountL(), AtL(),
+* ContactAtL(), FindL(), SortOrder(), ViewPreferences(), AllFieldsLC(), RefineFindView(),
+* GetContactsMatchingCriteria() and GetContactsMatchingPrefix() based on the variable set
+* in the ini file.
+* Verify and Validate the values returned by the view API's
+*
+*
+*/
+
+
+
+#ifndef TEST_CONTACT_VIEW_ACCESS_STEP_H
+#define TEST_CONTACT_VIEW_ACCESS_STEP_H
+
+// System Includes
+#include <test/testexecutestepbase.h>
+#include <cntdef.h>
+#include <cntviewbase.h>
+#include <cntdb.h>
+#include <e32property.h>
+#include <connect/sbeclient.h>
+
+// User Includes
+#include "CntPerfServer.h"
+#include "ClientServer.h"
+#include "ContactUtilitiesCollection.h"
+
+_LIT(KViewAccessList, "viewaccesslist");
+_LIT(KTestAtLAPI, "testatlapi");
+_LIT(KTestContactAtLAPI, "testcontactatlapi");
+_LIT(KTestCountLAPI, "testcountlapi");
+_LIT(KTestAllFieldsAPI, "testallfieldslapi");
+_LIT(KTestFindLAPI, "testfindlapi");
+_LIT(KTestSortOrder, "testsortorder");
+_LIT(KTestViewPreferences, "testviewpreferences");
+_LIT(KTestContactsMatchingCriteria, "testcontactsmatchingcriteria");
+_LIT(KTestContactsMatchingPrefix, "testcontactsmatchingprefix");
+_LIT(KTestSearchContactId, "testsearchcontactid");
+_LIT(KTestContactssortorderchange, "testContactssortorderchange");
+_LIT(KRefineFindView, "refinefindview");
+_LIT(KFindWords, "findwords");
+_LIT(KSortOrder, "sortorder");
+_LIT(KErrorCondition, "errorcondition");
+_LIT(KInfoContactFields, "Contact fields %S");
+_LIT(KInvalidData, "invaliddata");
+
+
+/**
+ * This class supports performing Backup and Restore operations.
+ */
+class CBackupRestoreHelper : public CBase
+ {
+public:
+ static CBackupRestoreHelper* NewL(CTestStep& aTestStep);
+ ~CBackupRestoreHelper();
+
+ /* Backup and Restore related tests */
+ void StartBackupL();
+ void EndBackupL();
+ void StartRestoreL();
+ void EndRestoreL();
+
+ /* General utility Functions */
+ void Validate(const TBool& aValid);
+ void Validate(const TInt& aDesiredResult, const TInt& aActualResult);
+ CTestStep& BaseTestStepReference();
+
+private:
+ CBackupRestoreHelper(CTestStep& aTestStep);
+ void ConstructL();
+
+private:
+ TDriveList iDriveList;
+ conn::CSBEClient* iBackupClient;
+ CTestStep& iBaseTestStep;
+ RFs iFs;
+ };
+
+/**
+ * The test step class is used to construct the views and access the view Api's like CountL(), AtL(),
+ * ContactAtL(), FindL(), SortOrder(), ViewPreferences(), AllFieldsLC(), RefineFindView(),
+ * GetContactsMatchingCriteria() and GetContactsMatchingPrefix() based on the variable set
+ * in the ini file.
+ */
+class CTestContactViewAccessStep : public CTestStep
+ {
+public:
+ CTestContactViewAccessStep();
+ ~CTestContactViewAccessStep();
+
+ // from CTestStep
+ TVerdict doTestStepPreambleL();
+ TVerdict doTestStepL();
+ TVerdict doTestStepPostambleL();
+
+private:
+ void CreateUtilityClassL();
+ void TestViewAPIsL(const RArray<TPtrC>& aSection);
+ void TestContactViewAtL(const TPtrC& aSection, CContactViewBase* aView);
+ void TestContactAtL(const TPtrC& aSection, CContactViewBase* aView);
+ void TestCountL(const TPtrC& aSection, CContactViewBase* aView);
+ void TestFindL(const TPtrC& aSection, CContactViewBase* aView);
+ void TestContactFieldsL(const TPtrC& aSection, CContactViewBase* aView);
+ void TestContactViewPreferencesL(const TPtrC& aSection, CContactViewBase* aView);
+ void TestSortOrderL(const TPtrC& aSection, CContactViewBase* aView);
+ CContactDatabase* CreateAndOpenDataBaseL(const TPtrC& aDbName, TBool aCreateDataBase = EFalse);
+ CContactDatabase& DatabaseReference();
+ CContactViewCollection& ViewCollectionReference();
+
+ void AccessViewsL();
+
+ void TestViewsUnderBackupRestoreL();
+ void InitateBackupL();
+ void StopBackupL();
+ void InitiateRestoreL();
+ void StopRestoreL();
+
+private:
+ CContactUtilitiesCollection* iContactUtility;
+ CContactDatabase* iCntDb;
+ CContactViewApiTest* iContactViewTest;
+ CContactViewValidation* iViewValidation;
+ CActiveScheduler* iActiveScheduler;
+ CContactViewCollection* iViewCollection;
+ CBackupRestoreHelper* iBackupHelper;
+ TPtrC iDbName;
+ };
+
+_LIT(KTestContactViewAccessStep, "TestContactViewAccessStep");
+
+#endif