--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/tsrc/t_hsdomainmodel/src/t_hsconfiguration.cpp Mon Sep 20 10:19:07 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* 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 <HbDeviceProfile>
+
+#include "t_hsdomainmodel.h"
+#include "hsdomainmodeldatastructures.h"
+#include "hsconfiguration.h"
+
+
+void TestHsDomainModel::testConfigurationConstruction()
+{
+ HsConfiguration *c = new HsConfiguration;
+
+ QCOMPARE(c->mBounceEffect, 20);
+ QCOMPARE(c->mPageChangeAnimationDuration, 300);
+ QCOMPARE(c->mPageChangeZoneAnimationDuration, 600);
+ QCOMPARE(c->mPageChangeZoneReverseAnimationDuration, 200);
+ QCOMPARE(c->mPageRemovedAnimationDuration, 1000);
+ QCOMPARE(c->mNewPageAddedAnimationDuration, 1000);
+ QCOMPARE(c->mWidgetDragEffectDuration, 250);
+ QCOMPARE(c->mWidgetDropEffectDuration, 200);
+ QCOMPARE(c->mDefaultPageId, 1);
+ QCOMPARE(c->mMaximumPageCount, 8);
+ QCOMPARE(c->mIsShortcutLabelVisible, true);
+ QCOMPARE(c->mBounceFeedbackEffectDistance, qreal(3));
+ QCOMPARE(c->mPageChangeZoneWidth, qreal(30));
+ QCOMPARE(c->mPageIndicatorSpacing, qreal(8));
+ QCOMPARE(c->mMaximumWidgetHeight, qreal(39));
+ QCOMPARE(c->mMaximumWidgetWidth, qreal(48));
+ QCOMPARE(c->mMinimumWidgetHeight, qreal(8.75));
+ QCOMPARE(c->mMinimumWidgetWidth, qreal(8.75));
+ QCOMPARE(c->mPageChangePanDistance, qreal(120));
+ QCOMPARE(c->mPageChangeFeedbackEffect, HbFeedback::Sensitive);
+ QCOMPARE(c->mWidgetPickFeedbackEffect, HbFeedback::ItemPick);
+ QCOMPARE(c->mWidgetDropFeedbackEffect, HbFeedback::ItemDrop);
+ QCOMPARE(c->mWidgetRepositionFeedbackEffect, HbFeedback::BounceEffect);
+ QCOMPARE(c->mWidgetOverTrashbinFeedbackEffect, HbFeedback::ItemMoveOver);
+ QCOMPARE(c->mWidgetDropToTrashbinFeedbackEffect, HbFeedback::ItemDrop);
+ QCOMPARE(c->mShortcutWidgetTapFeedbackEffect, HbFeedback::BasicItem);
+ QCOMPARE(c->mWidgetMoveBlockedFeedbackEffect, HbFeedback::Basic);
+ QCOMPARE(c->mClockWidgetTapFeedbackEffect, HbFeedback::BasicItem);
+ QCOMPARE(c->mWidgetSnappingFeedbackEffect, HbFeedback::ItemMoveOver);
+ QCOMPARE(c->mIsSnapEnabled, true);
+ QCOMPARE(c->mSnapTimeout, 300);
+ QCOMPARE(c->mSnapForce, qreal(30));
+ QCOMPARE(c->mSnapGap, qreal(6));
+ QCOMPARE(c->mPageMargin, qreal(0));
+ QCOMPARE(c->mSnapLineFadeInDuration, 100);
+ QCOMPARE(c->mSnapLineFadeOutDuration, 100);
+ QCOMPARE(c->mSceneType, HsConfiguration::PageWallpapers);
+
+ delete c;
+}
+
+void TestHsDomainModel::testConfigurationStaticInterface()
+{
+ HsConfiguration *stored = HsConfiguration::takeInstance();
+
+ HsConfiguration *c = new HsConfiguration;
+ QVERIFY(!HsConfiguration::instance());
+ HsConfiguration::setInstance(c);
+ QVERIFY(HsConfiguration::instance() == c);
+ HsConfiguration::setInstance(c);
+ QVERIFY(HsConfiguration::instance() == c);
+ HsConfiguration *c2 = HsConfiguration::takeInstance();
+ QVERIFY(!HsConfiguration::instance());
+ QVERIFY(c == c2);
+ delete c;
+
+ HsConfiguration::setInstance(stored);
+}
+
+void TestHsDomainModel::testConfigurationSizes()
+{
+ HsConfiguration *c = new HsConfiguration;
+
+ QSizeF min1(c->mMinimumWidgetWidth, c->mMinimumWidgetHeight);
+ QSizeF max1(c->mMaximumWidgetWidth, c->mMaximumWidgetHeight);
+
+ QSizeF min2(c->minimumWidgetSizeInUnits());
+ QSizeF max2(c->maximumWidgetSizeInUnits());
+
+ QVERIFY(qFuzzyCompare(min1.width(), min2.width()));
+ QVERIFY(qFuzzyCompare(min1.height(), min2.height()));
+ QVERIFY(qFuzzyCompare(max1.width(), max2.width()));
+ QVERIFY(qFuzzyCompare(max1.height(), max2.height()));
+
+ HbDeviceProfile profile;
+ qreal factor = profile.unitValue();
+
+ min1 *= factor;
+ max1 *= factor;
+
+ min2 = c->minimumWidgetSizeInPixels();
+ max2 = c->maximumWidgetSizeInPixels();
+
+ QVERIFY(qFuzzyCompare(min1.width(), min2.width()));
+ QVERIFY(qFuzzyCompare(min1.height(), min2.height()));
+ QVERIFY(qFuzzyCompare(max1.width(), max2.width()));
+ QVERIFY(qFuzzyCompare(max1.height(), max2.height()));
+
+ delete c;
+}
+
+void TestHsDomainModel::testConfigurationImportAndExport()
+{
+ HsConfiguration *c = new HsConfiguration;
+
+ QVERIFY(!c->exportToFile(QString()));
+ QVERIFY(!c->importFromFile(QString()));
+
+ QVERIFY(c->exportToFile("test_hsconfiguration.txt"));
+ QVERIFY(c->importFromFile("test_hsconfiguration.txt"));
+
+ QFile::remove("test_hsconfiguration.txt");
+
+ QCOMPARE(c->mBounceEffect, 20);
+ QCOMPARE(c->mPageChangeAnimationDuration, 300);
+ QCOMPARE(c->mPageChangeZoneAnimationDuration, 600);
+ QCOMPARE(c->mPageChangeZoneReverseAnimationDuration, 200);
+ QCOMPARE(c->mPageRemovedAnimationDuration, 1000);
+ QCOMPARE(c->mNewPageAddedAnimationDuration, 1000);
+ QCOMPARE(c->mWidgetDragEffectDuration, 250);
+ QCOMPARE(c->mWidgetDropEffectDuration, 200);
+ QCOMPARE(c->mDefaultPageId, 1);
+ QCOMPARE(c->mMaximumPageCount, 8);
+ QCOMPARE(c->mIsShortcutLabelVisible, true);
+ QCOMPARE(c->mBounceFeedbackEffectDistance, qreal(3));
+ QCOMPARE(c->mPageChangeZoneWidth, qreal(30));
+ QCOMPARE(c->mPageIndicatorSpacing, qreal(8));
+ QCOMPARE(c->mMaximumWidgetHeight, qreal(39));
+ QCOMPARE(c->mMaximumWidgetWidth, qreal(48));
+ QCOMPARE(c->mMinimumWidgetHeight, qreal(8.75));
+ QCOMPARE(c->mMinimumWidgetWidth, qreal(8.75));
+ QCOMPARE(c->mPageChangePanDistance, qreal(120));
+ QCOMPARE(c->mPageChangeFeedbackEffect, HbFeedback::Sensitive);
+ QCOMPARE(c->mWidgetPickFeedbackEffect, HbFeedback::ItemPick);
+ QCOMPARE(c->mWidgetDropFeedbackEffect, HbFeedback::ItemDrop);
+ QCOMPARE(c->mWidgetRepositionFeedbackEffect, HbFeedback::BounceEffect);
+ QCOMPARE(c->mWidgetOverTrashbinFeedbackEffect, HbFeedback::ItemMoveOver);
+ QCOMPARE(c->mWidgetDropToTrashbinFeedbackEffect, HbFeedback::ItemDrop);
+ QCOMPARE(c->mShortcutWidgetTapFeedbackEffect, HbFeedback::BasicItem);
+ QCOMPARE(c->mWidgetMoveBlockedFeedbackEffect, HbFeedback::Basic);
+ QCOMPARE(c->mClockWidgetTapFeedbackEffect, HbFeedback::BasicItem);
+ QCOMPARE(c->mWidgetSnappingFeedbackEffect, HbFeedback::ItemMoveOver);
+ QCOMPARE(c->mIsSnapEnabled, true);
+ QCOMPARE(c->mSnapTimeout, 300);
+ QCOMPARE(c->mSnapForce, qreal(30));
+ QCOMPARE(c->mSnapGap, qreal(6));
+ QCOMPARE(c->mPageMargin, qreal(0));
+ QCOMPARE(c->mSnapLineFadeInDuration, 100);
+ QCOMPARE(c->mSnapLineFadeOutDuration, 100);
+ QCOMPARE(c->mSceneType, HsConfiguration::PageWallpapers);
+
+ delete c;
+}
+
+void TestHsDomainModel::testConfigurationLoad()
+{
+ HsConfiguration *c = new HsConfiguration;
+ QVERIFY(c->load());
+ delete c;
+}