--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/tsrc/t_hsutils/src/t_hssnapline.cpp Mon Sep 20 10:19:07 2010 +0300
@@ -0,0 +1,305 @@
+/*
+* 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:
+*
+*/
+
+#ifndef ONLY_MENU_TESTCASES
+
+#include "t_hsutils.h"
+#include "hssnapline.h"
+#include "hsapp_defs.h"
+
+void t_hsUtils::testSnapLineConstruction()
+{
+ HsSnapLine sl = HsSnapLine();
+
+ QVERIFY(sl.mFadeInAnimation);
+ QVERIFY(sl.mFadeOutAnimation);
+
+ QVERIFY(qFuzzyCompare(sl.mOpacity, 0));
+ QCOMPARE(sl.mFadeInAnimationDuration,0);
+ QCOMPARE(sl.mFadeOutAnimationDuration,0);
+}
+
+void t_hsUtils::testSnapLineSetConfiguration()
+{
+ HsSnapLine sl = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ sl.setConfiguration(configuration);
+
+ QCOMPARE(sl.mFadeInAnimationDuration, 1000);
+ QCOMPARE(sl.mFadeOutAnimationDuration , 500);
+}
+
+void t_hsUtils::testShowAndHideHorizontalLine()
+{
+ HsSnapLine slHorizontal = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ slHorizontal.setConfiguration(configuration);
+
+ //before showing the line, no animation should be running
+ QVERIFY(!slHorizontal.isFadeInAnimationRunning());
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+
+ QLineF horizontalLine(QPointF(100,100), QPointF(200,100));
+ slHorizontal.showLine(horizontalLine);
+ QVERIFY(slHorizontal.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+ QVERIFY(!slHorizontal.isFadeInAnimationRunning());
+
+ //before hiding the line, fade out animation should not be running
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+
+ slHorizontal.hideLine();
+ QVERIFY(slHorizontal.isFadeOutAnimationRunning());
+ QTest::qWait(1000);
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+}
+
+void t_hsUtils::testShowAndHideVerticalLine()
+{
+ HsSnapLine slVertical = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ slVertical.setConfiguration(configuration);
+
+ //before showing the line, fade in animation should not be running
+ QVERIFY(!slVertical.isFadeInAnimationRunning());
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+
+ QLineF verticalLine(QPointF(100, 100), QPointF(100, 200));
+ slVertical.showLine(verticalLine);
+ QVERIFY(slVertical.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+ QVERIFY(!slVertical.isFadeInAnimationRunning());
+
+ //before hiding the line, fade out animation should not be running
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+
+ slVertical.hideLine();
+ QVERIFY(slVertical.isFadeOutAnimationRunning());
+ QTest::qWait(1000);
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+}
+
+void t_hsUtils::testHideHorizontalLineWhileFadeInAnimationRunning()
+{
+ HsSnapLine slHorizontal = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ slHorizontal.setConfiguration(configuration);
+
+ //before showing the line, no animation should be running
+ QVERIFY(!slHorizontal.isFadeInAnimationRunning());
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+
+ QLineF horizontalLine(QPointF(100,100), QPointF(200,100));
+ slHorizontal.showLine(horizontalLine);
+ QVERIFY(slHorizontal.isFadeInAnimationRunning());
+ //Wait only 250ms and call the hideLine()
+ QTest::qWait(250);
+
+ //before hiding the line, fade out animation should not be running
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+
+ slHorizontal.hideLine();
+ QVERIFY(slHorizontal.isFadeOutAnimationRunning());
+ QTest::qWait(1000);
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+}
+
+void t_hsUtils::testHideVerticalLineWhileFadeInAnimationRunning()
+{
+ HsSnapLine slVertical = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ slVertical.setConfiguration(configuration);
+
+ //before showing the line, fade in animation should not be running
+ QVERIFY(!slVertical.isFadeInAnimationRunning());
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+
+ QLineF verticalLine(QPointF(100, 100), QPointF(100, 200));
+ slVertical.showLine(verticalLine);
+ QVERIFY(slVertical.isFadeInAnimationRunning());
+ //Wait only 250ms and call the hideLine()
+ QTest::qWait(250);
+
+ //before hiding the line, fade out animation should not be running
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+
+ slVertical.hideLine();
+ QVERIFY(slVertical.isFadeOutAnimationRunning());
+ QTest::qWait(1000);
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+}
+
+void t_hsUtils::testShowHorizontalLineWhileFadeOutAnimationRunning()
+{
+ HsSnapLine slHorizontal = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ slHorizontal.setConfiguration(configuration);
+
+ //before showing the line, no animation should be running
+ QVERIFY(!slHorizontal.isFadeInAnimationRunning());
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+
+ QLineF horizontalLine(QPointF(100,100), QPointF(200,100));
+ slHorizontal.showLine(horizontalLine);
+ QVERIFY(slHorizontal.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+ QVERIFY(!slHorizontal.isFadeInAnimationRunning());
+
+ //before hiding the line, fade out animation should not be running
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+
+ slHorizontal.hideLine();
+ QVERIFY(slHorizontal.isFadeOutAnimationRunning());
+ //ShowLine is called to show the line at the same location, where the line was displayed before.
+ //Wait only 250ms and call the showline()
+ QTest::qWait(250);
+
+ slHorizontal.showLine(horizontalLine);
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+ QVERIFY(slHorizontal.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+}
+
+void t_hsUtils::testShowVerticalLineWhileFadeOutAnimationRunning()
+{
+ HsSnapLine slVertical = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ slVertical.setConfiguration(configuration);
+
+ //before showing the line, fade in animation should not be running
+ QVERIFY(!slVertical.isFadeInAnimationRunning());
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+
+ QLineF verticalLine(QPointF(100, 100), QPointF(100, 200));
+ slVertical.showLine(verticalLine);
+ QVERIFY(slVertical.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+ QVERIFY(!slVertical.isFadeInAnimationRunning());
+
+ //before hiding the line, fade out animation should not be running
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+
+ slVertical.hideLine();
+ QVERIFY(slVertical.isFadeOutAnimationRunning());
+ //ShowLine is called to show the line at the same location, where the line was displayed before.
+ //Wait only 250ms and call the showline()
+ QTest::qWait(250);
+
+ slVertical.showLine(verticalLine);
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+ QVERIFY(slVertical.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+}
+
+void t_hsUtils::testShowHorizontalLineAtNewPositionWhileFadeOutAnimationRunning()
+{
+ HsSnapLine slHorizontal = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ slHorizontal.setConfiguration(configuration);
+
+ //before showing the line, no animation should be running
+ QVERIFY(!slHorizontal.isFadeInAnimationRunning());
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+
+ QLineF horizontalLine(QPointF(100,100), QPointF(200,100));
+ slHorizontal.showLine(horizontalLine);
+ QVERIFY(slHorizontal.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+ QVERIFY(!slHorizontal.isFadeInAnimationRunning());
+
+ //before hiding the line, fade out animation should not be running
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+
+ slHorizontal.hideLine();
+ QVERIFY(slHorizontal.isFadeOutAnimationRunning());
+ QTest::qWait(250);
+
+ //construct a new line which is 100 pixels horizontally away from previous horizontal line
+ QLineF newHorizontalLine(QPointF(100,200), QPointF(200,200));
+ slHorizontal.showLine(newHorizontalLine);
+ QVERIFY(!slHorizontal.isFadeOutAnimationRunning());
+ QVERIFY(slHorizontal.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+ QVERIFY(!slHorizontal.isFadeInAnimationRunning());
+ //As the line is moved by 1 pixel before display, here the line is translated for comparison
+ newHorizontalLine.translate(0.0, -1.0);
+ QVERIFY(newHorizontalLine == slHorizontal.line());
+}
+
+void t_hsUtils::testShowVerticalLineAtNewPositionWhileFadeOutAnimationRunning()
+{
+ HsSnapLine slVertical = HsSnapLine();
+ QVariantHash configuration;
+ configuration[Hs::snapLineFadeinDuration] = QString::number(1000);
+ configuration[Hs::snapLineFadeoutDuration] = QString::number(500);
+
+ slVertical.setConfiguration(configuration);
+
+ //before showing the line, fade in animation should not be running
+ QVERIFY(!slVertical.isFadeInAnimationRunning());
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+
+ QLineF verticalLine(QPointF(100, 100), QPointF(100, 200));
+ slVertical.showLine(verticalLine);
+ QVERIFY(slVertical.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+ QVERIFY(!slVertical.isFadeInAnimationRunning());
+
+ //before hiding the line, fade out animation should not be running
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+
+ slVertical.hideLine();
+ QVERIFY(slVertical.isFadeOutAnimationRunning());
+ QTest::qWait(250);
+
+ //construct a new line which is 100 pixels vertically away from previous vertical line
+ QLineF newVerticalLine(QPointF(200, 100), QPointF(200, 200));
+ slVertical.showLine(newVerticalLine);
+ QVERIFY(!slVertical.isFadeOutAnimationRunning());
+ QVERIFY(slVertical.isFadeInAnimationRunning());
+ QTest::qWait(2000);
+ QVERIFY(!slVertical.isFadeInAnimationRunning());
+ //As the line is moved by 1 pixel before display, here the line is translated for comparison
+ newVerticalLine.translate(-1.0, 0.0);
+ QVERIFY(newVerticalLine == slVertical.line());
+}
+
+#endif // ONLY_MENU_TESTCASES