diff -r e4f038c420f7 -r 3ac3aaebaee5 homescreenapp/stateplugins/hsmenuworkerstateplugin/tsrc/t_hsmenuworkerstateplugin/src/t_hspreviewhswidgetstate.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/tsrc/t_hsmenuworkerstateplugin/src/t_hspreviewhswidgetstate.cpp Mon Sep 20 10:19:07 2010 +0300 @@ -0,0 +1,209 @@ +/* +* 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 "t_hsmenuworkerstateplugin.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include "hscontentservice.h" +#include "hsshortcutservice.h" +#include "hsmenuworkerstate.h" +#include "hspreviewhswidgetstate.h" +#include "hsapp_defs.h" +#include "hspage.h" +#include "hsscene.h" +#include "HsWidgetHost.h" + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// +void MenuStatesTest::HsPreviewHSWidgetState_construction() +{ +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARK; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN + { + QState *parent = new QState(); + + HsPreviewHSWidgetState *as1 = new HsPreviewHSWidgetState(parent); + + HsPreviewHSWidgetState *as2 = new HsPreviewHSWidgetState(parent); + + QString on1 = as1->objectName(); + QString on2 = as2->objectName(); + QVERIFY(on1 == on2); + } +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARKEND; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN +} + + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// +void MenuStatesTest::HsPreviewHSWidgetState_showMessageWidgetCorrupted() +{ +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARK; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN + { + QState *parent = new QState(); + HsPreviewHSWidgetState *as1 = new HsPreviewHSWidgetState(parent); + as1->showMessageWidgetCorrupted(); + checkDialogController(); + + delete parent; + } +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARKEND; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN +} + + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// +void MenuStatesTest::HsPreviewHSWidgetState_onEntry() +{ +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARK; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN + { + QState *parent = new QState(); + HsPreviewHSWidgetState *as1 = new HsPreviewHSWidgetState(parent); + + QVariantMap params; + params.insert(Hs::itemIdKey, 2); + params.insert( + Hs::widgetUriAttributeName, + QString("test_uri")); + params.insert( + Hs::widgetLibraryAttributeName, + QString("test_library")); + params.insert(Hs::entryTypeNameKey, Hs::widgetTypeName); + + QScopedPointer event (new HsMenuEvent( + HsMenuEvent::PreviewHSWidget, params)); + + mFinishedEmited = false; //test slot + + as1->onEntry(event.data()); + + QCOMPARE(params.value(Hs::itemIdKey).toInt(), as1->mEntryId); + + checkDialogController(); + + delete as1; + delete parent; + } +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARKEND; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN +} + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// +void MenuStatesTest::HsPreviewHSWidgetState_buildPreviewDialog() +{ +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARK; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN + { + HsPreviewHSWidgetState previewWidgetState; + + CaEntry entry; + entry.setText("entry text"); + + QScopedPointer previewDialog( + previewWidgetState.buildPreviewDialog(entry)); + + QVERIFY(previewDialog != NULL); + QVERIFY(previewDialog->actions()[0]->parent() == previewDialog.data()); + QVERIFY(previewDialog->actions()[1]->parent() == previewDialog.data()); + + QVERIFY(previewDialog->testAttribute(Qt::WA_DeleteOnClose)); + HbLabel *const headingLabel(qobject_cast( + previewDialog->headingWidget())); + QCOMPARE(headingLabel->plainText(), entry.text()); + } +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARKEND; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN +} + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// +void MenuStatesTest::HsPreviewHSWidgetState_addToHomeScreen() +{ +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARK; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN + { + QState *parent = new QState(); + HsConfiguration::setInstance(new HsConfiguration); + HsPreviewHSWidgetState *as1 = new HsPreviewHSWidgetState(parent); + + QScopedPointer page(new HsPage); + HsScene::instance()->addPage(page.data()); + page.take(); + HsScene::instance()->load(); + + as1->addToHomeScreen(); + + QCOMPARE(HsContentService::instance()->mParams.size(), 2); + QCOMPARE(HsContentService::instance()->mParams[Hs::uri], QVariant(QString())); + QVERIFY(HsContentService::instance()->mParams[Hs::homescreenData].isNull()); + delete as1; + delete parent; + } +#ifdef Q_OS_SYMBIAN +#ifdef UT_MEMORY_CHECK + __UHEAP_MARKEND; +#endif//UT_MEMORY_CHECK +#endif//Q_OS_SYMBIAN +}