--- a/mmsharing/livecommsui/lcui/tsrc/ut_lcui/src/ut_lceffecthandler.cpp Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,469 +0,0 @@
-/*
-* 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 "ut_lceffecthandler.h"
-#include "ut_lcuidefs.h"
-#include "lceffecthandler.h"
-#include "lcuiengine.h"
-#include "lcuidefs.h"
-#include "lcvideowidget.h"
-#include <QtTest/QtTest>
-#include <hbmainwindow.h>
-#include <hbinstance.h>
-
-#define UT_SET_ORIENTATION(orient) \
-HbInstance::instance()->allMainWindows().at(0)->setOrientation(orient);
-
-void UT_LcEffectHandler::initTestCase()
-{
- lcutStub_LcUiEngine_reset();
- //must have main window, even if it not used
- mMainWindow = new HbMainWindow();
-}
-
-void UT_LcEffectHandler::cleanupTestCase()
-{
- lcutStub_LcUiEngine_reset();
- delete mMainWindow;
-}
-
-
-void UT_LcEffectHandler::init()
-{
- mEngine = new LcUiEngine( lcEngineName, lcDisplayName );
-
- mSharedVideo = new LcVideoWidget();
- mSharedVideoOverlay = new LcVideoWidget(0,false);
- mReceivedVideo = new LcVideoWidget();
- mReceivedVideoOverlay = new LcVideoWidget(0,false);
- mEffectHandler = new LcEffectHandler(
- *mEngine,mSharedVideo,mSharedVideoOverlay,
- mReceivedVideo,mReceivedVideoOverlay);
-
-}
-
-void UT_LcEffectHandler::cleanup()
-{
- lcutStub_LcUiEngine_reset();
- delete mEffectHandler;
- delete mEngine;
- delete mSharedVideo;
- delete mSharedVideoOverlay;
- delete mReceivedVideoOverlay;
- delete mReceivedVideo;
-}
-
-void UT_LcEffectHandler::testConstructor()
-{
- QVERIFY( mEffectHandler );
-}
-
-void UT_LcEffectHandler::testSwap()
-{
- clearWidgets();
- QSignalSpy spy( mEffectHandler, SIGNAL(loadSwapLayout()) );
- QVERIFY( !mEffectHandler->mSharedVideo );
- QVERIFY( !mEffectHandler->mReceivedVideo );
- QVERIFY( !mEffectHandler->mSwapInProgress );
- QCOMPARE( spy.count(), 0 );
-
- mEffectHandler->swap();
- setWidgets();
-
- QVERIFY( mEffectHandler->mSwapInProgress );
- QCOMPARE( spy.count(), 1 );
-
- HbWidget* sharedVideoWidget = mEffectHandler->mSharedVideo;
- HbWidget* receivedVideoWidget = mEffectHandler->mReceivedVideo;
- HbWidget* sharedVideoWidget2 = mEffectHandler->mSharedVideoOverlay;
- HbWidget* receivedVideoWidget2 = mEffectHandler->mReceivedVideoOverlay;
- QRectF sharedOrig = mEffectHandler->mSharedVideo->geometry();
- QRectF recvOrig = mEffectHandler->mReceivedVideo->geometry();
-
- // Swapping not started because other widget missing
- mEffectHandler->mSwapSharedCompleted = true;
- mEffectHandler->mSwapReceivedCompleted = true;
- mEffectHandler->mSharedVideo = 0;
- mEffectHandler->swap();
- QCOMPARE( sharedVideoWidget->geometry(), sharedOrig );
- QCOMPARE( receivedVideoWidget->geometry(), recvOrig );
- QCOMPARE( mEffectHandler->mSwapSharedCompleted, true );
- QCOMPARE( mEffectHandler->mSwapReceivedCompleted, true );
-
- // Swapping not started because other widget missing
- mEffectHandler->mSharedVideo = sharedVideoWidget;
- mEffectHandler->mReceivedVideo = 0;
- mEffectHandler->swap();
- QCOMPARE( sharedVideoWidget->geometry(), sharedOrig );
- QCOMPARE( receivedVideoWidget->geometry(), recvOrig );
- QCOMPARE( mEffectHandler->mSwapSharedCompleted, true );
- QCOMPARE( mEffectHandler->mSwapReceivedCompleted, true );
-
- // Swapping started, however geometry is change only once swapping completes
- mEffectHandler->mSharedVideo = sharedVideoWidget;
- mEffectHandler->mReceivedVideo = receivedVideoWidget;
- mEffectHandler->swap();
-
- QCOMPARE( sharedVideoWidget->geometry(), sharedOrig );
- QCOMPARE( receivedVideoWidget->geometry(), recvOrig );
- QCOMPARE( mEffectHandler->mSwapSharedCompleted, false );
- QCOMPARE( mEffectHandler->mSwapReceivedCompleted, false );
-
- // Swapping started, however geometry is change only once swapping completes
- mEffectHandler->mSwapSharedCompleted = true;
- mEffectHandler->mSwapReceivedCompleted = true;
- mEffectHandler->swap();
- QCOMPARE( sharedVideoWidget->geometry(), sharedOrig );
- QCOMPARE( receivedVideoWidget->geometry(), recvOrig );
- QCOMPARE( mEffectHandler->mSwapSharedCompleted, false );
- QCOMPARE( mEffectHandler->mSwapReceivedCompleted, false );
-}
-
-void UT_LcEffectHandler::testShowSendWindow()
-{
- // Shared video widget does not exist
- setWidgets();
- HbWidget* sharedVideoWidget = mEffectHandler->mSharedVideo;
- QVERIFY( sharedVideoWidget != 0 );
- sharedVideoWidget->hide();
- QVERIFY( !sharedVideoWidget->isVisible() );
- mEffectHandler->mSharedVideo = 0;
- mEffectHandler->showSendWindow();
- QVERIFY( !sharedVideoWidget->isVisible() );
-
- // Shared video widget exists, effects running, dont show
- HbEffect::mRunning = true;
- mEffectHandler->mSharedVideo = sharedVideoWidget;
- mEffectHandler->showSendWindow();
- QVERIFY( !mEffectHandler->mSharedVideo->isVisible() );
-
- // Shared video widget exists, show
- HbEffect::mRunning = false;
- mEffectHandler->mSharedVideo = sharedVideoWidget;
- mEffectHandler->showSendWindow();
- QVERIFY( mEffectHandler->mSharedVideo->isVisible() );
-}
-
-void UT_LcEffectHandler::testHideSendWindow()
-{
- // Shared video widget does not exist
- setWidgets();
- HbWidget* sharedVideoWidget = mEffectHandler->mSharedVideo;
- QVERIFY( sharedVideoWidget != 0 );
- mEffectHandler->mSharedVideo = 0;
- mEffectHandler->hideSendWindow();
-
- // Shared video widget exists, show
- mEffectHandler->mSharedVideo = sharedVideoWidget;
- mEffectHandler->showSendWindow();
- QVERIFY( mEffectHandler->mSharedVideo->isVisible() );
-
- // Shared video widget exists, hide
- mEffectHandler->hideSendWindow();
- QVERIFY( !mEffectHandler->mSharedVideo->isVisible() );
-}
-
-void UT_LcEffectHandler::testShowReceiveWindow()
-{
- // Shared video widget does not exist
- setWidgets();
- HbWidget* receivedVideoWidget = mEffectHandler->mReceivedVideo;
- QVERIFY( receivedVideoWidget != 0 );
- receivedVideoWidget->hide();
- QVERIFY( !receivedVideoWidget->isVisible() );
- mEffectHandler->mReceivedVideo = 0;
- mEffectHandler->showReceiveWindow();
- QVERIFY( !receivedVideoWidget->isVisible() );
-
- // Received video widget exists, show
- mEffectHandler->mReceivedVideo = receivedVideoWidget;
- mEffectHandler->showReceiveWindow();
- QVERIFY( mEffectHandler->mReceivedVideo->isVisible() );
-}
-
-void UT_LcEffectHandler::testHideReceiveWindow()
-{
- // Shared video widget does not exist
- setWidgets();
- HbWidget* receivedVideoWidget = mEffectHandler->mReceivedVideo;
- QVERIFY( receivedVideoWidget != 0 );
- mEffectHandler->mReceivedVideo = 0;
- mEffectHandler->hideReceiveWindow();
-
-
- // Received video widget exists, show
- mEffectHandler->mReceivedVideo = receivedVideoWidget;
- mEffectHandler->showReceiveWindow();
- QVERIFY( mEffectHandler->mReceivedVideo->isVisible() );
-
- // Receive video widget exists, hide
- mEffectHandler->hideReceiveWindow();
- QVERIFY( !mEffectHandler->mReceivedVideo->isVisible() );
-}
-
-
-// windowFlipComplete
-// windowDisappearToFlipComplete
-// windowDisappearComplete
-// windowAppearComplete
-// WindowSwapSharedComplete
-// WindowSwapReceivedComplete
-
-void UT_LcEffectHandler::testEffectComplete()
-{
- clearWidgets();
-
- // Video widgets does not exist
- HbEffect::EffectStatus status;
- mEffectHandler->windowAppearComplete( status );
- mEffectHandler->windowDisappearComplete( status );
- mEffectHandler->windowDisappearToFlipComplete( status );
- mEffectHandler->windowFlipComplete( status );
-
- setWidgets();
-
- HbWidget* sharedVideoWidget = mEffectHandler->mSharedVideo;
- HbWidget* receivedVideoWidget = mEffectHandler->mReceivedVideo;
- sharedVideoWidget->hide();
- receivedVideoWidget->hide();
-
- mEffectHandler->showSendWindow();
- mEffectHandler->windowAppearComplete( status );
- QVERIFY( sharedVideoWidget->isVisible() );
-
- mEffectHandler->windowDisappearComplete( status );
- QVERIFY( sharedVideoWidget->isVisible() );
-
- mEffectHandler->windowDisappearToFlipComplete( status );
- QVERIFY( !sharedVideoWidget->isVisible() );
-
- lcutStub_LcUiEngine_setLocalPlaying( false );
- mEffectHandler->windowFlipComplete( status );
- QVERIFY( !sharedVideoWidget->isVisible() );
-
- lcutStub_LcUiEngine_setLocalPlaying( true );
- mEffectHandler->windowFlipComplete( status );
- QVERIFY( sharedVideoWidget->isVisible() );
-
- sharedVideoWidget->hide();
- receivedVideoWidget->hide();
- lcutStub_LcUiEngine_setLocalPlaying( true );
- mEffectHandler->windowFlipComplete( status );
- QVERIFY( sharedVideoWidget->isVisible() );
-
- // Swapping, real video widgets are set visible only after
- // both swap effects have completeded swapping completes and completion
- // is also signal
-
- // Geomerty changes are handled by the view using DoCML's
- // when swapping completes and completion is also signal
-
- QRectF pos1 = QRectF(5,100, 200, 200);
- QRectF pos2 = QRectF(5,300, 400, 400);
- mEffectHandler->mSharedVideo->setGeometry(pos1);
- mEffectHandler->mReceivedVideo->setGeometry(pos2);
- QSignalSpy spy( mEffectHandler, SIGNAL(swapCompleted()) );
- sharedVideoWidget->hide();
- receivedVideoWidget->hide();
- lcutStub_LcUiEngine_setLocalPlaying( true );
- mEffectHandler->windowSwapSharedComplete( status );
- QVERIFY( !sharedVideoWidget->isVisible() );
- QCOMPARE( spy.count(), 0 );
-
- sharedVideoWidget->hide();
- receivedVideoWidget->hide();
- lcutStub_LcUiEngine_setRemotePlaying( true );
- mEffectHandler->windowSwapReceivedComplete( status );
- QVERIFY( receivedVideoWidget->isVisible() );
- QVERIFY( sharedVideoWidget->isVisible() );
- QCOMPARE( spy.count(), 1 );
-
- // Players are disabled so even when swap completes, widgets are not set
- // visible
- sharedVideoWidget->hide();
- receivedVideoWidget->hide();
- lcutStub_LcUiEngine_setLocalPlaying( false );
- mEffectHandler->windowSwapSharedComplete( status );
- QVERIFY( !sharedVideoWidget->isVisible() );
-
- sharedVideoWidget->hide();
- receivedVideoWidget->hide();
- lcutStub_LcUiEngine_setRemotePlaying( false );
- mEffectHandler->windowSwapReceivedComplete( status );
- QVERIFY( !receivedVideoWidget->isVisible() );
- QVERIFY( !sharedVideoWidget->isVisible() );
-}
-
-void UT_LcEffectHandler::testStartEffect()
-{
- clearWidgets();
-
- const char *effectId = "myeffect";
- const char *callBack = "mycallback";
-
- QVERIFY( !mEffectHandler->mSharedVideo );
- QVERIFY( !mEffectHandler->mSharedVideoOverlay );
- mEffectHandler->startEffect( mEffectHandler->mSharedVideoOverlay,effectId, callBack);
-
- setWidgets();
-
- QVERIFY( mEffectHandler->mSharedVideo );
- QVERIFY( mEffectHandler->mSharedVideoOverlay );
-
- HbWidget* sharedVideoWidget = mEffectHandler->mSharedVideo;
- HbWidget* sharedVideoWidget2 = mEffectHandler->mSharedVideoOverlay;
- QRectF sharedOrig = mEffectHandler->mSharedVideo->geometry();
-
- mEffectHandler->mSharedVideo = 0;
- mEffectHandler->startEffect( mEffectHandler->mSharedVideoOverlay,effectId, callBack);
-
- mEffectHandler->mSharedVideo = sharedVideoWidget;
- mEffectHandler->mSharedVideoOverlay = 0;
- mEffectHandler->startEffect( mEffectHandler->mSharedVideoOverlay,effectId, callBack);
-
- mEffectHandler->mSharedVideo = sharedVideoWidget;
- mEffectHandler->mSharedVideoOverlay = sharedVideoWidget2;
- mEffectHandler->startEffect( mEffectHandler->mSharedVideoOverlay,effectId, callBack);
-
- QCOMPARE( sharedVideoWidget->geometry(), sharedVideoWidget2->geometry() );
-}
-
-void UT_LcEffectHandler::testSetVisibility()
-{
- setWidgets();
-
- QVERIFY( mEffectHandler->mSharedVideo );
- HbWidget* sharedVideoWidget = mEffectHandler->mSharedVideo;
- sharedVideoWidget->setVisible(false);
-
- //If Effects are not running than we can set the visibility of widget
- mEffectHandler->setVisibility(sharedVideoWidget,true);
- // TODO: setvisibility temporarily NOP
- /*QVERIFY( mEffectHandler->mSharedVideo->isVisible() );
-
- //If Effects are running we can not set the visibility of widget.
- HbEffect::mRunning = true;
- mEffectHandler->setVisibility(sharedVideoWidget,false);
- QVERIFY( mEffectHandler->mSharedVideo->isVisible() );*/
-}
-
-void UT_LcEffectHandler::testSetDissappearEffect()
-{
- QCOMPARE( mEffectHandler->mEffectCallBack,
- QString::fromAscii(lcEffectWinDefaultCallback ));
- mEffectHandler->setDissappearEffect(LcEffectHandler::DissappearToFlip );
- QCOMPARE( mEffectHandler->mEffectCallBack,
- QString::fromAscii("windowDisappearToFlipComplete" ));
- mEffectHandler->setDissappearEffect(LcEffectHandler::NormalDissappear );
- QCOMPARE( mEffectHandler->mEffectCallBack,
- QString::fromAscii("windowDisappearComplete" ));
-}
-
-void UT_LcEffectHandler::testIsSharedVideoAtTop()
-{
- setWidgets();
-
- QRectF pos1 = QRectF(5,100, 200, 200);
- QRectF pos2 = QRectF(5,300, 400, 400);
- mEffectHandler->mSharedVideo->setGeometry(pos1);
- mEffectHandler->mReceivedVideo->setGeometry(pos2);
-
- QVERIFY( mEffectHandler->isSharedVideoAtTop() );
-
- mEffectHandler->mSharedVideo->setGeometry(pos2);
- mEffectHandler->mReceivedVideo->setGeometry(pos1);
- QVERIFY( !mEffectHandler->isSharedVideoAtTop() );
-
-}
-
-void UT_LcEffectHandler::testVideosSideBySide()
-{
- setWidgets();
- QRectF pos1 = QRectF(5,100, 200, 200);
- QRectF pos2 = QRectF(5,300, 400, 400);
- QRectF pos3 = QRectF(5,100, 400, 400);
-
- mEffectHandler->mSharedVideo->setGeometry(pos1);
- mEffectHandler->mReceivedVideo->setGeometry(pos2);
-
- QVERIFY( !mEffectHandler->videosSideBySide() );
- mEffectHandler->mReceivedVideo->setGeometry(pos3);
- QVERIFY( mEffectHandler->videosSideBySide() );
-}
-
-void UT_LcEffectHandler::testHandleSwapCompletion()
-{
- QSignalSpy spy( mEffectHandler, SIGNAL(swapCompleted()) );
- mEffectHandler->mSwapInProgress = true;
- mEffectHandler->mSwapSharedCompleted = false;
- mEffectHandler->mSwapReceivedCompleted = false;
-
- // Test1: Swap is not completed.
- mEffectHandler->handleSwapCompletion();
- QVERIFY( mEffectHandler->mSwapInProgress );
- QCOMPARE( spy.count(), 0 );
-
- // Test2: Swap is partially completed.
- mEffectHandler->mSwapSharedCompleted = true;
- mEffectHandler->handleSwapCompletion();
- QVERIFY( mEffectHandler->mSwapInProgress );
- QCOMPARE( spy.count(), 0 );
-
- // Test 3. Swap Completed completely.
- mEffectHandler->mSwapSharedCompleted = true;
- mEffectHandler->mSwapReceivedCompleted = true;
- mEffectHandler->handleSwapCompletion();
- QVERIFY( !mEffectHandler->mSwapInProgress );
- QCOMPARE( spy.count(), 1 );
-
- //Test 4. Local & Remote are player are availble.
- lcutStub_LcUiEngine_setLocalPlaying( true );
- lcutStub_LcUiEngine_setRemotePlaying( true );
-
- mEffectHandler->handleSwapCompletion();
- QVERIFY( mEffectHandler->mSharedVideo->isVisible() );
- QVERIFY( mEffectHandler->mReceivedVideo->isVisible() );
-}
-
-void UT_LcEffectHandler::testIsSwapInProgress()
-{
- QVERIFY( !mEffectHandler->isSwapInProgress() );
- mEffectHandler->swap();
- QVERIFY( mEffectHandler->isSwapInProgress() );
-}
-
-
-// Helper Utility Function for the Unit Test.
-void UT_LcEffectHandler::clearWidgets()
-{
- mEffectHandler->mReceivedVideo = 0;
- mEffectHandler->mReceivedVideoOverlay = 0;
- mEffectHandler->mSharedVideo = 0;
- mEffectHandler->mSharedVideoOverlay = 0;
-}
-
-void UT_LcEffectHandler::setWidgets()
-{
- mEffectHandler->mReceivedVideo = mReceivedVideo;
- mEffectHandler->mReceivedVideoOverlay = mReceivedVideoOverlay;
- mEffectHandler->mSharedVideo = mSharedVideo;
- mEffectHandler->mSharedVideoOverlay = mSharedVideoOverlay;
-}
-
-
-