--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesDbTestCases.cpp Fri May 08 08:25:06 2009 +0300
@@ -0,0 +1,2210 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:
+*
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32math.h>
+#include "FavouritesEngineTest.h"
+
+// EXTERNAL DATA STRUCTURES
+// None
+
+// EXTERNAL FUNCTION PROTOTYPES
+// None
+
+// CONSTANTS
+// None
+
+// MACROS
+// None
+
+// LOCAL CONSTANTS AND MACROS
+// None
+
+// MODULE DATA STRUCTURES
+// None
+
+// LOCAL FUNCTION PROTOTYPES
+// None
+
+// FORWARD DECLARATIONS
+// None
+
+// ==================== LOCAL FUNCTIONS =======================================
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbOpenTestL
+
+ Description: Test opening the Favourites Db by using the Open method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbOpenTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Open method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ TInt result = iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbVersionTestL
+
+ Description: Test the Favourites Db Version method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbVersionTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Version method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ TVersion dbVersion = iFavouritesDb.Version();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (dbVersion.iMajor > 0)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbIsDamagedTestL
+
+ Description: Test the Favourites Db IsDamaged method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbIsDamagedTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db IsDamaged method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ TBool isDbDamaged = EFalse;
+
+ TInt result = iFavouritesDb.IsDamaged(isDbDamaged);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbRecoverTestL
+
+ Description: Test the Favourites Db Recover method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbRecoverTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Recover method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ TInt result = iFavouritesDb.Recover();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbCompactTestL
+
+ Description: Test the Favourites Db Compact method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbCompactTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Compact method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ TInt result = iFavouritesDb.Compact();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSizeTestL
+
+ Description: Test the Favourites Db Size method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSizeTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Size method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ RDbDatabase::TSize dbSize;
+
+ TInt result = iFavouritesDb.Size(dbSize);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbUpdateStatsTestL
+
+ Description: Test the Favourites Db UpdateStats method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbUpdateStatsTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db UpdateStats method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ TInt result = iFavouritesDb.UpdateStats();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbBeginTestL
+
+ Description: Test the Favourites Db Begin method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbBeginTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Begin method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ TInt result = iFavouritesDb.Begin(EFalse);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbCommitTestL
+
+ Description: Test the Favourites Db Commit method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbCommitTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Commit method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ iFavouritesDb.Begin(EFalse);
+ TInt result = iFavouritesDb.Commit();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbRollbackTestL
+
+ Description: Test the Favourites Db Rollback method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbRollbackTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Rollback method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ iFavouritesDb.Begin(EFalse);
+ CreateItemL( iItem1 );
+ iFavouritesDb.Add( *iItem1, EFalse );
+
+ TInt result = KErrNone;
+ TRAP(result, iFavouritesDb.Rollback());
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ delete iItem1;
+ iItem1 = NULL;
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbCleanupRollbackPushLTestL
+
+ Description: Test the Favourites Db CleanupRollbackPushL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbCleanupRollbackPushLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db CleanupRollbackPushL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ iFavouritesDb.Begin(EFalse);
+ iFavouritesDb.CleanupRollbackPushL();
+ CreateItemL( iItem1 );
+ iFavouritesDb.Add( *iItem1, EFalse );
+ TInt result = iFavouritesDb.Commit();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::Pop(); // RollbackPush
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ delete iItem1;
+ iItem1 = NULL;
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbGetTestL
+
+ Description: Test the Favourites Db Get method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbGetTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Get method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+
+ TInt result = iFavouritesDb.Get( iItem1->Uid(), *item );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(2); // iFavouritesDb, item
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbGetAllTestL
+
+ Description: Test the Favourites Db GetAll method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbGetAllTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db GetAll method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ CFavouritesItemList* list = new (ELeave) CFavouritesItemList();
+
+ TInt result = iFavouritesDb.GetAll( *list, KFavouritesRootUid );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ delete list;
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbGetUidsTestL
+
+ Description: Test the Favourites Db GetUids method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbGetUidsTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db GetUids method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ CArrayFix<TInt>* uids = new (ELeave) CArrayFixFlat<TInt>( 1 );
+
+ TInt result = iFavouritesDb.GetUids( *uids, KFavouritesRootUid, CFavouritesItem::ENone, NULL, KFavouritesNullContextId );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ delete uids;
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbPreferredUidTestL
+
+ Description: Test the Favourites Db PreferredUid method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbPreferredUidTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db PreferredUid method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ iFavouritesDb.SetPreferredUid(iItemFolder1->Uid(), 222);
+ TInt preferredUid;
+ iFavouritesDb.PreferredUid( iItemFolder1->Uid(), preferredUid );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (preferredUid == 222)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbDeleteTestL
+
+ Description: Test the Favourites Db Delete method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbDeleteTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Delete method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TInt countBeforeDelete;
+ iFavouritesDb.Count(countBeforeDelete, KFavouritesNullUid, CFavouritesItem::ENone, NULL, KFavouritesNullContextId);
+ iFavouritesDb.Delete( iItem3->Uid() );
+ TInt countAfterDelete;
+ iFavouritesDb.Count(countAfterDelete, KFavouritesNullUid, CFavouritesItem::ENone, NULL, KFavouritesNullContextId);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (countAfterDelete == countBeforeDelete - 1)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbUpdateTestL
+
+ Description: Test the Favourites Db Update method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbUpdateTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Update method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ CFavouritesItem* updateItem = CFavouritesItem::NewLC();
+
+ InitItemL( updateItem );
+ updateItem->SetParentFolder(iItemFolder1->Uid());
+ TInt result = iFavouritesDb.Update(*updateItem, iItem6->Uid(), EFalse);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(2); // iFavouritesDb, updateItem
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbAddTestL
+
+ Description: Test the Favourites Db Add method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbAddTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Add method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ CFavouritesItem* itemToAdd = CFavouritesItem::NewLC();
+ InitItemL( itemToAdd );
+
+ TInt countBeforeAdd;
+ iFavouritesDb.Count(countBeforeAdd, KFavouritesNullUid, CFavouritesItem::ENone, NULL, KFavouritesNullContextId);
+ iFavouritesDb.Add( *itemToAdd, EFalse );
+ TInt countAfterAdd;
+ iFavouritesDb.Count(countAfterAdd, KFavouritesNullUid, CFavouritesItem::ENone, NULL, KFavouritesNullContextId);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (countAfterAdd == countBeforeAdd + 1)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(2); // iFavouritesDb, itemToAdd
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSetHomepageTestL
+
+ Description: Test the Favourites Db SetHomepage method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSetHomepageTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db SetHomepage method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CFavouritesItem* homepageItem = CFavouritesItem::NewLC();
+ InitItemL( homepageItem );
+
+ TInt result = iFavouritesDb.SetHomepage(*homepageItem);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(2); // iFavouritesDb, homepageItem
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSetLastVisitedTestL
+
+ Description: Test the Favourites Db SetLastVisited method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSetLastVisitedTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db SetLastVisited method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CFavouritesItem* lastvisitedItem = CFavouritesItem::NewLC();
+ InitItemL( lastvisitedItem );
+
+ TInt result = iFavouritesDb.SetLastVisited( *lastvisitedItem );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(2); // iFavouritesDb, lastvisitedItem
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSetFactoryItemTestL
+
+ Description: Test the Favourites Db SetFactoryItem method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSetFactoryItemTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db SetFactoryItem method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TInt result = iFavouritesDb.SetFactoryItem( iItem1->Uid(), ETrue );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSetReadOnlyTestL
+
+ Description: Test the Favourites Db SetReadOnly method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSetReadOnlyTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db SetReadOnly method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TInt result = iFavouritesDb.SetReadOnly( iItem1->Uid(), ETrue );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSetModifiedTestL
+
+ Description: Test the Favourites Db SetModified method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSetModifiedTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db SetModified method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TInt result = iFavouritesDb.SetModified( iItem1->Uid(), TTime() );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSetPreferredUidTestL
+
+ Description: Test the Favourites Db SetPreferredUid method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSetPreferredUidTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db SetPreferredUid method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TInt result = iFavouritesDb.SetPreferredUid(iItemFolder1->Uid(), 222);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbItemExistsTestL
+
+ Description: Test the Favourites Db ItemExists method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbItemExistsTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db ItemExists method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TBool doesItemExist;
+
+ TInt result = iFavouritesDb.ItemExists(iItem1->Uid(), doesItemExist);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbFolderExistsTestL
+
+ Description: Test the Favourites Db FolderExists method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbFolderExistsTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db FolderExists method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TBool doesFolderExist;
+
+ TInt result = iFavouritesDb.FolderExists(iItemFolder1->Uid(), doesFolderExist);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbCountTestL
+
+ Description: Test the Favourites Db Count method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbCountTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Count method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TInt count;
+ TInt result = iFavouritesDb.Count(count, KFavouritesNullUid, CFavouritesItem::ENone, NULL, KFavouritesNullContextId);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSetDataTestL
+
+ Description: Test the Favourites Db SetData method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSetDataTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db SetData method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TFavouritesItemTestData data;
+ data.iTestData = 222;
+
+ TInt result = iFavouritesDb.SetData(iItem1->Uid(), data);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbGetDataTestL
+
+ Description: Test the Favourites Db GetData method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbGetDataTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db GetData method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TFavouritesItemTestData data;
+ data.iTestData = 222;
+
+ iFavouritesDb.SetData(iItem1->Uid(), data);
+ TInt result = iFavouritesDb.GetData(iItem1->Uid(), data);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbSetBrowserDataTestL
+
+ Description: Test the Favourites Db SetBrowserData method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbSetBrowserDataTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db SetBrowserData method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TFavouritesItemTestData data;
+ data.iTestData = 222;
+
+ TInt result = iFavouritesDb.SetBrowserData(iItem1->Uid(), data);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbGetBrowserDataTestL
+
+ Description: Test the Favourites Db GetBrowserData method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbGetBrowserDataTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db GetBrowserData method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TFavouritesItemTestData data;
+ data.iTestData = 222;
+
+ iFavouritesDb.SetBrowserData(iItem1->Uid(), data);
+ TInt result = iFavouritesDb.GetBrowserData(iItem1->Uid(), data);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbMakeUniqueNameWithFolderTestL
+
+ Description: Test the Favourites Db MakeUniqueName method with folder argument.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbMakeUniqueNameWithFolderTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db MakeUniqueName method with folder argument");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TBuf<KFavouritesMaxName> name = _L("Item");
+ TInt result = iFavouritesDb.MakeUniqueName( name, KFavouritesRootUid );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbMakeUniqueNameTestL
+
+ Description: Test the Favourites Db MakeUniqueName method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbMakeUniqueNameTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db MakeUniqueName method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ CFavouritesItem* uniqueItem = CFavouritesItem::NewLC();
+
+ InitItemL( uniqueItem );
+ TInt result = iFavouritesDb.MakeUniqueName( *uniqueItem );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (result == KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(2); // iFavouritesDb, uniqueItem
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbCreateStartPageItemLTestL
+
+ Description: Test the Favourites Db CreateStartPageItemL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbCreateStartPageItemLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db CreateStartPageItemL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ CFavouritesItem* startPageItem = iFavouritesDb.CreateStartPageItemL();
+ CleanupStack::PushL( startPageItem );
+
+ _LIT( KData2 ,"Finished" );
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if ( startPageItem->Uid() == KFavouritesStartPageUid )
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(2); // iFavouritesDb, startPageItem
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbCreateAdaptiveItemsFolderLTestL
+
+ Description: Test the Favourites Db CreateAdaptiveItemsFolderL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbCreateAdaptiveItemsFolderLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db CreateAdaptiveItemsFolderL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ CFavouritesItem* adaptiveItemsFolder = iFavouritesDb.CreateAdaptiveItemsFolderL();
+ CleanupStack::PushL( adaptiveItemsFolder );
+
+ _LIT( KData2 ,"Finished" );
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if ( adaptiveItemsFolder->Uid() == KFavouritesAdaptiveItemsFolderUid )
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(2); // iFavouritesDb, startPageItem
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbDeleteFileTestL
+
+ Description: Test the Favourites Db DeleteFile method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbDeleteFileTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db DeleteFile method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TInt result = iFavouritesDb.DeleteFile( iItem1->Uid() );
+
+ _LIT( KData2 ,"Finished" );
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if ( result == KErrNotFound )
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbRestoreFactorySettingsLTestL
+
+ Description: Test the Favourites Db RestoreFactorySettingsL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbRestoreFactorySettingsLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+/* _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db RestoreFactorySettingsL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ _LIT( KFailureMode , "RestoreFactorySettingsL is leaving in the STIF test context.");
+ aResult.SetResult( KErrGeneral, KFailureMode );
+
+ _LIT( KFailureMode2 , "That leave cannot currently be trapped, so unable to test.");
+ aResult.SetResult( KErrGeneral, KFailureMode2 );
+
+ _LIT( KBookmarkDatabaseBackup, "c:\\system\\data\\Bookmarks1.db.backup" );
+ _LIT( KBookmarkDatabase, "c:\\private\\100012a5\\DBS_101FD685_Test.db" );
+ _LIT( KDatabasePath, "c:\\testdata\\Bookmarks1.db.RfsTest.v80" );
+
+ TRAPD( err, RFavouritesDb::RestoreFactorySettingsL( KTestDbName, KDatabasePath, *this ) );
+
+ if ( err == KErrPathNotFound )
+ {
+*/
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+/* }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+*/
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: DbDeleteTestL
+
+ Description: Test the Favourites Db Delete method on deleting a non-empty
+ folder.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Draft
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::DbDeleteFolderTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the Db Delete method on Folder");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+ CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+
+ CreatePopulatedDbL();
+
+ TInt countBeforeDelete;
+ iFavouritesDb.Count(countBeforeDelete, KFavouritesNullUid, CFavouritesItem::ENone, NULL, KFavouritesNullContextId);
+
+ /*
+ ::Delete API documentation states:
+ "If this is a folder, all descendants and the contents of them are deleted."
+ Deleting iItemFolder1 must cause iItem3 and iItem4 to be deleted.
+ */
+ const TInt result = iFavouritesDb.Delete( iItemFolder1->Uid() );
+
+ TInt countAfterDelete;
+ iFavouritesDb.Count(countAfterDelete, KFavouritesNullUid, CFavouritesItem::ENone, NULL, KFavouritesNullContextId);
+
+ // 3 less items - the folder iItemFolder1 and items iItem3, iItem4 in
+ // that folder
+ if ( (result == KErrNone) && (countAfterDelete == countBeforeDelete - 3 ) )
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy(); // iFavouritesDb
+ iFavouritesSession.DeleteDatabase( KTestDbName );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+
+// ================= OTHER EXPORTED FUNCTIONS =================================
+
+// End of File