/*
* Copyright (c) 2002 - 2008 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:
*
*/
// CLASS HEADER
#include "MT_GSFramework.h"
// EXTERNAL INCLUDES
#include <EUnitMacros.h>
#include <EUnitDecorators.h>
//#include <..\..\..\..\GSFramework\src\GSParentContainer.cpp>
#include <APGCLI.H> // RApaLsSession
#include "TestGSPlugin.h"
// INTERNAL INCLUDES
const TUid KTestActiveViewId = { 0x10 };
const TUid KTestWhateverPubSubId = { 0x00 };
const TInt KTestWhateverPubSubKey = 0;
// CONSTRUCTION
MT_GSFramework* MT_GSFramework::NewL()
{
MT_GSFramework* self = MT_GSFramework::NewLC();
CleanupStack::Pop();
return self;
}
MT_GSFramework* MT_GSFramework::NewLC()
{
MT_GSFramework* self = new( ELeave ) MT_GSFramework();
CleanupStack::PushL( self );
self->ConstructL();
return self;
}
// Destructor (virtual by CBase)
MT_GSFramework::~MT_GSFramework()
{
}
// Default constructor
MT_GSFramework::MT_GSFramework()
{
}
// Second phase construct
void MT_GSFramework::ConstructL()
{
// The ConstructL from the base class CEUnitTestSuiteClass must be called.
// It generates the test case table.
CEUnitTestSuiteClass::ConstructL();
}
void MT_GSFramework::SetupNone()
{
}
void MT_GSFramework::TeardownNone()
{
}
////////////////// CGSTabHelper test cases //////////////////////////////////
void MT_GSFramework::SetupTabHelperL( )
{
iCGSTabHelper = CGSTabHelper::NewL();
iPlugins = new (ELeave) CArrayPtrFlat<CGSPluginInterface>(2);
iTabbedViews = new (ELeave) CArrayPtrFlat<MGSTabbedView>(2);
}
void MT_GSFramework::TeardownTabHelper()
{
delete iCGSTabHelper;
iCGSTabHelper = NULL;
delete iPlugins;
iPlugins = NULL;
delete iTabbedViews;
iTabbedViews = NULL;
}
void MT_GSFramework::T_CGSTabHelper_NewLL()
{
CGSTabHelper* ptr = CGSTabHelper::NewL();
EUNIT_ASSERT( ptr );
delete ptr;
}
void MT_GSFramework::T_CGSTabHelper_NewLCL()
{
CGSTabHelper* ptr = CGSTabHelper::NewLC();
EUNIT_ASSERT( ptr );
CleanupStack::PopAndDestroy();
}
void MT_GSFramework::T_CGSTabHelper__CGSTabHelperL( )
{
RHeap heap = User::Heap();
TInt block = 0;
TInt after;
CGSTabHelper* th;
TInt before = heap.Available( block );
th = CGSTabHelper::NewL();
delete th;
after = heap.Available( block );
TInt delta = before - after;
EUNIT_ASSERT_DESC( before <= after, "Possible heap memory leak");
}
void MT_GSFramework::T_CGSTabHelper_CreateTabGroupLL( )
{
iCGSTabHelper->CreateTabGroupL( KTestActiveViewId, this );
EUNIT_ASSERT_DESC( ETrue, "Tab group pseudo creation done");
}
void MT_GSFramework::T_CGSTabHelper_CreateTabGroupL2L( )
{
iCGSTabHelper->CreateTabGroupL( KTestActiveViewId, iPlugins );
EUNIT_ASSERT_DESC( ETrue, "Run this far wihout panic?");
}
void MT_GSFramework::T_CGSTabHelper_CreateTabGroupL3L( )
{
iCGSTabHelper->CreateTabGroupL( KTestActiveViewId, iTabbedViews );
EUNIT_ASSERT_DESC( ETrue, "Run this far without panic?");
}
void MT_GSFramework::T_CGSTabHelper_RemoveTabGroupL( )
{
iCGSTabHelper->RemoveTabGroup();
EUNIT_ASSERT_DESC( ETrue, "Run this far without panic?");
}
void MT_GSFramework::T_CGSTabHelper_TabChangedLL( )
{
TInt tabIndex = 0;
iCGSTabHelper->TabChangedL( tabIndex );
EUNIT_ASSERT_DESC( ETrue, "Run this far without panic?");
}
// MGSTabbedViewOwner
CArrayPtrFlat<CGSPluginInterface>* MT_GSFramework::TabbedViews()
{
return iPlugins;
}
// MGSTabbedViewOwner
void MT_GSFramework::TabChangedL( TUid /*selectedTabUid*/ )
{
}
// MGSPluginLoadObserver
void MT_GSFramework::HandlePluginLoaded( KGSPluginLoaderStatus aStatus )
{
}
/////////////////////// CGSPluginLoader test cases ///////////////////////////////////
void MT_GSFramework::SetupPluginLoaderL()
{
iPlugins = new (ELeave) CArrayPtrFlat<CGSPluginInterface>(2);
CAknViewAppUi* appUi = (CAknViewAppUi*)CEikonEnv::Static()->EikAppUi();
iCGSPluginLoader = CGSPluginLoader::NewL( appUi );
}
void MT_GSFramework::TearDownPluginLoader()
{
delete iCGSPluginLoader;
iCGSPluginLoader = NULL;
delete iPlugins;
iPlugins = NULL;
}
void MT_GSFramework::T_CGSPluginLoader_NewL()
{
CAknViewAppUi* appUi = (CAknViewAppUi*)CEikonEnv::Static()->EikAppUi();
iCGSPluginLoader = CGSPluginLoader::NewL( appUi );
delete iCGSPluginLoader;
iCGSPluginLoader = NULL;
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPluginLoader__CGSPluginLoader()
{
CAknViewAppUi* appUi = (CAknViewAppUi*)CEikonEnv::Static()->EikAppUi();
iCGSPluginLoader = CGSPluginLoader::NewL( appUi );
delete iCGSPluginLoader;
iCGSPluginLoader = NULL;
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPluginLoader_LoadAsyncL()
{
iCGSPluginLoader->LoadAsyncL( KGSPluginInterfaceUid,
KTestActiveViewId,
iPlugins );
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPluginLoader_SetObserver()
{
iCGSPluginLoader->SetObserver( this );
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPluginLoader_AbortAsyncLoad()
{
iCGSPluginLoader->AbortAsyncLoad();
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPluginLoader_SortPluginsL()
{
iCGSPluginLoader->SortPluginsL( iPlugins );
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
/////////////// CGSParentContainer test cases //////////////////////////////
// CGSParentContainer
void MT_GSFramework::SetupParentContainerL()
{
// iGSParentContainer = new (ELeave) CGSParentContainer();
// iGSParentContainer->ConstructL();
}
void MT_GSFramework::TearDownParentContainer()
{
// delete iGSParentContainer;
// iGSParentContainer = NULL;
}
// CGSParentContainer test cases:
void MT_GSFramework::T_CGSParentContainer_FocusChanged()
{
// iGSParentContainer->FocusChanged( ENoDrawNow );
#pragma message("TODO: implement real test case!")
EUNIT_ASSERT_DESC( EFalse, "Not implemented.");
}
///////////////////// CGSPubSubsListener test cases ///////////////////////
void MT_GSFramework::SetupPubSubsListenerL()
{
iCGSPubSubsListener = CGSPubSubsListener::NewL( KTestWhateverPubSubId,
KTestWhateverPubSubKey,
this );
}
void MT_GSFramework::TearDownPubSubsListener()
{
delete iCGSPubSubsListener;
iCGSPubSubsListener = NULL;
}
void MT_GSFramework::T_CGSPubSubsListener_NewL()
{
CGSPubSubsListener* psl = CGSPubSubsListener::NewL( KTestWhateverPubSubId,
KTestWhateverPubSubKey,
this );
delete psl;
psl = NULL;
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPubSubsListener__CGSPubSubsListener()
{
CGSPubSubsListener* psl = CGSPubSubsListener::NewL( KTestWhateverPubSubId,
KTestWhateverPubSubKey,
this );
delete psl;
psl = NULL;
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPubSubsListener_Get1()
{
TInt val = 0;
iCGSPubSubsListener->Get( val );
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPubSubsListener_Get2()
{
TBuf8<25> buf;
iCGSPubSubsListener->Get( buf );
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
void MT_GSFramework::T_CGSPubSubsListener_Get3()
{
TBuf16<25> buf;
iCGSPubSubsListener->Get( buf );
EUNIT_ASSERT_DESC( ETrue, "Run this far?");
}
// From MGSSettingPSObserver
void MT_GSFramework::HandleNotifyPSL( const TUid aUid,
const TInt& aKey,
const TRequestStatus& aStatus )
{
}
// ------------------------------- Launch Gs application test cases ---------------------------------------//
void MT_GSFramework::SetupLaunch()
{
iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
// Launch Gs application...
RApaLsSession lsSession;
User::LeaveIfError( lsSession.Connect() );
CleanupClosePushL( lsSession );
TApaAppInfo appInfo;
TUid uid;
uid.iUid = 0x100058EC; // Gs application uid
User::LeaveIfError( lsSession.GetAppInfo(appInfo, uid) );
TFileName appName = appInfo.iFullName;
CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
cmdLine->SetExecutableNameL( appName );
cmdLine->SetCommandL( EApaCommandRun );
User::LeaveIfError( lsSession.StartApp( *cmdLine ) );
CleanupStack::PopAndDestroy( cmdLine );
CleanupStack::PopAndDestroy(); // lsSession
}
void MT_GSFramework::TeardownLaunch()
{
if ( !iPeriodic->IsActive() )
{
iPeriodic->Start( 2000000, 1000000, TCallBack( CloseTopMostWindow, static_cast<TAny*>( this ) ) );
}
CActiveScheduler::Start();
// Close the error note
ikeySimulateCase = 0;
iKeyNumber = 0;
if ( !iPeriodic->IsActive() )
{
iPeriodic->Start( 2000000, 500000, TCallBack( SimulateKeyEvent, static_cast<TAny*>( this ) ) );
}
CActiveScheduler::Start();
if ( iPeriodic )
{
iPeriodic->Cancel();
}
delete iPeriodic;
}
TBool MT_GSFramework::GetKeyCodeCase0( TKeyCode& aKeyCode )
{
TBool ret = ETrue;
iKeyNumber++;
switch ( iKeyNumber )
{
case 1:
aKeyCode = EKeyOK;
break;
default:
ret = EFalse;
}
return ret;
}
TInt MT_GSFramework::CloseTopMostWindow( TAny* aPtr )
{
MT_GSFramework* instL = static_cast<MT_GSFramework*>( aPtr );
instL->DoCloseTopMostWindowL();
CActiveScheduler::Stop();
return KErrNone;
}
void MT_GSFramework::DoCloseTopMostWindowL()
{
RWsSession* ws = &CCoeEnv::Static()->WsSession();
// Get a list of IDs of the all the window groups
CArrayFixFlat<TInt>* windowList = new CArrayFixFlat<TInt>(4);
CleanupStack::PushL(windowList);
// Get a list of window group IDs
User::LeaveIfError(ws->WindowGroupList(0, windowList));
// Get the top most window group
TInt wgId = (*windowList)[0];
CleanupStack::PopAndDestroy(); // windowList
TApaTask task(*ws);
task.SetWgId(wgId);
task.SendSystemEvent(EApaSystemEventShutdown);
iPeriodic->Cancel();
}
TInt MT_GSFramework::SimulateKeyEvent( TAny* aPtr )
{
MT_GSFramework* instL = static_cast<MT_GSFramework*>( aPtr );
instL->DoSimulateKeyEventL();
return KErrNone;
}
void MT_GSFramework::DoSimulateKeyEventL()
{
TKeyCode keyCode;
TBool hasKey;
switch ( ikeySimulateCase )
{
case 0:
hasKey = GetKeyCodeCase0( keyCode );
break;
case 1:
hasKey = GetKeyCodeCase1( keyCode );
break;
case 2:
hasKey = GetKeyCodeCase2( keyCode );
break;
case 3:
hasKey = GetKeyCodeCase3( keyCode );
break;
case 4:
hasKey = GetKeyCodeCase4( keyCode );
break;
default:
hasKey = EFalse;
}
if ( hasKey )
{
TKeyEvent event;
event.iCode = keyCode;
event.iScanCode = 0;
event.iRepeats = 0;
event.iModifiers = 0;
TWsEvent wsEvent;
*( wsEvent.Key() ) = event;
wsEvent.SetType( EEventKey );
wsEvent.SetTimeNow();
RWsSession* ws = &CCoeEnv::Static()->WsSession();
TInt wgId = ws->GetFocusWindowGroup();
ws->SendEventToWindowGroup( wgId, wsEvent );
}
else
{
iPeriodic->Cancel();
CActiveScheduler::Stop();
}
}
void MT_GSFramework::LaunchGsApp1L()
{
ikeySimulateCase = 1;
iKeyNumber = 0;
if ( !iPeriodic->IsActive() )
{
iPeriodic->Start( 2000000, 1000000, TCallBack( SimulateKeyEvent, static_cast<TAny*>( this ) ) );
}
CActiveScheduler::Start();
}
TBool MT_GSFramework::GetKeyCodeCase1( TKeyCode& aKeyCode )
{
TBool ret = ETrue;
iKeyNumber++;
switch ( iKeyNumber )
{
case 1:
aKeyCode = EKeyDownArrow;
break;
case 2:
aKeyCode = EKeyDownArrow;
break;
case 3:
aKeyCode = EKeyUpArrow;
break;
case 4:
aKeyCode = EKeyEnter; // Phone
break;
case 5:
aKeyCode = EKeyEnter; // Date & time
break;
case 6:
aKeyCode = EKeyEnter; // Time
break;
case 7:
aKeyCode = EKeyCBA2;
break;
case 8:
aKeyCode = EKeyDownArrow;
break;
case 9:
aKeyCode = EKeyEnter; // Time Zone
break;
case 10:
aKeyCode = EKeyCBA2;
break;
case 11:
aKeyCode = EKeyDownArrow;
break;
case 12:
aKeyCode = EKeyEnter; // Date
break;
case 13:
aKeyCode = EKeyCBA2;
break;
case 14:
aKeyCode = EKeyDownArrow;
break;
case 15:
aKeyCode = EKeyEnter; // Date format
break;
case 16:
aKeyCode = EKeyDownArrow;
break;
case 17:
aKeyCode = EKeyCBA1;
break;
case 18:
aKeyCode = EKeyDownArrow;
break;
case 19:
aKeyCode = EKeyEnter; // Date separator
break;
case 20:
aKeyCode = EKeyCBA2;
break;
case 21:
aKeyCode = EKeyDownArrow;
break;
case 22:
aKeyCode = EKeyEnter; // Time format
break;
case 23:
aKeyCode = EKeyDownArrow;
break;
case 24:
aKeyCode = EKeyEnter; // Time separator
break;
case 25:
aKeyCode = EKeyDownArrow;
break;
case 26:
aKeyCode = EKeyEnter; // Clock type
break;
case 27:
aKeyCode = EKeyDownArrow;
break;
case 28:
aKeyCode = EKeyEnter; // Clock Alarm Tone
break;
case 29:
User::After(2000000);
aKeyCode = EKeyCBA2;
break;
case 30:
aKeyCode = EKeyDownArrow;
break;
case 31:
aKeyCode = EKeyEnter; // Alarm Snooze Time
break;
case 32:
aKeyCode = EKeyCBA2;
break;
case 33:
aKeyCode = EKeyDownArrow;
break;
case 34:
aKeyCode = EKeyEnter; // Workdays
break;
case 35:
aKeyCode = EKeyCBA2;
break;
case 36:
aKeyCode = EKeyCBA2;
break;
case 37:
aKeyCode = EKeyCBA2;
break;
default:
ret = EFalse;
}
return ret;
}
void MT_GSFramework::LaunchGsApp2L()
{
ikeySimulateCase = 2;
iKeyNumber = 0;
if ( !iPeriodic->IsActive() )
{
iPeriodic->Start( 2000000, 1000000, TCallBack( SimulateKeyEvent, static_cast<TAny*>( this ) ) );
}
CActiveScheduler::Start();
}
TBool MT_GSFramework::GetKeyCodeCase2( TKeyCode& aKeyCode )
{
TBool ret = ETrue;
iKeyNumber++;
switch ( iKeyNumber )
{
case 1:
aKeyCode = EKeyDownArrow;
break;
case 2:
aKeyCode = EKeyEnter; // phone
break;
case 3:
aKeyCode = EKeyDownArrow;
break;
case 4:
aKeyCode = EKeyDownArrow;
break;
case 5:
aKeyCode = EKeyDownArrow;
break;
case 6:
aKeyCode = EKeyEnter; // Display
break;
case 7:
aKeyCode = EKeyEnter; // Light sensor
break;
case 8:
aKeyCode = EKeyCBA2;
break;
case 9:
aKeyCode = EKeyDownArrow;
break;
case 10:
aKeyCode = EKeyEnter; // Display text size
break;
case 11:
aKeyCode = EKeyCBA2;
break;
case 12:
aKeyCode = EKeyDownArrow;
break;
case 13:
aKeyCode = EKeyEnter; // Screen save time-out
break;
case 14:
aKeyCode = EKeyCBA2;
break;
case 15:
aKeyCode = EKeyDownArrow;
break;
case 16:
aKeyCode = EKeyEnter; // Welcome note or image
break;
case 17:
aKeyCode = EKeyCBA1;
break;
case 18:
aKeyCode = EKeyDownArrow;
break;
case 19:
aKeyCode = EKeyEnter; // Backlight time-out
break;
case 20:
aKeyCode = EKeyCBA2;
break;
case 21:
aKeyCode = EKeyCBA2;
break;
case 22:
aKeyCode = EKeyCBA2;
break;
default:
ret = EFalse;
}
return ret;
}
void MT_GSFramework::LaunchGsApp3L()
{
ikeySimulateCase = 3;
iKeyNumber = 0;
if ( !iPeriodic->IsActive() )
{
iPeriodic->Start( 2000000, 1000000, TCallBack( SimulateKeyEvent, static_cast<TAny*>( this ) ) );
}
CActiveScheduler::Start();
}
TBool MT_GSFramework::GetKeyCodeCase3( TKeyCode& aKeyCode )
{
TBool ret = ETrue;
iKeyNumber++;
switch ( iKeyNumber )
{
case 1:
aKeyCode = EKeyEnter; // open Persional
break;
case 2:
aKeyCode = EKeyDownArrow;
break;
case 3:
aKeyCode = EKeyDownArrow;
break;
case 4:
aKeyCode = EKeyDownArrow;
break;
case 5:
aKeyCode = EKeyEnter; // open Standby
break;
case 6:
aKeyCode = EKeyEnter; // open Shortcut
break;
case 7:
aKeyCode = EKeyEnter; // open Lift idle softkey
break;
case 8:
aKeyCode = EKeyCBA2;
break;
case 9:
aKeyCode = EKeyCBA2;
break;
/* case 10:
aKeyCode = EKeyCBA2;
break;
case 11:
aKeyCode = EKeyCBA2;
break;*/
default:
ret = EFalse;
}
return ret;
}
void MT_GSFramework::LaunchGsApp4L()
{
ikeySimulateCase = 4;
iKeyNumber = 0;
if ( !iPeriodic->IsActive() )
{
iPeriodic->Start( 2000000, 1000000, TCallBack( SimulateKeyEvent, static_cast<TAny*>( this ) ) );
}
CActiveScheduler::Start();
}
TBool MT_GSFramework::GetKeyCodeCase4( TKeyCode& aKeyCode )
{
TBool ret = ETrue;
iKeyNumber++;
switch ( iKeyNumber )
{
case 1:
aKeyCode = EKeyEnter; // open Persional
break;
case 2:
aKeyCode = EKeyDownArrow;
break;
case 3:
aKeyCode = EKeyDownArrow;
break;
case 4:
aKeyCode = EKeyEnter; // open Standby
break;
case 5:
aKeyCode = EKeyEnter; // open Shortcut
break;
case 6:
aKeyCode = EKeyEnter; // open Lift idle softkey
break;
case 7:
aKeyCode = EKeyCBA2;
break;
case 8:
aKeyCode = EKeyCBA2;
break;
/* case 10:
aKeyCode = EKeyCBA2;
break;
case 11:
aKeyCode = EKeyCBA2;
break;*/
default:
ret = EFalse;
}
return ret;
}
// ----------------------------- CGSBaseView test cases ------------------------------------ //
void MT_GSFramework::SetupCGSBaseViewL()
{
iTestBaseView = CTestGSBaseView::NewL();
}
void MT_GSFramework::TeardownCGSBaseView()
{
delete iTestBaseView;
iTestBaseView = NULL;
}
void MT_GSFramework::MT_CGSBaseView_SetCurrentItemL()
{
iTestBaseView->SetCurrentItem( 0 );
}
void MT_GSFramework::MT_CGSBaseView_ContainerL()
{
iTestBaseView->Container();
}
void MT_GSFramework::MT_CGSBaseView_SetNaviPaneLL()
{
iTestBaseView->SetNaviPaneL();
}
void MT_GSFramework::MT_CGSBaseView_CreateNaviPaneContextLL()
{
iTestBaseView->CreateNaviPaneContextL( 1 );
}
// ------------------------------- CGSParentPlugin test cases -------------------------------- //
void MT_GSFramework::SetupCGSParentPluginL()
{
iParentPlugin = static_cast<CGSParentPlugin*> ( CTestGSPlugin::NewL() );
}
void MT_GSFramework::TeardownCGSParentPlugin()
{
delete iParentPlugin;
iParentPlugin = NULL;
}
void MT_GSFramework::MT_CGSParentPlugin_UpperLevelViewUidL()
{
EUNIT_ASSERT_NO_LEAVE( iParentPlugin->UpperLevelViewUid() );
}
void MT_GSFramework::MT_CGSParentPlugin_UpdateViewL()
{
EUNIT_ASSERT_NO_LEAVE( iParentPlugin->UpdateView() );
}
void MT_GSFramework::MT_CGSParentPlugin_SetOptionFlagsL()
{
TBitFlags optionFlags;
EUNIT_ASSERT_NO_LEAVE( iParentPlugin->SetOptionFlags( optionFlags ) );
}
void MT_GSFramework::MT_CGSParentPlugin_OptionFlagsL()
{
EUNIT_ASSERT_NO_LEAVE( iParentPlugin->OptionFlags() );
}
void MT_GSFramework::MT_CGSParentPlugin_GetHelpContextL()
{
TCoeHelpContext context;
EUNIT_ASSERT_NO_LEAVE( iParentPlugin->GetHelpContext( context ) );
}
void MT_GSFramework::MT_CGSParentPlugin_SelectedPluginL()
{
CGSPluginInterface* plug = iParentPlugin->SelectedPlugin();
EUNIT_ASSERT( plug == NULL );
}
void MT_GSFramework::MT_CGSParentPlugin_TransferDynamicPluginLL()
{
TRAPD( err, iParentPlugin->TransferDynamicPluginL( NULL ) )
EUNIT_PRINT( _L("error = %d"), err );
}
// ---------------------------- CGSPluginInterface test cases -------------------------- //
void MT_GSFramework::MT_CGSPluginInterface_ItemTypeL()
{
CGSPluginInterface* plugInterface = static_cast<CGSPluginInterface*> ( iParentPlugin );
EUNIT_ASSERT_NO_LEAVE( plugInterface->ItemType() );
}
void MT_GSFramework::MT_CGSPluginInterface_HandleSelectionL()
{
CGSPluginInterface* plugInterface = static_cast<CGSPluginInterface*> ( iParentPlugin );
TGSSelectionTypes selectionType = EGSSelectionBySelectionKey;
EUNIT_ASSERT_NO_LEAVE( plugInterface->HandleSelection( selectionType ) );
}
void MT_GSFramework::MT_CGSPluginInterface_PluginProviderCategoryL()
{
CGSPluginInterface* plugInterface = static_cast<CGSPluginInterface*> ( iParentPlugin );
EUNIT_ASSERT_NO_LEAVE( plugInterface->PluginProviderCategory() );
}
void MT_GSFramework::MT_CGSPluginInterface_CustomOperationLL()
{
CGSPluginInterface* plugInterface = static_cast<CGSPluginInterface*> ( iParentPlugin );
TAny* any = plugInterface->CustomOperationL( NULL, NULL );
EUNIT_ASSERT( any == NULL );
}
void MT_GSFramework::MT_CGSPluginInterface_SetOrderL()
{
CGSPluginInterface* plugInterface = static_cast<CGSPluginInterface*> ( iParentPlugin );
EUNIT_ASSERT_NO_LEAVE( plugInterface->SetOrder( 0 ) );
}
void MT_GSFramework::MT_CGSPluginInterface_CreateIconLL()
{
CGSPluginInterface* plugInterface = static_cast<CGSPluginInterface*> ( iParentPlugin );
CGulIcon* icon = plugInterface->CreateIconL( KGSIconTypeLbxItem );
CleanupStack::PushL( icon );
EUNIT_ASSERT( icon != NULL );
CleanupStack::PopAndDestroy( icon );
}
void MT_GSFramework::MT_CGSPluginInterface_GetEcomDestructorKey()
{
CGSPluginInterface* plugInterface = static_cast<CGSPluginInterface*> ( iParentPlugin );
TUid dTorID;
EUNIT_ASSERT_NO_LEAVE( dTorID = plugInterface->GetEcomDestructorKey() );
}
/**
* @param text1 Textual description of the test case.
* @param text2 The class to be tested.
* @param text3 The method to be tested.
* @param text4 Test case type: refer to EUnit User Manual for correct values.
* @param setupFunc Test setup function.
* @param runFunc Test run function.
* @param teardownFunc Test teardown function.
*/
// TEST TABLE
EUNIT_BEGIN_TEST_TABLE(
MT_GSFramework,
"Tests for GSFramework.dll.",
"MODULE" )
EUNIT_TEST(
"#1 launch Gs application",
"Settings framework classes",
"settings framework api",
"FUNCTIONALITY",
SetupLaunch, LaunchGsApp1L, TeardownLaunch)
EUNIT_TEST(
"#2 launch Gs application",
"Settings framework classes",
"settings framework api",
"FUNCTIONALITY",
SetupLaunch, LaunchGsApp2L, TeardownLaunch)
EUNIT_TEST(
"#3 launch Gs application",
"Settings framework classes",
"settings framework api",
"FUNCTIONALITY",
SetupLaunch, LaunchGsApp3L, TeardownLaunch)
EUNIT_TEST(
"#4 launch Gs application",
"Settings framework classes",
"settings framework api",
"FUNCTIONALITY",
SetupLaunch, LaunchGsApp4L, TeardownLaunch)
EUNIT_TEST(
"GSBsView:SetCurrentItem",
"CGSBaseView",
"SetCurrentItem",
"FUNCTIONALITY",
SetupCGSBaseViewL, MT_CGSBaseView_SetCurrentItemL, TeardownCGSBaseView)
EUNIT_TEST(
"GSBsView:Container",
"CGSBaseView",
"Container",
"FUNCTIONALITY",
SetupCGSBaseViewL, MT_CGSBaseView_ContainerL, TeardownCGSBaseView)
EUNIT_TEST(
"GSBsView:SetNaviPaneL",
"CGSBaseView",
"SetNaviPaneL",
"FUNCTIONALITY",
SetupCGSBaseViewL, MT_CGSBaseView_SetNaviPaneLL, TeardownCGSBaseView)
EUNIT_TEST(
"GSBsView:CreateNaviPaneContextL",
"CGSBaseView",
"CreateNaviPaneContextL",
"FUNCTIONALITY",
SetupCGSBaseViewL, MT_CGSBaseView_CreateNaviPaneContextLL, TeardownCGSBaseView)
EUNIT_TEST(
"GSPrntPlg:UpperLevelViewUid",
"CGSParentPlugin",
"UpperLevelViewUid",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSParentPlugin_UpperLevelViewUidL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPrntPlg:UpdateView",
"CGSParentPlugin",
"UpdateView",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSParentPlugin_UpdateViewL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPrntPlg:SetOptionFlags",
"CGSParentPlugin",
"SetOptionFlags",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSParentPlugin_SetOptionFlagsL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPrntPlg:OptionFlags",
"CGSParentPlugin",
"OptionFlags",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSParentPlugin_OptionFlagsL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPrntPlg:GetHelpContext",
"CGSParentPlugin",
"GetHelpContext",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSParentPlugin_GetHelpContextL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPrntPlg:SelectedPlugin",
"CGSParentPlugin",
"SelectedPlugin",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSParentPlugin_SelectedPluginL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPrntPlg:TransferDynamicPluginL",
"CGSParentPlugin",
"TransferDynamicPluginL",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSParentPlugin_TransferDynamicPluginLL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPlgIF:ItemType",
"CGSPluginInterface",
"ItemType",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSPluginInterface_ItemTypeL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPlgIF:HandleSelection",
"CGSPluginInterface",
"HandleSelection",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSPluginInterface_HandleSelectionL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPlgIF:PluginProviderCategory",
"CGSPluginInterface",
"PluginProviderCategory",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSPluginInterface_PluginProviderCategoryL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPlgIF:CustomOperationL",
"CGSPluginInterface",
"CustomOperationL",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSPluginInterface_CustomOperationLL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPlgIF:SetOrder",
"CGSPluginInterface",
"SetOrder",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSPluginInterface_SetOrderL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPlgIF:CreateIconL",
"CGSPluginInterface",
"CreateIconL",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSPluginInterface_CreateIconLL, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSPlgIF:GetEcomDestructorKey",
"CGSPluginInterface",
"GetEcomDestructorKey",
"FUNCTIONALITY",
SetupCGSParentPluginL, MT_CGSPluginInterface_GetEcomDestructorKey, TeardownCGSParentPlugin)
EUNIT_TEST(
"GSTabHlpr:~CGSTabHelper",
"CGSTabHelper",
"~CGSTabHelper",
"FUNCTIONALITY",
SetupTabHelperL, T_CGSTabHelper__CGSTabHelperL, TeardownTabHelper)
EUNIT_TEST(
"GSTabHlpr:CreateTabGroupL",
"CGSTabHelper",
"CreateTabGroupL",
"FUNCTIONALITY",
SetupTabHelperL, T_CGSTabHelper_CreateTabGroupLL, TeardownTabHelper)
EUNIT_TEST(
"GSTabHlpr:CreateTabGroupL2",
"CGSTabHelper",
"CreateTabGroupL2",
"FUNCTIONALITY",
SetupTabHelperL, T_CGSTabHelper_CreateTabGroupL2L, TeardownTabHelper)
EUNIT_TEST(
"GSTabHlpr:CreateTabGroupL3",
"CGSTabHelper",
"CreateTabGroupL3",
"FUNCTIONALITY",
SetupTabHelperL, T_CGSTabHelper_CreateTabGroupL3L, TeardownTabHelper)
EUNIT_TEST(
"GSTabHlpr:RemoveTabGroupL",
"CGSTabHelper",
"RemoveTabGroupL",
"FUNCTIONALITY",
SetupTabHelperL, T_CGSTabHelper_RemoveTabGroupL, TeardownTabHelper)
EUNIT_TEST(
"GSTabHlpr:TabChangedL",
"CGSTabHelper",
"TabChangedL",
"FUNCTIONALITY",
SetupTabHelperL, T_CGSTabHelper_TabChangedLL, TeardownTabHelper)
EUNIT_TEST(
"GSTabHlpr:NewL",
"CGSTabHelper",
"NewL",
"FUNCTIONALITY",
SetupNone, T_CGSTabHelper_NewLL, TeardownNone)
EUNIT_TEST(
"GSTabHlpr:NewLC",
"CGSTabHelper",
"NewLC",
"FUNCTIONALITY",
SetupNone, T_CGSTabHelper_NewLCL, TeardownNone)
/*
EUNIT_TEST(
"FocusChanged",
"CGSParentContainer",
"FocusChanged",
"FUNCTIONALITY",
SetupParentContainerL, T_CGSParentContainer_FocusChanged, TearDownParentContainer)
*/
EUNIT_TEST(
"GSPlgLdr:NewL",
"CGSPluginLoader",
"NewL",
"FUNCTIONALITY",
SetupNone, T_CGSPluginLoader_NewL, TeardownNone)
EUNIT_TEST(
"GSPlgLdr:Destructor",
"CGSPluginLoader",
"~CGSPluginLoader",
"FUNCTIONALITY",
SetupNone, T_CGSPluginLoader__CGSPluginLoader, TeardownNone)
EUNIT_TEST(
"GSPlgLdr:LoadAsyncL",
"CGSPluginLoader",
"LoadAsyncL",
"FUNCTIONALITY",
SetupPluginLoaderL, T_CGSPluginLoader_LoadAsyncL, TearDownPluginLoader)
EUNIT_TEST(
"GSPlgLdr:SetObserver",
"CGSPluginLoader",
"SetObserver",
"FUNCTIONALITY",
SetupPluginLoaderL, T_CGSPluginLoader_SetObserver, TearDownPluginLoader)
EUNIT_TEST(
"GSPlgLdr:AbortAsyncLoad",
"CGSPluginLoader",
"AbortAsyncLoad",
"FUNCTIONALITY",
SetupPluginLoaderL, T_CGSPluginLoader_AbortAsyncLoad, TearDownPluginLoader)
EUNIT_TEST(
"GSPlgLdr:SortPluginsL",
"CGSPluginLoader",
"SortPluginsL",
"FUNCTIONALITY",
SetupPluginLoaderL, T_CGSPluginLoader_SortPluginsL, TearDownPluginLoader)
EUNIT_TEST(
"GSPSLsnr:NewL",
"CGSPubSubsListener",
"NewL",
"FUNCTIONALITY",
SetupNone, T_CGSPubSubsListener_NewL, TeardownNone)
EUNIT_TEST(
"GSPSLsnr:CGSPubSubsListener",
"CGSPubSubsListener",
"~CGSPubSubsListener",
"FUNCTIONALITY",
SetupNone, T_CGSPubSubsListener__CGSPubSubsListener, TeardownNone)
EUNIT_TEST(
"GSPSLsnr:Get1",
"CGSPubSubsListener",
"Get1",
"FUNCTIONALITY",
SetupPubSubsListenerL, T_CGSPubSubsListener_Get1, TearDownPubSubsListener)
EUNIT_TEST(
"GSPSLsnr:Get2",
"CGSPubSubsListener",
"Get2",
"FUNCTIONALITY",
SetupPubSubsListenerL, T_CGSPubSubsListener_Get2, TearDownPubSubsListener)
EUNIT_TEST(
"GSPSLsnr:Get3",
"CGSPubSubsListener",
"Get3",
"FUNCTIONALITY",
SetupPubSubsListenerL, T_CGSPubSubsListener_Get3, TearDownPubSubsListener)
EUNIT_END_TEST_TABLE
// END OF FILE