diff -r 594d59766373 -r 7d48bed6ce0c phonesrv_plat/voice_mailbox_number_api/tsrc/src/vmbxenginetest.cpp --- a/phonesrv_plat/voice_mailbox_number_api/tsrc/src/vmbxenginetest.cpp Thu Aug 19 10:28:14 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,453 +0,0 @@ -/* -* 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: For packing VMBXEngine test component. -* -*/ - - -// INCLUDE FILES -#include -#include -#include -#include -#include - -#include "vmnumber.h" -#include "vmbxenginetest.h" - -// ======== MEMBER FUNCTIONS ======== - -const TUid KUidVoiceMailbox = {0x101F874F}; -const TUint32 KVmUIKeyOpts = 0x00000010; - - -const TInt KVmUIKeyOptsForSimOnly = 1; -const TInt KVmDefaultUIKeyOpts = 0; - -// --------------------------------------------------------------------------- -// C++ default constructor can NOT contain any code, that -// might leave. -// --------------------------------------------------------------------------- -// -CVmbxEngineTest::CVmbxEngineTest( CTestModuleIf& aTestModuleIf ) : - CScriptBase( aTestModuleIf ), iSession( NULL ), iNotifyHandler( NULL ) - { - } - -// --------------------------------------------------------------------------- -// ConstructL -// --------------------------------------------------------------------------- -// -void CVmbxEngineTest::ConstructL() - { - // Constructing static buffer size logger, needed with OOM testing because - // normally logger allocates memory from heap! - iLog = CStifLogger::NewL( KLogPath, - KLogFile, - CStifLogger::ETxt, - CStifLogger::EFile, - EFalse, - ETrue, - ETrue, - EFalse, - ETrue, - EFalse, - 100 ); - iLog->Log( _L( "CVmbxEngineTest logging starts!" ) ); - } - -// --------------------------------------------------------------------------- -// NewL creates a new test module -// --------------------------------------------------------------------------- -// -CVmbxEngineTest* CVmbxEngineTest::NewL( CTestModuleIf& aTestModuleIf ) - { - CVmbxEngineTest* self = new ( ELeave ) CVmbxEngineTest( aTestModuleIf ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -// --------------------------------------------------------------------------- -// Destructor -// --------------------------------------------------------------------------- -// -CVmbxEngineTest::~CVmbxEngineTest() - { - if ( iLog ) - { - iLog->Log( _L( "###### TEST MODULE CLOSED #######" ) ); - delete iLog; - } - - delete iVmbxNumber; - - if ( iNotifyHandler ) - { - iNotifyHandler->StopListening(); - delete iNotifyHandler; - } - - delete iSession; - delete iNumberBuf; - } - -// --------------------------------------------------------------------------- -// From class CScriptBase. -// Runs a script line -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::RunMethodL( CStifItemParser& aItem ) - { - static TStifFunctionInfo const KFunctions[] = - { - ENTRY( "Connect", CVmbxEngineTest::Connect ), - ENTRY( "Close", CVmbxEngineTest::Close ), - // test RVmbxNumber APIs - ENTRY( "AllowedToChangeTheNumber", - CVmbxEngineTest::AllowedToChangeTheNumber ), - ENTRY( "SelectTypeL", CVmbxEngineTest::SelectTypeL ), - ENTRY( "IsSimMemory", CVmbxEngineTest::IsSimMemory ), - ENTRY( "QueryVideoMbxNumber", CVmbxEngineTest::QueryVideoMbxNumber ), - ENTRY( "QueryNumberL", CVmbxEngineTest::QueryNumberL ), - ENTRY( "GetVideoMbxNumber", CVmbxEngineTest::GetVideoMbxNumber ), - ENTRY( "ConfCenRepForEditNotAllowedL", - CVmbxEngineTest::ConfCenRepForEditNotAllowedL ), - ENTRY( "RevertCenRepEditNotAllowedL", - CVmbxEngineTest::RevertCenRepEditNotAllowedL ), - ENTRY( "ConfCenRepForEditAllowedL", - CVmbxEngineTest::ConfCenRepForEditAllowedL ), - ENTRY( "InitGetNumFromSpecialMem", - CVmbxEngineTest::InitGetNumFromSpecialMem ), - ENTRY( "TestGetNumFromSpecialMem", - CVmbxEngineTest::TestGetNumFromSpecialMem ), - ENTRY( "CleanupGetNumFromSpecialMem", - CVmbxEngineTest::CleanupGetNumFromSpecialMem ) - }; - - const TInt count = sizeof( KFunctions ) / - sizeof( TStifFunctionInfo ); - - return RunInternalL( KFunctions, count, aItem ); - } - -// --------------------------------------------------------------------------- -// Calls CVmbxEngineTest::Connect method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::Connect( CStifItemParser& /*aItem*/ ) - { - TInt error = KErrAlreadyExists; - if ( !iVmbxNumber ) - { - iVmbxNumber = new RVmbxNumber(); - if ( iVmbxNumber ) - { - iLog->Log( _L( "Opening.." ) ); - error = iVmbxNumber->Open(); - if ( KErrNone == error ) - { - // save the source number temporarily - // so that it will be used while some cases are reverted. - SaveSourceNumber(); - } - } - } - iLog->Log( _L( "Connecting done, %d" ), error ); - return error; - } - -// --------------------------------------------------------------------------- -// Calls CVmbxEngineTest::Close method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::Close( CStifItemParser& /*aItem*/ ) - { - iLog->Log( _L( "Closing.." ) ); - - if ( iVmbxNumber ) - { - iVmbxNumber->Close(); - delete iVmbxNumber; - iVmbxNumber = NULL; - - if ( iNumberBuf ) - { - delete iNumberBuf; - iNumberBuf = NULL; - } - } - return KErrNone; - } - -// --------------------------------------------------------------------------- -// CVmbxEngineTest::AllowedToChangeTheNumber method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::AllowedToChangeTheNumber( CStifItemParser& /*aItem*/ ) - { - TInt result( KErrNone ); - result = iVmbxNumber->AllowedToChangeTheNumber(); - - iLog->Log( _L( "AllowedToChangeTheNumber return %d" ), result); - return result; - } - -// --------------------------------------------------------------------------- -// CVmbxEngineTest::SelectTypeL method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::SelectTypeL( CStifItemParser& /*aItem*/ ) - { - TInt result( KErrNone ); - TRAP( result, iVmbxNumber->SelectTypeL( EVmbxDefine ) ); - - iLog->Log( _L( "SelectTypeL return result %d" ), result ); - return result; - } - -// --------------------------------------------------------------------------- -// CVmbxEngineTest::IsSimMemory method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::IsSimMemory( CStifItemParser& /*aItem*/ ) - { - // Use allownextresult keyword in config file to control what is expected - // return value in your test case. - TInt result( KErrNone ); - result = iVmbxNumber->IsSimMemory(); - iLog->Log( _L( "IsSimMemory return %d" ), result ); - return result; - } - -// --------------------------------------------------------------------------- -// CVmbxEngineTest::QueryVideoMbxNumber method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::QueryVideoMbxNumber( CStifItemParser& aItem ) - { - // Use allownextresult keyword in config file to control what is expected - // return value in your test case. - TInt result( KErrNone ); - TBuf< KVmbxMaxNumberLength > number; - - TInt queryType( KErrNone ); - aItem.GetNextInt( queryType ); - - TRAP( result, iVmbxNumber->QueryVideoMbxNumberL( - ( TVmbxQueryType )queryType, number ) ); - - iLog->Log( _L( "QueryVideoMbxNumber return %d" ), result ); - return result; - } - -// --------------------------------------------------------------------------- -// CVmbxEngineTest::QueryNumberL method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::QueryNumberL( CStifItemParser& aItem ) - { - // Use allownextresult keyword in config file to control what is expected - // return value in your test case. - TInt result( KErrNone ); - TBuf< KVmbxMaxNumberLength > number; - - TInt queryType( KErrNone ); - aItem.GetNextInt( queryType ); - - TRAP( result, iVmbxNumber->QueryNumberL( ( TVmbxQueryType )queryType, - number, EFalse ) ); - - iLog->Log( _L( "QueryNumberL return %d" ), result ); - return result; - } - -// --------------------------------------------------------------------------- -// CVmbxEngineTest::GetVideoMbxNumber method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::GetVideoMbxNumber( CStifItemParser& /*aItem*/ ) - { - // Use allownextresult keyword in config file to control what is expected - // return value in your test case. - TInt result( KErrNone ); - TBuf< KVmbxMaxNumberLength > number; - - result = iVmbxNumber->GetVideoMbxNumber( number ); - - iLog->Log( _L( "GetVideoMbxNumber return %d" ), result ); - return result; - } - -// --------------------------------------------------------------------------- -// Calls CVmbxEngineTest::ConfCenRepForEditNotAllowedL method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::ConfCenRepForEditNotAllowedL( CStifItemParser& /*aItem*/ ) - { - TInt ret( KErrNone ); - // create central repository for session and handler - CreateCentralRepositoryL(); - - // configurate the key for the special condition like "sim only" - ret = iSession->Set( KVmUIKeyOpts, KVmUIKeyOptsForSimOnly ); - - iLog->Log( _L( "ConfCenRepForEditNotAllowedL %d" ), ret ); - return ret; - } - -// --------------------------------------------------------------------------- -// Calls CVmbxEngineTest::RevertCenRepEditNotAllowedL method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::RevertCenRepEditNotAllowedL( CStifItemParser& /*aItem*/ ) - { - TInt ret( KErrNone ); - // reset the key to default value - ret = iSession->Set( KVmUIKeyOpts, KVmDefaultUIKeyOpts ); - iLog->Log( _L( "RevertCenRepEditNotAllowedL %d" ), ret ); - return ret; - } - -// --------------------------------------------------------------------------- -// Calls CVmbxEngineTest::ConfCenRepForEditAllowedL method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::ConfCenRepForEditAllowedL( CStifItemParser& /*aItem*/ ) - { - TInt ret( KErrNone ); - // create central repository for session and handler - CreateCentralRepositoryL(); - - // configurate the key for the special condition like "sim only" - ret = iSession->Set( KVmUIKeyOpts, KVmDefaultUIKeyOpts ); - - iLog->Log( _L( "ConfCenRepForEditAllowedL %d" ), ret ); - return ret; - } - -// --------------------------------------------------------------------------- -// Calls CVmbxEngineTest::InitGetNumFromSpecialMem method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::InitGetNumFromSpecialMem( CStifItemParser& aItem ) - { - TInt ret( KErrNone ); - - // Get number from Script file - TPtrC numberFromScript; - aItem.GetNextString( numberFromScript ); - iLog->Log( _L( "InitGetNumFromSpecialMem saving number %S" ), - &numberFromScript ); - - // the number need to be saved to the sim/phone memory - // to init the special case - ret = iVmbxNumber->SaveVmbxNumber( numberFromScript, - EAlsActiveLineEntry ); - - iLog->Log( _L( "InitGetNumFromSpecialMem return %d" ), ret ); - return ret; - } - -// --------------------------------------------------------------------------- -// Calls CVmbxEngineTest::TestGetNumFromSpecialMem method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::TestGetNumFromSpecialMem( CStifItemParser& aItem ) - { - TInt ret( KErrNotFound ); - TBuf< KVmbxMaxNumberLength > number; - // Use allownextresult keyword in config file to control what is expected - // return value in your test case. - - TPtrC numberFromScript; - aItem.GetNextString( numberFromScript ); - iLog->Log( _L( "TestGetNumFromSpecialMem saving number %S" ), - &numberFromScript ); - - ret = iVmbxNumber->GetVmbxNumber( number ); - if ( KErrNone == ret && KErrNone == number.Compare( numberFromScript ) ) - { - ret = KErrNone; - } - - iLog->Log( _L( "TestGetNumFromSpecialMem number %S" ), &number ); - iLog->Log( _L( "TestGetNumFromSpecialMem return %d" ), ret ); - return ret; - } - -// --------------------------------------------------------------------------- -// Calls CVmbxEngineTest::CleanupGetNumFromSpecialMem method -// --------------------------------------------------------------------------- -// -TInt CVmbxEngineTest::CleanupGetNumFromSpecialMem( CStifItemParser& /*aItem*/ ) - { - TInt ret( KErrNone ); - // revert the source number to sim/phone memory - ret = iVmbxNumber->SaveVmbxNumber( *iNumberBuf, - EAlsActiveLineEntry ); - - iLog->Log( _L( "CleanupGetNumFromSpecialMem return %d" ), ret ); - return ret; - } - -// --------------------------------------------------------------------------- -// Save the source number temporarily -// --------------------------------------------------------------------------- -// -void CVmbxEngineTest::SaveSourceNumber() - { - iNumberBuf = HBufC::New( KVmbxMaxNumberLength ); - if ( iNumberBuf ) - { - TPtr ptr( iNumberBuf->Des() ); - iVmbxNumber->GetVmbxNumber( ptr ); - } - } - -// --------------------------------------------------------------------------- -// Create central repository for session and handler -// --------------------------------------------------------------------------- -// -void CVmbxEngineTest::CreateCentralRepositoryL() - { - if ( !iSession ) - { - // create central repository - iSession = CRepository::NewL( KUidVoiceMailbox ); - } - - if ( !iNotifyHandler ) - { - // set notify handler, when the key had been changed - // in the whole repository - iNotifyHandler = CCenRepNotifyHandler::NewL( *this, *iSession ); - if ( iNotifyHandler ) - { - iNotifyHandler->StartListeningL(); - } - } - } - -// ======== GLOBAL FUNCTIONS ======== -// ----------------------------------------------------------------------------- -// LibEntryL is a polymorphic Dll entry point -// Returns: CScriptBase*: Pointer to Test Module object -// ----------------------------------------------------------------------------- -// -EXPORT_C CScriptBase* LibEntryL( CTestModuleIf& aTestModuleIf ) - { - return CVmbxEngineTest::NewL( aTestModuleIf ); - }