web_pub/favourites_engine_api/tsrc/src/FavouritesFileTestCases.cpp
changeset 1 7c90e6132015
child 25 0ed94ceaa377
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesFileTestCases.cpp	Fri May 08 08:25:06 2009 +0300
@@ -0,0 +1,423 @@
+/*
+* Copyright (c) 2002 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: FileCloseTestL
+
+    Description: Test the RFavouritesFile Close 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::FileCloseTestL( TTestResult& aResult )
+    {
+    /* Simple server connect */
+    _LIT( KDefinition ,"State" );
+    _LIT( KData ,"Test the RFavouritesFile Close method" );
+    TestModuleIf().Printf( 0, KDefinition, KData );
+
+    iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+    CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+    
+    CreatePopulatedDbL();
+
+    RFavouritesFile file;
+	file.Open( iFavouritesDb, iItem1->Uid() );
+	
+	file.Close();  // Close returns void, so we have to assume success
+
+    _LIT( KData2 ,"Finished" );
+    TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+    _LIT( KDescription , "Test case passed" );
+    aResult.SetResult( KErrNone, KDescription );
+
+    CleanupStack::PopAndDestroy(); // iFavouritesDb
+    iFavouritesSession.DeleteDatabase( KTestDbName );
+
+    // Case was executed
+    return KErrNone;
+    }
+
+/*
+-------------------------------------------------------------------------------
+
+    Class: CFavouritesEngineTest
+
+    Method: FileOpenTestL
+
+    Description: Test the RFavouritesFile 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::FileOpenTestL( TTestResult& aResult )
+    {
+    /* Simple server connect */
+    _LIT( KDefinition ,"State" );
+    _LIT( KData ,"Test the RFavouritesFile Open method" );
+    TestModuleIf().Printf( 0, KDefinition, KData );
+
+    iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+    CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+    
+    CreatePopulatedDbL();
+
+    RFavouritesFile file;
+	TInt result = file.Open( iFavouritesDb, iItem1->Uid() );
+
+    _LIT( KData2 ,"Finished" );
+    TestModuleIf().Printf( 0, KDefinition, KData2 );
+	
+	file.Close();
+
+    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: FileReplaceTestL
+
+    Description: Test the RFavouritesFile Replace 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::FileReplaceTestL( TTestResult& aResult )
+    {
+    /* Simple server connect */
+    _LIT( KDefinition ,"State" );
+    _LIT( KData ,"Test the RFavouritesFile Replace method" );
+    TestModuleIf().Printf( 0, KDefinition, KData );
+
+    iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+    CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+    
+    CreatePopulatedDbL();
+
+    RFavouritesFile file;
+	TInt result = file.Replace( iFavouritesDb, KFavouritesRootUid );
+
+    _LIT( KData2 ,"Finished" );
+    TestModuleIf().Printf( 0, KDefinition, KData2 );
+	
+	file.Close();
+
+    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: FileReadTestL
+
+    Description: Test the RFavouritesFile Read 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::FileReadTestL( TTestResult& aResult )
+    {
+    /* Simple server connect */
+    _LIT( KDefinition ,"State" );
+    _LIT( KData ,"Test the RFavouritesFile Read method" );
+    TestModuleIf().Printf( 0, KDefinition, KData );
+
+    iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+    CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+    
+    CreatePopulatedDbL();
+
+    RFavouritesFile fileToWrite;
+    TPtrC8 testString = _L8("Once upon a time");
+        
+    fileToWrite.Replace( iFavouritesDb, iItem1->Uid() );
+        
+    fileToWrite.Write(testString);
+    
+    fileToWrite.Close();
+
+    RFavouritesFile fileToRead;
+	HBufC8 *readBuf = HBufC8::NewLC(testString.Length());
+	TPtr8 readPtr(readBuf->Des());
+	
+    fileToRead.Open( iFavouritesDb, iItem1->Uid() );
+
+	TInt result = fileToRead.Read( readPtr );
+
+    _LIT( KData2 ,"Finished" );
+    TestModuleIf().Printf( 0, KDefinition, KData2 );
+	
+	fileToRead.Close();
+
+    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, readBuf
+    iFavouritesSession.DeleteDatabase( KTestDbName );
+
+    // Case was executed
+    return KErrNone;
+    }
+
+/*
+-------------------------------------------------------------------------------
+
+    Class: CFavouritesEngineTest
+
+    Method: FileWriteTestL
+
+    Description: Test the RFavouritesFile Write 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::FileWriteTestL( TTestResult& aResult )
+    {
+    /* Simple server connect */
+    _LIT( KDefinition ,"State" );
+    _LIT( KData ,"Test the RFavouritesFile Write method" );
+    TestModuleIf().Printf( 0, KDefinition, KData );
+
+    iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+    CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+    
+    CreatePopulatedDbL();
+
+    RFavouritesFile fileToWrite;
+    TPtrC8 testString = _L8("Once upon a time");
+        
+    fileToWrite.Replace( iFavouritesDb, iItem1->Uid() );
+        
+    TInt result = fileToWrite.Write(testString);
+    
+    _LIT( KData2 ,"Finished" );
+    TestModuleIf().Printf( 0, KDefinition, KData2 );
+	
+    fileToWrite.Close();
+
+    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: FileSizeTestL
+
+    Description: Test the RFavouritesFile 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::FileSizeTestL( TTestResult& aResult )
+    {
+    /* Simple server connect */
+    _LIT( KDefinition ,"State" );
+    _LIT( KData ,"Test the RFavouritesFile Size method" );
+    TestModuleIf().Printf( 0, KDefinition, KData );
+
+    iFavouritesDb.Open( iFavouritesSession, KTestDbName );
+    CleanupClosePushL<RFavouritesDb>( iFavouritesDb );
+    
+    CreatePopulatedDbL();
+
+    RFavouritesFile file;
+
+    TPtrC8 testString = _L8("Once upon a time");
+        
+    file.Replace( iFavouritesDb, iItem1->Uid() );
+        
+    file.Write(testString);
+
+    TInt dbSize;
+    
+    TInt result = file.Size( dbSize );
+
+    _LIT( KData2 ,"Finished" );
+    TestModuleIf().Printf( 0, KDefinition, KData2 );
+	
+	file.Close();
+	
+    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;
+    }
+
+// ================= OTHER EXPORTED FUNCTIONS =================================
+
+// End of File