--- a/mmsharing/livecommsui/lcuiengine/tsrc/ut_lcuieng/src/ut_lcuiengine.cpp Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1276 +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_lcuiengine.h"
-#include "lcuiengine.h"
-#include "lcuiengine_p.h"
-#include "lcactivitymanager.h"
-
-#include "lcenginestub.h"
-#include "lcsessionstub.h"
-#include "lcvideoplayerstub.h"
-#include "lcuidefs.h"
-#include "qthighway_stub_helper.h"
-
-#include <QtTest/QtTest>
-#include <QMap>
-
-#include <hbmainwindow.h>
-#include <hbdialog.h>
-#include <hbprogressdialog.h>
-#include <hbmessagebox.h>
-#include <hbaction.h>
-#include <hblabel.h>
-#include <QSignalSpy>
-#include <hbview.h>
-
-#include <xqsettingsmanager.h>
-#include <xqsettingskey.h>
-#include <settingsinternalcrkeys.h>
-#include <telincallvolcntrlcrkeys.h>
-
-const char lcutMultimediaSharingEng[] = "MultimediaSharing";
-const char lcutVideotelephonyEng[] = "Videotelephony";
-
-const char lcutMultimediaSharingApp[] = "Multimedia Sharing";
-const char lcutVideotelephonyApp[] = "Videotelephony";
-
-#define LC_ENGINE( uiengine )\
- (static_cast<CLcEngineStub*>( uiengine->d->mLiveCommsEngine ) )
-
-#define LC_SESSION( uiengine )\
- (LC_ENGINE(uiengine)->iSession)
-
-void UT_LcUiEngine::initTestCase()
-{
- lcutStub_LcEngine_reset();
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
-}
-
-void UT_LcUiEngine::cleanupTestCase()
-{
- lcutStub_LcEngine_reset();
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-}
-
-
-void UT_LcUiEngine::init()
-{
- lcutStub_LcEngine_reset();
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- mEngine = new LcUiEngine( lcutMultimediaSharingEng,
- lcutMultimediaSharingApp );
- mInvitingNote = new HbProgressDialog();
- mWaitingNote = new HbProgressDialog();
- mAcceptQuery = new HbDialog();
- mRecipientQuery = new HbDialog();
- mShareOwnVideoQuery = new HbDialog();
-
-}
-
-void UT_LcUiEngine::cleanup()
-{
- lcutStub_LcEngine_reset();
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- delete mEngine;
- delete mInvitingNote;
- delete mWaitingNote;
- delete mAcceptQuery;
- delete mRecipientQuery;
- delete mShareOwnVideoQuery;
-}
-
-void UT_LcUiEngine::testConstructor()
-{
- // "MuS plug-in" loaded
- QVERIFY( mEngine );
- QCOMPARE( mEngine->d->mViewLayout, Lc_IdleViewLayout );
- QVERIFY( !mEngine->d->mInvitingNote );
- QVERIFY( !mEngine->d->mWaitingNote );
- QVERIFY( !mEngine->d->mAcceptQuery );
- QVERIFY( !mEngine->d->mRecipientQuery );
- QVERIFY( !mEngine->d->mCloseTimer );
- QVERIFY( mEngine->d->mLiveCommsEngine );
- QCOMPARE( mEngine->d->mEngineName, QByteArray( lcutMultimediaSharingEng ) );
- QVERIFY( mEngine->d->recipient() != hbTrId("txt_vt_custom_unknown_number") );
- QCOMPARE( mEngine->d->sessionTitle(), QString( lcutMultimediaSharingApp ) );
- int engineWindowParam = 0;
- QVERIFY( LC_SESSION( mEngine )->mParams.contains( engineWindowParam ) );
- QVERIFY( mEngine->d->mActivityManager );
- QVERIFY( !mEngine->d->mActivityManager->isActivitySimulationEnabled() );
- QVERIFY( !mEngine->d->mShareOwnVideoQuery );
-
- // "VT plug-in" loaded
- lcutStub_LcEngine_reset();
- lcutStub_LcSession_reset();
- delete mEngine;
- mEngine = 0;
- mEngine = new LcUiEngine( lcutVideotelephonyEng,
- lcutVideotelephonyApp );
- QVERIFY( mEngine );
- QCOMPARE( mEngine->d->mViewLayout, Lc_AllInOneViewLayout );
- QVERIFY( !mEngine->d->mInvitingNote );
- QVERIFY( !mEngine->d->mWaitingNote );
- QVERIFY( !mEngine->d->mAcceptQuery );
- QVERIFY( !mEngine->d->mRecipientQuery );
- QVERIFY( !mEngine->d->mCloseTimer );
- QVERIFY( mEngine->d->mLiveCommsEngine );
- QCOMPARE( mEngine->d->mEngineName, QByteArray( lcutVideotelephonyEng ) );
- QVERIFY( mEngine->d->recipient() != hbTrId("txt_vt_custom_unknown_number") );
- QCOMPARE( mEngine->d->sessionTitle(), QString( lcutVideotelephonyApp ) );
- QVERIFY( LC_SESSION( mEngine )->mParams.contains( engineWindowParam ) );
- QVERIFY( !mEngine->d->mFullScreen );
- QVERIFY( mEngine->d->mActivityManager );
- QVERIFY( !mEngine->d->mActivityManager->isActivitySimulationEnabled() );
- QVERIFY( !mEngine->d->mShareOwnVideoQuery );
-}
-
-void UT_LcUiEngine::testFeatureSupported()
-{
- // Engine not loaded
- CLcEngine* enginePtr = mEngine->d->mLiveCommsEngine;
- mEngine->d->mLiveCommsEngine = 0;
- QVERIFY( !mEngine->d->featureSupported( CLcEngine::ELcShowAcceptQuery ) );
-
- // Engine loaded, feature not supported
- mEngine->d->mLiveCommsEngine = enginePtr;
- QVERIFY( !mEngine->d->featureSupported( CLcEngine::ELcShowAcceptQuery ) );
-
- // Feature supported
- lcutStub_LcEngine_setLcFeatureSupported( true );
- QVERIFY( mEngine->d->featureSupported( CLcEngine::ELcShowAcceptQuery ) );
-}
-
-void UT_LcUiEngine::testEstablishSession()
-{
- // Leave
- lcutStub_LcEngine_setFailure( -1 );
- QCOMPARE( mEngine->d->establishSession(), -1 );
- QVERIFY( !mEngine->d->mCloseTimer );
-
- // No leave
- lcutStub_LcEngine_reset();
- QCOMPARE( mEngine->d->establishSession(), 0 );
- QVERIFY( mEngine->d->mCloseTimer );
-}
-
-void UT_LcUiEngine::testTerminateSession()
-{
- // Leave
- lcutStub_LcEngine_setFailure( -1 );
- QCOMPARE( mEngine->d->terminateSession(), -1 );
-
- // No leave
- lcutStub_LcEngine_reset();
- QCOMPARE( mEngine->d->establishSession(), 0 );
-}
-
-void UT_LcUiEngine::testSetWindowRect()
-{
- TRect rect;
- MLcVideoPlayer* player =
- mEngine->d->mLiveCommsEngine->Session().LocalVideoPlayer();
-
- // No player
- QCOMPARE( mEngine->d->setWindowRect( 0, rect ), -1 );
-
- // Leave
- lcutStub_LcEngine_setFailure( -2 );
- QCOMPARE( mEngine->d->setWindowRect( player, rect ), -2 );
-
- // No leave
- lcutStub_LcEngine_reset();
- QCOMPARE( mEngine->d->setWindowRect( player, rect ), 0 );
-}
-
-void UT_LcUiEngine::testEnableWindow()
-{
- MLcVideoPlayer* player =
- mEngine->d->mLiveCommsEngine->Session().LocalVideoPlayer();
-
- // No player
- QCOMPARE( mEngine->d->enableWindow( 0, true ), -1 );
-
- // Leave
- lcutStub_LcEngine_setFailure( -2 );
- QCOMPARE( mEngine->d->enableWindow( player, true ), -2 );
-
- // No leave
- lcutStub_LcEngine_reset();
- QCOMPARE( mEngine->d->enableWindow( player, true ), 0 );
-}
-
-void UT_LcUiEngine::testPlay()
-{
- MLcVideoPlayer* player =
- mEngine->d->mLiveCommsEngine->Session().LocalVideoPlayer();
-
- // No player
- QCOMPARE( mEngine->d->play( 0 ), -1 );
-
- // Leave
- lcutStub_LcEngine_setFailure( -2 );
- QCOMPARE( mEngine->d->play( player ), -2 );
-
- // No leave
- lcutStub_LcEngine_reset();
- QVERIFY( !player->LcIsPlayingL() );
- QCOMPARE( mEngine->d->play( player ), 0 );
- QVERIFY( player->LcIsPlayingL() );
-}
-
-void UT_LcUiEngine::testPause()
-{
- MLcVideoPlayer* player =
- mEngine->d->mLiveCommsEngine->Session().LocalVideoPlayer();
-
- // No player
- QCOMPARE( mEngine->d->pause( 0 ), -1 );
-
- // Leave
- lcutStub_LcEngine_setFailure( -2 );
- QCOMPARE( mEngine->d->pause( player ), -2 );
-
- // No leave
- lcutStub_LcEngine_reset();
- QCOMPARE( mEngine->d->play( player ), 0 );
- QVERIFY( player->LcIsPlayingL() );
- QCOMPARE( mEngine->d->pause( player ), 0 );
- QVERIFY( !player->LcIsPlayingL() );
-}
-
-void UT_LcUiEngine::testEnableSpeaker()
-{
- // Leave
- lcutStub_LcEngine_setFailure( -1 );
- QCOMPARE( mEngine->d->enableSpeaker( true ), -1 );
- QVERIFY( !mEngine->d->isSpeakerOn() );
-
- // No leave
- lcutStub_LcEngine_reset();
- QCOMPARE( mEngine->d->enableSpeaker( true ), 0 );
- QVERIFY( mEngine->d->isSpeakerOn() );
-}
-
-void UT_LcUiEngine::testMuteMic()
-{
- // Leave
- lcutStub_LcEngine_setFailure( -1 );
- QCOMPARE( mEngine->d->muteMic( true ), -1 );
- lcutStub_LcEngine_reset();
- QVERIFY( !mEngine->d->isMuted() );
-
- // No leave
- QCOMPARE( mEngine->d->muteMic( true ), 0 );
- QVERIFY( mEngine->d->isMuted() );
-}
-
-void UT_LcUiEngine::testStartLiveContent()
-{
- // mInvitingNote not set
- mInvitingNote->hide();
- mEngine->d->startLiveContent();
- QVERIFY( !mInvitingNote->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-
- // mInvitingNote set, but the engine does not support the feature
- lcutStub_LcSession_reset();
- mEngine->d->mInvitingNote = mInvitingNote;
- mEngine->d->startLiveContent();
- QVERIFY( !mInvitingNote->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-
- // mInvitingNote set and the engine supports the feature
- lcutStub_LcSession_reset();
- lcutStub_LcEngine_setLcFeatureSupported( true );
- mEngine->d->startLiveContent();
- QVERIFY( mInvitingNote->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-}
-
-void UT_LcUiEngine::testStart()
-{
- LC_SESSION( mEngine )->iState = MLcSession::EReceived;
- mEngine->d->start();
- QVERIFY( mEngine->d->mActivityManager->isActivitySimulationEnabled() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- LC_SESSION( mEngine )->iState = MLcSession::EInitialized;
- mEngine->d->start();
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- mEngine->d->setUiComponents( mInvitingNote, mWaitingNote,
- mAcceptQuery, mRecipientQuery,mShareOwnVideoQuery );
- LC_SESSION( mEngine )->iState = MLcSession::EInitialized;
- mEngine->d->start();
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-}
-
-void UT_LcUiEngine::testSetUiComponents()
-{
- QVERIFY( !mEngine->d->mInvitingNote );
- QVERIFY( !mEngine->d->mWaitingNote );
- QVERIFY( !mEngine->d->mAcceptQuery );
- QVERIFY( !mEngine->d->mRecipientQuery );
-
- mEngine->d->setUiComponents(0,0,0,0,0);
-
- QVERIFY( !mEngine->d->mInvitingNote );
- QVERIFY( !mEngine->d->mWaitingNote );
- QVERIFY( !mEngine->d->mAcceptQuery );
- QVERIFY( !mEngine->d->mRecipientQuery );
-
- mEngine->d->setUiComponents(mInvitingNote,mWaitingNote,mAcceptQuery,mRecipientQuery,mShareOwnVideoQuery);
- QVERIFY( mEngine->d->mInvitingNote );
- QVERIFY( mEngine->d->mWaitingNote );
- QVERIFY( mEngine->d->mAcceptQuery );
- QVERIFY( mEngine->d->mRecipientQuery );
-}
-
-void UT_LcUiEngine::testSessionStateChanged()
-{
- LC_SESSION( mEngine )->iState = MLcSession::EUninitialized;
- mEngine->d->StateChanged( *LC_SESSION( mEngine ) );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- QVERIFY( mEngine->d->mSessionDurationTimerId == 0 );
- LC_SESSION( mEngine )->iState = MLcSession::EOpen;
- mEngine->d->StateChanged( *LC_SESSION( mEngine ) );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_EnableLcWindowL ) );
- // Session duration is started when session opened
- QVERIFY( mEngine->d->mSessionDurationTimerId != 0 );
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- LC_SESSION( mEngine )->iState = MLcSession::EClosed;
- QSignalSpy spy(mEngine, SIGNAL(stopped()));
- mEngine->d->StateChanged( *LC_SESSION( mEngine ) );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
- QCOMPARE( spy.count(), 1 );
-
- // mAcceptQuery not set
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- mAcceptQuery->hide();
- LC_SESSION( mEngine )->iState = MLcSession::EReceived;
- mEngine->d->StateChanged( *LC_SESSION( mEngine ) );
- QVERIFY( !mAcceptQuery->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-
- // mAcceptQuery set, but the engine does not support the feature
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- LC_SESSION( mEngine )->iState = MLcSession::EReceived;
- mEngine->d->mAcceptQuery = mAcceptQuery;
- mEngine->d->StateChanged( *LC_SESSION( mEngine ) );
- QVERIFY( !mAcceptQuery->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-
- // mAcceptQuery set and the engine supports the feature
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- LC_SESSION( mEngine )->iState = MLcSession::EReceived;
- lcutStub_LcEngine_setLcFeatureSupported( true );
- mEngine->d->StateChanged( *LC_SESSION( mEngine ) );
- QVERIFY( mAcceptQuery->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-
- // MT call and sharing own video not allowed by default , popup query shown
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- mShareOwnVideoQuery->hide();
- mEngine->d->setUiComponents(mInvitingNote,mWaitingNote,mAcceptQuery,mRecipientQuery,mShareOwnVideoQuery);
- LC_SESSION( mEngine )->iState = MLcSession::EOpen;
- lcutStub_LcEngine_setLcFeatureSupported( true );
- mEngine->d->StateChanged( *LC_SESSION( mEngine ) );
- QVERIFY( mEngine->d->mShareOwnVideoQuery );
- QVERIFY( mEngine->d->mShareOwnVideoQuery->isVisible() );
- CLcVideoPlayer* localPlayer = LC_SESSION( mEngine )->iLocalPlayer;
- localPlayer = 0;
-
- // MO call and sharing own video allowed by default , popup query not shown
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- mShareOwnVideoQuery->hide();
- mEngine->d->setUiComponents(mInvitingNote,mWaitingNote,mAcceptQuery,mRecipientQuery,mShareOwnVideoQuery);
- LC_SESSION( mEngine )->iState = MLcSession::EOpen;
- lcutStub_LcEngine_setLcFeatureSupported( false );
- mEngine->d->StateChanged( *LC_SESSION( mEngine ) );
- QVERIFY( mEngine->d->mShareOwnVideoQuery );
- QVERIFY( !mEngine->d->mShareOwnVideoQuery->isVisible() );
-
-}
-
-void UT_LcUiEngine::testPlayerStateChanged()
-{
- CLcVideoPlayer* localPlayer = LC_SESSION( mEngine )->iLocalPlayer;
- QVERIFY( localPlayer != NULL );
- QSignalSpy localPlayerSignalSpy( mEngine, SIGNAL( localPlayerPlaying() ) );
- QSignalSpy localPlayerSignalSpy2( mEngine, SIGNAL( localPlayerPreparing() ) );
- QSignalSpy localPlayerSignalSpy3( mEngine, SIGNAL( localPlayerBuffering() ) );
- QSignalSpy localPlayerSignalSpy4( mEngine, SIGNAL( localPlayerPaused() ) );
- QSignalSpy localPlayerSignalSpy5( mEngine, SIGNAL( localPlayerUnavailable() ) );
-
- CLcVideoPlayer* remotePlayer = LC_SESSION( mEngine )->iRemotePlayer;
- QVERIFY( remotePlayer != NULL );
- QSignalSpy remotePlayerSignalSpy( mEngine, SIGNAL( remotePlayerPlaying() ) );
- QSignalSpy remotePlayerSignalSpy2( mEngine, SIGNAL( remotePlayerPreparing() ) );
- QSignalSpy remotePlayerSignalSpy3( mEngine, SIGNAL( remotePlayerBuffering() ) );
- QSignalSpy remotePlayerSignalSpy4( mEngine, SIGNAL( remotePlayerPaused() ) );
- QSignalSpy remotePlayerSignalSpy5( mEngine, SIGNAL( remotePlayerUnavailable() ) );
-
- // Use local player, player not playing
- mEngine->d->StateChanged( *localPlayer );
- QCOMPARE( localPlayerSignalSpy.count(), 0 );
- QCOMPARE( localPlayerSignalSpy2.count(), 0 );
- QCOMPARE( localPlayerSignalSpy3.count(), 0 );
- QCOMPARE( localPlayerSignalSpy4.count(), 0 );
- QCOMPARE( localPlayerSignalSpy5.count(), 0 );
-
- // Use local player, player preparing
- localPlayer->iState = MLcVideoPlayer::EPreparing;
- mEngine->d->StateChanged( *localPlayer );
- QCOMPARE( localPlayerSignalSpy2.count(), 1 );
-
- // Use local player, player buffering
- localPlayer->iState = MLcVideoPlayer::EBuffering;
- mEngine->d->StateChanged( *localPlayer );
- QCOMPARE( localPlayerSignalSpy3.count(), 1 );
-
- // Use local player, player playing
- localPlayer->iState = MLcVideoPlayer::EPlaying;
- mEngine->d->StateChanged( *localPlayer );
- QCOMPARE( localPlayerSignalSpy.count(), 1 );
-
- // Use local player, player paused
- localPlayer->iState = MLcVideoPlayer::EPaused;
- mEngine->d->StateChanged( *localPlayer );
- QCOMPARE( localPlayerSignalSpy4.count(), 1 );
-
- // Use local player, player unavailable
- localPlayer->iState = MLcVideoPlayer::EUnavailable;
- mEngine->d->StateChanged( *localPlayer );
- QCOMPARE( localPlayerSignalSpy5.count(), 1 );
-
- // Use remote player, no waiting note
- mEngine->d->StateChanged( *remotePlayer );
- QVERIFY( mWaitingNote->isVisible() );
- QCOMPARE( remotePlayerSignalSpy.count(), 0 );
- QCOMPARE( remotePlayerSignalSpy2.count(), 0 );
- QCOMPARE( remotePlayerSignalSpy3.count(), 0 );
- QCOMPARE( remotePlayerSignalSpy4.count(), 0 );
- QCOMPARE( remotePlayerSignalSpy5.count(), 0 );
-
- // Use remote player, waiting note present, player not playing
- mEngine->d->mWaitingNote = mWaitingNote;
- mEngine->d->StateChanged( *remotePlayer );
- QVERIFY( mWaitingNote->isVisible() );
- QCOMPARE( remotePlayerSignalSpy.count(), 0 );
- QCOMPARE( remotePlayerSignalSpy2.count(), 0 );
- QCOMPARE( remotePlayerSignalSpy3.count(), 0 );
- QCOMPARE( remotePlayerSignalSpy4.count(), 0 );
- QCOMPARE( remotePlayerSignalSpy5.count(), 0 );
-
- // Use remote player, player preparing
- remotePlayer->iState = MLcVideoPlayer::EPreparing;
- mEngine->d->StateChanged( *remotePlayer );
- QVERIFY( mWaitingNote->isVisible() );
- QCOMPARE( remotePlayerSignalSpy2.count(), 1 );
-
- // Use remote player, player buffering
- remotePlayer->iState = MLcVideoPlayer::EBuffering;
- mEngine->d->StateChanged( *remotePlayer );
- QVERIFY( mWaitingNote->isVisible() );
- QCOMPARE( remotePlayerSignalSpy3.count(), 1 );
-
- // Use remote player, waiting note present, player playing
- remotePlayer->iState = MLcVideoPlayer::EPlaying;
- mEngine->d->StateChanged( *remotePlayer );
- QVERIFY( !mWaitingNote->isVisible() );
- QCOMPARE( remotePlayerSignalSpy.count(), 1 );
-
- // Use remote player, waiting note present, player playing
- remotePlayer->iState = MLcVideoPlayer::EUnavailable;
- mEngine->d->StateChanged( *remotePlayer );
- QVERIFY( !mWaitingNote->isVisible() );
- QCOMPARE( remotePlayerSignalSpy5.count(), 1 );
-
- // Use remote player, player paused
- remotePlayer->iState = MLcVideoPlayer::EPaused;
- mEngine->d->StateChanged( *remotePlayer );
- QVERIFY( !mWaitingNote->isVisible() );
- QCOMPARE( remotePlayerSignalSpy4.count(), 1 );
-
- QCOMPARE( localPlayerSignalSpy.count(), 1 );
- QCOMPARE( localPlayerSignalSpy2.count(), 1 );
- QCOMPARE( localPlayerSignalSpy3.count(), 1 );
- QCOMPARE( localPlayerSignalSpy4.count(), 1 );
- QCOMPARE( localPlayerSignalSpy5.count(), 1 );
-
- QCOMPARE( remotePlayerSignalSpy.count(), 1 );
- QCOMPARE( remotePlayerSignalSpy2.count(), 1 );
- QCOMPARE( remotePlayerSignalSpy3.count(), 1 );
- QCOMPARE( remotePlayerSignalSpy4.count(), 1 );
- QCOMPARE( remotePlayerSignalSpy5.count(), 1 );
-
-}
-
-void UT_LcUiEngine::testSetContentAreas()
-{
- QRectF shared;
- QRectF received;
-
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer );
- QVERIFY( LC_SESSION( mEngine )->iRemotePlayer );
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer->iRect.iTl.iX != 0);
- QVERIFY( LC_SESSION( mEngine )->iRemotePlayer->iRect.iTl.iX != 0);
-
- mEngine->d->setContentAreas( shared, received );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_SetLcWindowRectL ) );
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer->iRect.iTl.iX == 0);
- QVERIFY( LC_SESSION( mEngine )->iRemotePlayer->iRect.iTl.iX == 0);
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- mEngine->d->setContentAreas( shared, received );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- shared.setHeight(100);
- received.setHeight(100);
-
- mEngine->d->setContentAreas( shared, received );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_SetLcWindowRectL ) );
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- delete LC_SESSION( mEngine )->iLocalPlayer;
- LC_SESSION( mEngine )->iLocalPlayer = 0;
- delete LC_SESSION( mEngine )->iRemotePlayer;
- LC_SESSION( mEngine )->iRemotePlayer = 0;
-
- mEngine->d->setContentAreas( shared, received );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-}
-
-void UT_LcUiEngine::testSetOrientation()
-{
- bool ok( false );
-
- //1. setting landscape
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer );
- QVERIFY( LC_SESSION( mEngine )->iRemotePlayer );
-
- ok = mEngine->d->setOrientation( Qt::Horizontal );
- QVERIFY( ok );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_SetLcWindowOrientationL ) );
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer->iOrientation == MLcWindow::ELandscape );
- QVERIFY( LC_SESSION( mEngine )->iRemotePlayer->iOrientation == MLcWindow::ELandscape );
-
- //2. setting layout failed
- // Leave
- lcutStub_LcEngine_setFailure( -1 );
- lcutStub_LcPlayer_reset();
- ok = mEngine->d->setOrientation( Qt::Horizontal );
- QVERIFY( !ok );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-
- //3. setting layout with no players
- lcutStub_LcEngine_reset();
- lcutStub_LcPlayer_reset();
- delete LC_SESSION( mEngine )->iLocalPlayer;
- LC_SESSION( mEngine )->iLocalPlayer = 0;
- delete LC_SESSION( mEngine )->iRemotePlayer;
- LC_SESSION( mEngine )->iRemotePlayer = 0;
-
- ok = mEngine->d->setOrientation( Qt::Horizontal );
- QVERIFY( ok );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-}
-
-
-void UT_LcUiEngine::testToggleMute()
-{
- QSignalSpy mutedSpy(mEngine, SIGNAL(muted()));
- QSignalSpy unmutedSpy(mEngine, SIGNAL(unmuted()));
-
-
- // Leave from isMuted
- mEngine->d->toggleMute();
- QVERIFY( mEngine->d->isMuted() );
- lcutStub_LcEngine_setFailure( -2 );
- QVERIFY( !mEngine->d->isMuted() );
-
- // No leave
- lcutStub_LcEngine_reset();
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- mutedSpy.clear();
- unmutedSpy.clear();
-
- mEngine->d->toggleMute();
- QVERIFY( !mEngine->d->isMuted() );
- mutedSpy.clear();
- unmutedSpy.clear();
-
- mEngine->d->toggleMute();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_MuteLcMicL ) );
- QVERIFY( mEngine->d->isMuted() );
- QCOMPARE(mutedSpy.count(), 1); // make sure the signal was emitted exactly one time
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- mutedSpy.clear();
- unmutedSpy.clear();
-
- mEngine->d->toggleMute();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_MuteLcMicL ) );
- QVERIFY( !mEngine->d->isMuted() );
- QCOMPARE(unmutedSpy.count(), 1); // make sure the signal was emitted exactly one time
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- mutedSpy.clear();
- unmutedSpy.clear();
-
- // test async mute
- lcutStub_LcPlayer_asyncCompletion( true );
- mEngine->d->toggleMute();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_MuteLcMicL ) );
- QVERIFY( mEngine->d->isMuted() );
- QVERIFY( mEngine->d->mBlocked );
- QVERIFY( mEngine->d->mPendingAction == "muted" );
-
- // nothing yet signaled as completion is pending
- QCOMPARE(mutedSpy.count(), 0);
- QCOMPARE(unmutedSpy.count(), 0);
-
-
- lcutStub_LcPlayer_asyncCompletion( false );
-}
-
-void UT_LcUiEngine::testToggleSpeaker()
-{
- QSignalSpy speakerEnabledSpy(mEngine, SIGNAL(speakerEnabled()));
- QSignalSpy speakerDisabledSpy(mEngine, SIGNAL(speakerDisabled()));
-
- QVERIFY( !mEngine->d->isSpeakerOn() );
-
- mEngine->d->toggleSpeaker();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_EnableLcLoudspeakerL ) );
- QVERIFY( mEngine->d->isSpeakerOn() );
- QCOMPARE(speakerEnabledSpy.count(), 1);
-
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- speakerEnabledSpy.clear();
- speakerDisabledSpy.clear();
-
- mEngine->d->toggleSpeaker();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_EnableLcLoudspeakerL ) );
- QVERIFY( !mEngine->d->isSpeakerOn() );
- QCOMPARE(speakerDisabledSpy.count(), 1);
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- speakerEnabledSpy.clear();
- speakerDisabledSpy.clear();
-
- // test asynch speaker functionality.
-
- lcutStub_LcPlayer_asyncCompletion( true );
- mEngine->d->toggleSpeaker();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_EnableLcLoudspeakerL ) );
- QVERIFY( mEngine->d->isSpeakerOn() );
- QVERIFY( mEngine->d->mBlocked );
- QVERIFY( mEngine->d->mPendingAction == "speakerEnabled" );
-
- // nothing yet signaled as completion is pending
- QCOMPARE(speakerEnabledSpy.count(), 0);
- QCOMPARE(speakerDisabledSpy.count(), 0);
-
- lcutStub_LcPlayer_asyncCompletion( false );
-}
-
-void UT_LcUiEngine::testToggleDisableCamera()
-{
- QSignalSpy enabledSpy(mEngine, SIGNAL(cameraEnabled()));
- QSignalSpy disabledSpy(mEngine, SIGNAL(cameraDisabled()));
-
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer );
- LC_SESSION( mEngine )->iLocalPlayer->iPlaying = ETrue;
- LC_SESSION( mEngine )->iRemotePlayer->iState = MLcVideoPlayer::EPlaying;
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer->iPlaying );
-
- mEngine->d->toggleDisableCamera();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_LcPauseL ) );
- QVERIFY( !LC_SESSION( mEngine )->iLocalPlayer->iPlaying );
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer->iState == MLcVideoPlayer::EPaused );
- QCOMPARE(enabledSpy.count(), 0);
- QCOMPARE(disabledSpy.count(), 1);
-
- mEngine->d->toggleDisableCamera();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_LcPlayL ) );
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer->iPlaying );
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer->iState == MLcVideoPlayer::EPlaying );
- QCOMPARE(enabledSpy.count(), 1);
- QCOMPARE(disabledSpy.count(), 1);
-}
-
-void UT_LcUiEngine::testToggleCamera()
-{
- // Leave
- lcutStub_LcEngine_setFailure( -1 );
- mEngine->d->toggleCamera();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-
- // No leave
- lcutStub_LcEngine_reset();
- mEngine->d->toggleCamera();
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_ToggleLcCameraL ) );
-}
-
-void UT_LcUiEngine::testStartReceiving()
-{
- // mAcceptQuery not set, mWaitingNote not set
- mAcceptQuery->show();
- mWaitingNote->hide();
- mEngine->d->startReceiving();
- QVERIFY( mAcceptQuery->isVisible() );
- QVERIFY( !mWaitingNote->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-
- // mAcceptQuery set, mWaitingNote not set
- lcutStub_LcSession_reset();
- mEngine->d->mAcceptQuery = mAcceptQuery;
- mEngine->d->startReceiving();
- QVERIFY( !mAcceptQuery->isVisible() );
- QVERIFY( !mWaitingNote->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-
- // mWaitingNote set, but the engine does not support the feature
- lcutStub_LcSession_reset();
- mEngine->d->mWaitingNote = mWaitingNote;
- mEngine->d->startReceiving();
- QVERIFY( !mAcceptQuery->isVisible() );
- QVERIFY( !mWaitingNote->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-
- // mWaitingNote set and the engine supports the feature
- lcutStub_LcSession_reset();
- lcutStub_LcEngine_setLcFeatureSupported( true );
- mEngine->d->startReceiving();
- QVERIFY( !mAcceptQuery->isVisible() );
- QVERIFY( mWaitingNote->isVisible() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_establishSession ) );
-}
-
-void UT_LcUiEngine::testStartPlayback()
-{
- mEngine->d->startPlayback();
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_EnableLcWindowL,0 ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_EnableLcWindowL,1 ) );
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- delete LC_SESSION( mEngine )->iLocalPlayer;
- LC_SESSION( mEngine )->iLocalPlayer = 0;
- mEngine->d->startPlayback();
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_EnableLcWindowL,0 ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall,1 ) );
-
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
-
- delete LC_SESSION( mEngine )->iRemotePlayer;
- LC_SESSION( mEngine )->iRemotePlayer = 0;
-
- mEngine->d->startPlayback();
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall,0 ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall,1 ) );
-}
-
-void UT_LcUiEngine::testStop()
-{
- // Ensure that in MLcSession::EOpen state, "stopped" signal won't be emited
- // Check also that session duration timer is stopped
- LC_SESSION( mEngine )->iState = MLcSession::EOpen;
- mEngine->d->startSessionDurationTimer();
- QVERIFY( mEngine->d->mSessionDurationTimerId != 0 );
- QSignalSpy spy(mEngine, SIGNAL(stopped()));
- mEngine->d->mActivityManager->enableActivitySimulation(true);
- mEngine->d->stop();
- QVERIFY( !mEngine->d->mActivityManager->isActivitySimulationEnabled() );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_terminateSession ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
- QCOMPARE( spy.count(), 0 );
- QVERIFY( mEngine->d->mSessionDurationTimerId == 0 );
-
- // Ensure that MLcSession::EClosed, will cause emition of "stopped" signal
- lcutStub_LcSession_reset();
- lcutStub_LcPlayer_reset();
- LC_SESSION( mEngine )->iState = MLcSession::EClosed;
- mEngine->d->stop();
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_terminateSession ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
- QCOMPARE( spy.count(), 1 );
-}
-
-void UT_LcUiEngine::testSetViewLayout()
-{
- QVERIFY( LC_SESSION( mEngine )->iLocalPlayer );
- QVERIFY( LC_SESSION( mEngine )->iRemotePlayer );
- QVERIFY( !LC_SESSION( mEngine )->iLocalPlayer->iPlaying );
- QVERIFY( !LC_SESSION( mEngine )->iRemotePlayer->iPlaying );
- LC_SESSION( mEngine )->iRemotePlayer->iState = MLcVideoPlayer::EPaused;
- QVERIFY( !mEngine->d->usingVideoTelephoneEngine() );
-
- mEngine->d->setViewLayout();
- QVERIFY( mEngine->d->viewLayout() == Lc_IdleViewLayout );
-
- LC_SESSION( mEngine )->iLocalPlayer->iPlaying = ETrue;
-
- mEngine->d->setViewLayout();
- QVERIFY( mEngine->d->viewLayout() == Lc_SharedViewLayout );
-
- LC_SESSION( mEngine )->iLocalPlayer->iPlaying = EFalse;
- LC_SESSION( mEngine )->iRemotePlayer->iState = MLcVideoPlayer::EPlaying;
-
- mEngine->d->setViewLayout();
- QVERIFY( mEngine->d->viewLayout() == Lc_ReceivedViewLayout );
-
- LC_SESSION( mEngine )->iLocalPlayer->iPlaying = ETrue;
- LC_SESSION( mEngine )->iRemotePlayer->iState = MLcVideoPlayer::EPlaying;
-
- mEngine->d->setViewLayout();
- QVERIFY( mEngine->d->viewLayout() == Lc_TwowayViewLayout );
-
- delete LC_SESSION( mEngine )->iLocalPlayer;
- LC_SESSION( mEngine )->iLocalPlayer = 0;
-
- mEngine->d->setViewLayout();
- QVERIFY( mEngine->d->viewLayout() == Lc_ReceivedOnlyViewLayout );
-
- delete LC_SESSION( mEngine )->iRemotePlayer;
- LC_SESSION( mEngine )->iRemotePlayer = 0;
-
- mEngine->d->setViewLayout();
- QVERIFY( mEngine->d->viewLayout() == Lc_IdleViewLayout );
-
- mEngine->d->mEngineName = lcutVideotelephonyApp;
- QVERIFY( mEngine->d->usingVideoTelephoneEngine() );
-
- mEngine->d->setViewLayout();
- QVERIFY( mEngine->d->viewLayout() == Lc_AllInOneViewLayout );
-}
-
-void UT_LcUiEngine::testHideNotes()
-{
- // Notes not set
- mEngine->d->hideNotes( true );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
- QVERIFY( mInvitingNote->isVisible() );
- QVERIFY( mWaitingNote->isVisible() );
- QVERIFY( mAcceptQuery->isVisible() );
- QVERIFY( mRecipientQuery->isVisible() );
-
- // Notes set, hide all
- mEngine->d->setUiComponents( mInvitingNote, mWaitingNote,
- mAcceptQuery, mRecipientQuery,mShareOwnVideoQuery );
- mEngine->d->hideNotes( true );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
- QVERIFY( !mInvitingNote->isVisible() );
- QVERIFY( !mWaitingNote->isVisible() );
- QVERIFY( !mAcceptQuery->isVisible() );
- QVERIFY( !mRecipientQuery->isVisible() );
-
- // Notes not set, do not hide waiting note
- mInvitingNote->show();
- mWaitingNote->show();
- mAcceptQuery->show();
- mRecipientQuery->show();
- mEngine->d->hideNotes( false );
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_NoCall ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
- QVERIFY( !mInvitingNote->isVisible() );
- QVERIFY( mWaitingNote->isVisible() );
- QVERIFY( !mAcceptQuery->isVisible() );
- QVERIFY( !mRecipientQuery->isVisible() );
-}
-
-void UT_LcUiEngine::testZoom()
-{
- LcControlValues zoomData;
-
- // Leave
- lcutStub_LcEngine_setFailure( -1 );
- mEngine->d->zoom( 1 );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
- QCOMPARE( mEngine->d->zoomValues( zoomData ), -1 );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_NoCall ) );
-
- // No leave
- lcutStub_LcEngine_reset();
- lcutStub_LcPlayer_reset();
- QCOMPARE( mEngine->d->zoomValues( zoomData ), 0 );
- mEngine->d->zoom( 2 );
- mEngine->d->zoom( 1 );
- mEngine->d->zoom( 3 );
-
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_SetLcZoomValueL, 0 ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_SetLcZoomValueL, 1 ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcPlayer_SetLcZoomValueL, 2 ) );
- QVERIFY( lcutStub_LcPlayer_expectCall( lcutStub_LcSession_NoCall, 3 ) );
-}
-
-void UT_LcUiEngine::testBlockUi()
-{
- QSignalSpy blockedSpy(mEngine, SIGNAL(blocked()));
- QSignalSpy unblockedSpy(mEngine, SIGNAL(unblocked()));
- QSignalSpy mutedSpy(mEngine, SIGNAL(muted()));
-
- mEngine->d->BlockUi( ETrue );
-
- QCOMPARE(blockedSpy.count(), 1);
- QCOMPARE(unblockedSpy.count(), 0);
- QCOMPARE(mutedSpy.count(), 0);
-
- // no pending action once unblocked
- blockedSpy.clear();
-
- mEngine->d->BlockUi( EFalse );
- QCOMPARE(blockedSpy.count(), 0);
- QCOMPARE(unblockedSpy.count(), 1);
- QCOMPARE(mutedSpy.count(), 0);
-
-
- // pending action once unblocked
- unblockedSpy.clear();
- mEngine->d->setPendingAction( "muted" );
- mEngine->d->BlockUi( EFalse );
- QCOMPARE(blockedSpy.count(), 0);
- QCOMPARE(unblockedSpy.count(), 1);
- QCOMPARE(mutedSpy.count(), 1);
- QVERIFY( mEngine->d->mPendingAction.isEmpty() );
-}
-
-void UT_LcUiEngine::testCloseTimer()
-{
- // Try to cancel without timer
- mEngine->d->cancelCloseTimer();
- QVERIFY( !mEngine->d->mCloseTimer );
-
- // Try to cancel without timer being active
- mEngine->d->startCloseTimer();
- QVERIFY( mEngine->d->mCloseTimer );
- QVERIFY( mEngine->d->mCloseTimer->isActive() );
- mEngine->d->mCloseTimer->stop();
- QVERIFY( !mEngine->d->mCloseTimer->isActive() );
- mEngine->d->cancelCloseTimer();
- QVERIFY( mEngine->d->mCloseTimer );
- QVERIFY( !mEngine->d->mCloseTimer->isActive() );
-
- // Cancel an active timer
- mEngine->d->startCloseTimer();
- QVERIFY( mEngine->d->mCloseTimer );
- QVERIFY( mEngine->d->mCloseTimer->isActive() );
- mEngine->d->cancelCloseTimer();
- QVERIFY( mEngine->d->mCloseTimer );
- QVERIFY( !mEngine->d->mCloseTimer->isActive() );
-}
-
-
-void UT_LcUiEngine::testfullScreenMode()
-{
- QVERIFY( !mEngine->d->fullScreenMode() );
-}
-
-
-void UT_LcUiEngine::testsetFullScreenMode()
-{
- mEngine->d->setFullScreenMode(true);
- QVERIFY( mEngine->d->fullScreenMode() );
-}
-
-void UT_LcUiEngine::testTimerEvent()
-{
- mEngine->d->startSessionDurationTimer();
- QSignalSpy spy(mEngine, SIGNAL(sessionDurationChanged(const QString &)));
-
- QTimerEvent wrongTimerEvent(9999);
- mEngine->d->timerEvent(&wrongTimerEvent);
- QVERIFY( spy.count() == 0 );
-
- QTimerEvent correctTimerEvent(mEngine->d->mSessionDurationTimerId);
- mEngine->d->timerEvent(&correctTimerEvent);
- QVERIFY( spy.count() == 1 );
- QVERIFY( spy.at(0).count() == 1 ); // one arg which is duration as string
- QTime currDuration = QTime::fromString(spy.at(0).at(0).toString());
- QVERIFY( currDuration.isValid() );
-}
-
-void UT_LcUiEngine::testFillRemoteInfo()
-{
- QSignalSpy recipientSpy(mEngine, SIGNAL(recipientChanged(const QString &)));
- QSignalSpy numberSpy(mEngine, SIGNAL(phoneNumberChanged(const QString &)));
-
- // test filling without signal emitting
-
- // number and name changed
- mEngine->d->mRecipient = "";
- mEngine->d->mPhoneNumber = "";
- mEngine->d->fillRemoteInfo( false );
- QVERIFY( mEngine->d->mRecipient.length() > 0 );
- QVERIFY( mEngine->d->mPhoneNumber.length() > 0 );
- QVERIFY( recipientSpy.count() == 0 );
- QVERIFY( numberSpy.count() == 0 );
-
- // nothing changed
- QString prevRecipient = mEngine->d->mRecipient;
- QString prevNumber = mEngine->d->mPhoneNumber;
- mEngine->d->fillRemoteInfo( false );
- QVERIFY( mEngine->d->mRecipient == prevRecipient );
- QVERIFY( mEngine->d->mPhoneNumber == prevNumber );
- QVERIFY( recipientSpy.count() == 0 );
- QVERIFY( numberSpy.count() == 0 );
-
- // test filling with signal emitting
-
- // number and name changed
- mEngine->d->mRecipient = "";
- mEngine->d->mPhoneNumber = "";
- mEngine->d->fillRemoteInfo( true );
- QVERIFY( mEngine->d->mRecipient == prevRecipient );
- QVERIFY( mEngine->d->mPhoneNumber == prevNumber );
- QVERIFY( recipientSpy.count() == 1 );
- QVERIFY( numberSpy.count() == 1 );
-
- // state is opened and name not found and no number, unknown name is used
- LC_SESSION( mEngine )->iState = MLcSession::EOpen;
- delete LC_SESSION( mEngine )->iRemoteDisplayName;
- LC_SESSION( mEngine )->iRemoteDisplayName = NULL;
- LC_SESSION( mEngine )->iRemoteDisplayName = KNullDesC().AllocL();
- delete LC_SESSION( mEngine )->iRemoteDetails;
- LC_SESSION( mEngine )->iRemoteDetails = NULL;
- LC_SESSION( mEngine )->iRemoteDetails = KNullDesC().AllocL();
- mEngine->d->mPhoneNumber = "";
- mEngine->d->fillRemoteInfo( true );
- QVERIFY( mEngine->d->mRecipient == hbTrId("txt_vt_custom_unknown_number") );
- QVERIFY( mEngine->d->mPhoneNumber.isEmpty() );
- QVERIFY( recipientSpy.count() == 2 );
- QVERIFY( numberSpy.count() == 1 );
-
- // name not found but number exists, number is used at opened state as recipient
- mEngine->d->mRecipient = "";
- mEngine->d->mPhoneNumber = "";
- delete LC_SESSION( mEngine )->iRemoteDetails;
- LC_SESSION( mEngine )->iRemoteDetails = NULL;
- LC_SESSION( mEngine )->iRemoteDetails = _L("123445").AllocL();
- mEngine->d->fillRemoteInfo( true );
- QVERIFY( mEngine->d->mRecipient == "123445" );
- QVERIFY( mEngine->d->mPhoneNumber == "123445" );
- QVERIFY( recipientSpy.count() == 3 );
- QVERIFY( numberSpy.count() == 2 );
-
-}
-
-void UT_LcUiEngine::testUpdateSession()
-{
- mEngine->d->updateSession();
- QVERIFY( lcutStub_LcSession_expectCall( lcutStub_LcSession_updateSession ) );
-}
-
-void UT_LcUiEngine::testIsLocalPlayerPlaying()
-{
- // Not playing
- QVERIFY( !mEngine->d->isLocalPlayerPlaying() );
-
- // Playing
- LC_SESSION( mEngine )->iLocalPlayer->LcPlayL();
- QVERIFY( mEngine->d->isLocalPlayerPlaying() );
-}
-
-void UT_LcUiEngine::testIsRemotePlayerPlaying()
-{
- // Not playing
- QVERIFY( !mEngine->d->isRemotePlayerPlaying() );
-
- // Playing
- LC_SESSION( mEngine )->iRemotePlayer->LcPlayL();
- QVERIFY( mEngine->d->isRemotePlayerPlaying() );
-}
-
-void UT_LcUiEngine::testMinimized()
-{
- mEngine->minimize();
- QVERIFY( mEngine->isMinimized() );
- mEngine->minimize(); // Doing nothing
- QVERIFY( mEngine->isMinimized() );
-}
-
-void UT_LcUiEngine::testMaximized()
-{
- mEngine->maximize();
- QVERIFY(mEngine->isMaximized() );
- mEngine->maximize(); // Doing nothing
- QVERIFY(mEngine->isMaximized() );
-}
-
-void UT_LcUiEngine::testIsMinimized()
-{
- mEngine->minimize();
- QVERIFY( mEngine->isMinimized() );
-}
-
-void UT_LcUiEngine::testHandleForegroundStatus()
-{
- QtHighwayStubHelper::reset();
-
- // First time to foreground, engine is not set to foreground until viewReady signal
- HbView currView;
- mEngine->d->setCurrentView(&currView);
- QVERIFY( mEngine->d->mFirstForegroundSwitch );
- QVERIFY( !mEngine->d->mActivityManager->isActivitySimulationEnabled() );
-
- mEngine->d->HandleForegroundStatus(ETrue);
- QVERIFY( mEngine->d->mActivityManager->isActivitySimulationEnabled() );
- QVERIFY( !mEngine->d->session().IsBackgroundStartup() ); // Stub returns fg status in this
- QVERIFY( !QtHighwayStubHelper::isAtBg() );
- QVERIFY( !mEngine->d->mFirstForegroundSwitch );
-
- //Simulate viewReady signal happens, funciton will be called again.
- mEngine->d->HandleForegroundStatus(ETrue);
- QVERIFY( mEngine->d->session().IsBackgroundStartup() ); // Stub returns fg status in this
- QVERIFY( !mEngine->d->mFirstForegroundSwitch );
-
- // Bg switch
- QtHighwayStubHelper::reset();
- QVERIFY( mEngine->d->mActivityManager->isActivitySimulationEnabled() );
- mEngine->d->HandleForegroundStatus(EFalse);
- QVERIFY( !mEngine->d->mActivityManager->isActivitySimulationEnabled() );
- QVERIFY( QtHighwayStubHelper::isAtBg() );
- QVERIFY( !mEngine->d->session().IsBackgroundStartup() ); // Stub returns fg status in this
-
-}
-
-
-void UT_LcUiEngine::testSendDialTone()
-{
- //Dumy test: Ensure Conversion does not cause any problem.
- QVERIFY( mEngine->d->SendDialTone('3') );
-}
-
-
-void UT_LcUiEngine::testShareVideoIsAllowedShownAutomatically()
-{
- lcutStub_LcEngine_setLcFeatureSupported( false );
- mShareOwnVideoQuery->hide();
- mEngine->d->setUiComponents(mInvitingNote,mWaitingNote,mAcceptQuery,mRecipientQuery,mShareOwnVideoQuery);
- mEngine->d->showSendVideoQueryWhenNecessary();
- QVERIFY(mEngine->d->mShareOwnVideoQuery && !mEngine->d->mShareOwnVideoQuery->isVisible());
-}
-
-
-void UT_LcUiEngine::testShareVideoIsNotAllowedShown()
-{
- lcutStub_LcEngine_setLcFeatureSupported( false );
- mShareOwnVideoQuery->hide();
- mEngine->d->setUiComponents(mInvitingNote,mWaitingNote,mAcceptQuery,mRecipientQuery,mShareOwnVideoQuery);
- mEngine->d->showSendVideoQueryWhenNecessary();
- QVERIFY(mEngine->d->mShareOwnVideoQuery && !mEngine->d->mShareOwnVideoQuery->isVisible());
-}
-
-
-void UT_LcUiEngine::testShareVideoPermissionAskedAlways()
-{
- lcutStub_LcEngine_setLcFeatureSupported( true );
- mShareOwnVideoQuery->hide();
- mEngine->d->setUiComponents(mInvitingNote,mWaitingNote,mAcceptQuery,mRecipientQuery,mShareOwnVideoQuery);
- mEngine->d->showSendVideoQueryWhenNecessary();
- QVERIFY(mEngine->d->mShareOwnVideoQuery && mEngine->d->mShareOwnVideoQuery->isVisible());
-}
-
-
-void UT_LcUiEngine::testVolumeLevelChanged()
-{
- // Subscribe to the events.
- mEngine->d->subscribeVolumeEvents();
-
- QSignalSpy spy(mEngine, SIGNAL(volumeChanged(int)));
- QCOMPARE( spy.count(), 0 );
-
-
- //Test1: Known Key Event handled
- QVariant value;
- value.setValue(5);
-
- XQSettingsKey validKey1(XQSettingsKey::TargetCentralRepository,
- KCRUidInCallVolume.iUid, KTelIncallEarVolume);
- mEngine->d->volumeLevelChanged(validKey1, value);
- QCOMPARE( spy.count(), 1 );
- spy.clear();
-
-
- //Test2: Known Key Event-2 handled
- XQSettingsKey validKey2(XQSettingsKey::TargetCentralRepository,
- KCRUidInCallVolume.iUid,KTelIncallLoudspeakerVolume);
- mEngine->d->volumeLevelChanged(validKey2, value);
- QCOMPARE( spy.count(), 1 );
- spy.clear();
-
- //Test3: Unknow Key Event Ignored.
- XQSettingsKey unKnownKey(XQSettingsKey::TargetCentralRepository,
- 787,899);
- mEngine->d->volumeLevelChanged(unKnownKey, value);
- QCOMPARE( spy.count(), 0 );
-
- // Un-Subscribe Events.
- mEngine->d->unSubscribeVolumeEvents();
-}
-
-
-
-// End of file