diff -r 6727c5d0afc7 -r 458d8c8d9580 homescreenapp/stateplugins/hsmenuworkerstateplugin/tsrc/t_hsmenuworkerstateplugin/src/t_hsuninstallitemstate.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/tsrc/t_hsmenuworkerstateplugin/src/t_hsuninstallitemstate.cpp Mon Oct 04 00:07:25 2010 +0300 @@ -0,0 +1,170 @@ +/* +* 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: Main test class for hsHomeScreenStatePlugin library. +* +*/ + +#include +#include + +#ifdef Q_OS_SYMBIAN +#include +#include +#endif//Q_OS_SYMBIAN + +#include "hsuninstallitemstate.h" +#include "t_hsmenuworkerstateplugin.h" +#include "hscontentservice.h" +#include "hsshortcutservice.h" +#include "hsmenueventfactory.h" +#include "hsmenuevent.h" +#include "hsmenuitemmodel.h" + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// +void MenuStatesTest::HsUninstallItemState_construction() +{ +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARK; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN + { + QState parentState1; + parentState1.setObjectName(tr("testName1")); + + HsUninstallItemState uni1(&parentState1); + QString s1 = uni1.objectName(); + QVERIFY(s1 == tr("testName1/UninstallItemState")); + } +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARKEND; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN +} + + +void MenuStatesTest::HsUninstallItemState_onEntry() +{ +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARK; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN + { + QState parentState3; + parentState3.setObjectName(tr("testName3")); + HsUninstallItemState uni3(&parentState3); + + int SomeAppId = 14; ////app to uninst + + QVariantMap params; + params.insert(Hs::itemIdKey, SomeAppId); + + QEvent *e = new HsMenuEvent(HsMenuEvent::UninstallApplication, params); + + QString s3 = uni3.objectName(); + QCOMPARE(s3, tr("testName3/UninstallItemState")); + + uni3.onEntry( e ); + checkDialogController(); + + QCOMPARE(uni3.mEntry->id(), SomeAppId); + + uni3.cleanUp(); + + QVERIFY(uni3.mEntry.isNull()); + + } +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARKEND; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN +} + +#ifdef Q_OS_SYMBIAN +void MenuStatesTest::HsUninstallItemState_getApplicationsNames() +{ +#ifdef UT_MEMORY_CHECK + __UHEAP_MARK; +#endif//UT_MEMORY_CHECK + { + + static const char javaUid[] = "270437153"; //in DS_Snow + + Usif::RSoftwareInstall sif; + CleanupClosePushL( sif ); + User::LeaveIfError( sif.Connect() ); + + // Install the component + _LIT16( KDsSnowJadPath, "c:\\testing\\data\\t_hsmenuworkerstateplugin\\installs\\DS_Snow.jad" ); + Usif::COpaqueNamedParams* arguments = NULL; + Usif::COpaqueNamedParams* results = NULL; + arguments = Usif::COpaqueNamedParams::NewLC(); + results = Usif::COpaqueNamedParams::NewLC(); + arguments->AddIntL( Usif::KSifInParam_InstallSilently, 1 ); + TRequestStatus status; + sif.Install( KDsSnowJadPath, *arguments, *results, status, EFalse ); + User::WaitForRequest( status ); + User::LeaveIfError( status.Int() ); + + CleanupStack::PopAndDestroy( results ); + CleanupStack::PopAndDestroy( arguments ); + + // Disconnect from the SIF server + CleanupStack::PopAndDestroy( &sif ); + + + QSharedPointer service = CaService::instance(); + CaQuery query; + query.setAttribute(Hs::applicationUidEntryKey, javaUid); + QList< QSharedPointer > entries = service->getEntries(query); + QCOMPARE(entries.length(), 1); + QSharedPointer entry = entries[0]; + + HsUninstallItemState state; + + QVariantMap params; + params.insert(Hs::itemIdKey, entry->id()); + + QEvent *e = new HsMenuEvent(HsMenuEvent::UninstallApplication, params); + state.onEntry( e ); + + QCOMPARE(state.mEntry->id(), entry->id()); + + + QString componentName; + QStringList appNames; + QString confirmationMessage; + + bool result = state.getApplicationsNames(componentName, + appNames, confirmationMessage); + QVERIFY(result); + QCOMPARE(componentName, QString("DS_Snow")); + QCOMPARE(appNames.length(), 0); //in DS_Snow + + const QString remove("remove"); + service->executeCommand(entry->id(), remove); + + state.cleanUp(); + QVERIFY(state.mEntry.isNull()); + } +#ifdef UT_MEMORY_CHECK + __UHEAP_MARKEND; +#endif//UT_MEMORY_CHECK +} +#endif // Q_OS_SYMBIAN