--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/tsrc/t_hsdomainmodel/src/t_hspagenewwidgetlayout.cpp Mon Sep 20 10:19:07 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* 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:
+*
+*/
+
+#include "t_hsdomainmodel.h"
+#include "hswidgetpositioningonwidgetadd.h"
+#include "hspagenewwidgetlayout.h"
+#include "hswidgethost.h"
+#include "hsscene.h"
+#include "hspage.h"
+
+void TestHsDomainModel::testHsPageNewWidgetLayout()
+{
+ HsWidgetPositioningOnWidgetAdd::setInstance(
+ new HsAnchorPointInBottomRight);
+
+ HsPageNewWidgetLayout *layout = new HsPageNewWidgetLayout();
+
+ HsPageData pageData;
+ HsPage *page = HsPage::createInstance(pageData);
+ QVERIFY(page);
+
+ // add new widget
+ HsWidgetData widgetData;
+ widgetData.pageId = page->databaseId();
+ widgetData.uri = "mockwidgetplugin";
+ HsWidgetHost *newWidget = HsWidgetHost::createInstance(widgetData);
+ QVERIFY(newWidget);
+ page->addNewWidget(newWidget);
+
+ // add existing widget
+ HsWidgetData widgetData2;
+ widgetData2.pageId = page->databaseId();
+ widgetData2.uri = "mockwidgetplugintoosmall";
+ HsWidgetHost *existingWidget = HsWidgetHost::createInstance(widgetData2);
+ QVERIFY(existingWidget);
+ page->addExistingWidget(existingWidget);
+
+ HsScene::instance()->mActivePage = page;
+ layout->addItem(newWidget);
+ QVERIFY(layout->count() == 1);
+ layout->setGeometry(QRectF());
+ layout->removeAt(0);
+ QVERIFY(layout->count() == 0);
+ QVERIFY(layout->sizeHint(Qt::NSizeHints) == QSizeF());
+
+ delete layout;
+ delete newWidget;
+ delete existingWidget;
+ HsWidgetPositioningOnWidgetAdd::setInstance(0);
+}
+
+void TestHsDomainModel::testHsPageNewWidgetLayoutWithPosition()
+{
+ HsWidgetPositioningOnWidgetAdd::setInstance(
+ new HsAnchorPointInBottomRight);
+ HsPageNewWidgetLayout *layout = new HsPageNewWidgetLayout();
+
+ HsWidgetHost *widget = new HsWidgetHost(1);
+ HsPage *page = new HsPage;
+ HsScene::instance()->mActivePage = page;
+ layout->addItem(widget);
+ layout->mTouchPoint = QPointF(100, 100);
+ layout->setGeometry(QRectF());
+
+ delete layout;
+ delete widget;
+ HsWidgetPositioningOnWidgetAdd::setInstance(0);
+}