contentstorage/casoftwareregistry/tsrc/t_casoftwareregistry/src/t_caprogresscaner.cpp
/*
* Copyright (c) 2010 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:
*
*/
#include "caprogresscanner.h"
#include "cauninstallobserver.h"
#include "t_casoftwareregistry.h"
#ifdef Q_OS_SYMBIAN
#include <e32base.h>
#include <e32def.h>
#undef SYMBIAN_ENABLE_SPLIT_HEADERS
#include <usif/scr/scr.h>
#include <usif/scr/screntries.h>
#include <xqconversions.h>
using namespace Usif;
#include <caarraycleanup.inl>
#endif
#ifdef Q_OS_SYMBIAN
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaSoftwareRegistry::testProgresScannerNew()
{
bool result(false);
CaUninstallObserver* uninstallObserver = new CaUninstallObserver();
TRAPD(err,
CCaProgresScanner *progresScanner =
CCaProgresScanner::NewL(uninstallObserver);
result = progresScanner != NULL;
delete progresScanner;
);
delete uninstallObserver;
QCOMPARE(err, KErrNone);
QVERIFY(result);
}
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaSoftwareRegistry::testProgressStartOperationHandler()
{
TInt err( KErrNone );
_LIT(KGlobalCompId, "abc");
_LIT(KComponentName, "compName");
_LIT(KIconPath, "iconPath");
_LIT(KComponentIcon, "iconName");
_LIT(KSoftwareType, "Native");
TUint key = 123456;
TPtrC globalCompId(KGlobalCompId);
TPtrC compName(KComponentName);
TPtrC iconPath(KIconPath);
TPtrC compIcon(KComponentIcon);
TPtrC softwareType(KSoftwareType);
TSifOperationPhase operationPhase = TSifOperationPhase(EInstalling);
TInt compSize = 0;
RPointerArray<HBufC> appNameArray;
CleanupResetAndDestroyPushL(appNameArray);
RPointerArray<HBufC> appIconArray;
CleanupResetAndDestroyPushL(appIconArray);
CSifOperationStartData* startdata = CSifOperationStartData::NewLC(
globalCompId, compName, appNameArray, appIconArray,
compSize, iconPath, compIcon, softwareType, operationPhase);
CaUninstallObserver* uninstallObserver = new CaUninstallObserver();
CCaProgresScanner *progresScanner =
CCaProgresScanner::NewL(uninstallObserver);
TRAP(err, progresScanner->StartOperationHandler(key, *startdata));
delete uninstallObserver;
delete progresScanner;
CleanupStack::PopAndDestroy(3, &appNameArray);
QCOMPARE(err, KErrNone);
}
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaSoftwareRegistry::testProgressProgressOperationHandler()
{
TInt err( KErrNone );
_LIT(KGlobalCompId, "abc");
TPtrC globalCompIdProgress(KGlobalCompId);
TInt phase=0, subPhase=0, curProgress=0, total=0;
TSifOperationPhase enumPhase = static_cast<TSifOperationPhase>(phase);
TSifOperationSubPhase enumSubPhase = static_cast<TSifOperationSubPhase>(subPhase);
CaUninstallObserver* uninstallObserver = new CaUninstallObserver();
CSifOperationProgressData* progressdata = CSifOperationProgressData::NewLC(
globalCompIdProgress, enumPhase, enumSubPhase, curProgress, total);
CCaProgresScanner *progresScanner =
CCaProgresScanner::NewL(uninstallObserver);
TRAP(err, progresScanner->ProgressOperationHandler( *progressdata));
delete uninstallObserver;
delete progresScanner;
CleanupStack::PopAndDestroy(progressdata);
QCOMPARE(err, KErrNone);
}
// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaSoftwareRegistry::testProgressEndOperationHandler()
{
TInt err( KErrNone );
_LIT(KGlobalCompId, "abc");
_LIT(KErrMsg, "errMsg");
_LIT(KErrMsgDetails, "errMsgDetails");
TPtrC errMsg(KErrMsg), errMsgDetails(KErrMsgDetails);
TInt errCat(0), errCode(0);
TPtrC globalCompIdEnd(KGlobalCompId);
TErrorCategory enumErrCat = static_cast<TErrorCategory>(errCat);
CSifOperationEndData* enddata = CSifOperationEndData::NewLC(
globalCompIdEnd, enumErrCat, errCode, errMsg, errMsgDetails);
CaUninstallObserver* uninstallObserver = new CaUninstallObserver();
CCaProgresScanner *progresScanner =
CCaProgresScanner::NewL(uninstallObserver);
TRAP(err, progresScanner->EndOperationHandler( *enddata ));
delete uninstallObserver;
delete progresScanner;
QCOMPARE(err, KErrNone);
CleanupStack::PopAndDestroy(enddata);
}
#endif // Q_OS_SYMBIAN