--- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengcamerahandler.cpp Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,956 +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:
-*
-*/
-
-
-// INTERNAL INCLUDES
-#include "ut_musengcamerahandler.h"
-#include "musengstubs.h"
-#include "musengtestdefs.h"
-#include "musenglivesession.h"
-#include "mussipprofilehandler.h"
-#include "musengmceutils.h"
-#include "mussettings.h"
-#include "mussessionproperties.h"
-
-// SYSTEM INCLUDES
-#include <eunitmacros.h>
-#include <mceoutsession.h>
-#include <mcestreambundle.h>
-#include <mcevideostream.h>
-#include <mcecamerasource.h>
-#include <mcertpsink.h>
-#include <mcedisplaysink.h>
-#include <mcertpsource.h>
-
-const TUint KSipProfileId( 1 );
-
-//use step in different time period
-const TInt KZoomBigStepCount = 15;
-const TInt KZoomSmallStepCount = KZoomBigStepCount*2;
-const TInt KZoomStepMinSize = 1;
-
-// 0.4 second
-const TInt64 KZoomFasterTime = 400000;//must bigger than 1/3 second
-
-//insure that step is 1
-#define USER_SLEEP User::After(KZoomFasterTime)
-
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_TMusEngCameraHandler* UT_TMusEngCameraHandler::NewL()
- {
- UT_TMusEngCameraHandler* self = UT_TMusEngCameraHandler::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_TMusEngCameraHandler* UT_TMusEngCameraHandler::NewLC()
- {
- UT_TMusEngCameraHandler* self = new( ELeave ) UT_TMusEngCameraHandler();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_TMusEngCameraHandler::~UT_TMusEngCameraHandler()
- {
- // NOP
- }
-
-
-// -----------------------------------------------------------------------------
-// Default constructor
-// -----------------------------------------------------------------------------
-//
-UT_TMusEngCameraHandler::UT_TMusEngCameraHandler()
- {
- // NOP
- }
-
-
-// -----------------------------------------------------------------------------
-// Second phase construct
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::ConstructL()
- {
- // The ConstructL from the base class CEUnitTestSuiteClass must be called.
- // It generates the test case table.
- CEUnitTestSuiteClass::ConstructL();
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::SetupL()
- {
- iManager = CMceManager::NewL( TUid::Null(), NULL );
- iObserver = new( ELeave ) CMusEngObserverStub;
- iObserver->iRoamingBetweenAPsAllowed = ETrue;
- iProfileHandler = CMusSipProfileHandler::NewL( *iObserver );
-
- iProfileHandler->CreateProfileL( KSipProfileId );
-
- iSession = CMceOutSession::NewL( *iManager,
- *iProfileHandler->Profile(),
- KTestRecipientSipUri8() );
-
-
- CMceVideoStream* videoOut = CMceVideoStream::NewLC();
-
- videoOut->AddSinkL( CMceRtpSink::NewLC() );
- CleanupStack::Pop();
-
- videoOut->AddSinkL( CMceDisplaySink::NewLC( *iManager ) );
- CleanupStack::Pop();
-
- videoOut->SetSourceL( CMceCameraSource::NewLC( *iManager ) );
- CleanupStack::Pop();
-
- CMceVideoStream* videoIn = CMceVideoStream::NewLC();
-
- CMceDisplaySink* receivingDisplay = CMceDisplaySink::NewLC( *iManager );
- videoIn->AddSinkL( receivingDisplay );
- CleanupStack::Pop();
-
- videoIn->SetSourceL( CMceRtpSource::NewLC() );
- CleanupStack::Pop();
-
- videoOut->BindL( videoIn );
- CleanupStack::Pop( videoIn );
-
- iSession->AddStreamL( videoOut );
- CleanupStack::Pop( videoOut );
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::Teardown()
- {
- delete iSession;
- iSession = NULL;
- iCameraHandler.SetSession( NULL );
- delete iProfileHandler;
- delete iObserver;
- delete iManager;
- }
-
-
-
-// TEST CASES
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_LcCameraCountL()
- {
- // Call without setting the MCE session
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.LcCameraCountL(), KErrNotReady )
-
- iCameraHandler.SetSession( iSession );
- CMceCameraSource* camera =
- MusEngMceUtils::GetCameraL( *( iSession ) );
- iCameraHandler.iCameraUsage = MusSettingsKeys::EUseCameraSwapping;
- camera->iCameraCount = 2;
- camera->iCameraIndex = TMusEngCameraHandler::EBackCamera;
-
- // Two cameras
- EUNIT_ASSERT_EQUALS( 2, iCameraHandler.LcCameraCountL() )
-
- // Two cameras, swapping cameras not allowed, use only main camera
- iCameraHandler.iCameraUsage = MusSettingsKeys::EUseOnlyMainCamera;
- camera->iCameraCount = 2;
- EUNIT_ASSERT_EQUALS( 1, iCameraHandler.LcCameraCountL() )
-
- // Two cameras, swapping cameras not allowed, use only main camera
- iCameraHandler.iCameraUsage = MusSettingsKeys::EUseOnlySecondaryCamera;
- camera->iCameraCount = 2;
- EUNIT_ASSERT_EQUALS( 1, iCameraHandler.LcCameraCountL() )
-
- // Only one camera available
- iCameraHandler.iCameraUsage = MusSettingsKeys::EUseCameraSwapping;
- camera->iCameraCount = 1;
- EUNIT_ASSERT_EQUALS( 1, iCameraHandler.LcCameraCountL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_ToggleLcCameraL()
- {
- EUNIT_ASSERT_EQUALS( TInt( TMusEngCameraHandler::ECameraNotAvailable ),
- iCameraHandler.CurrentLcCameraIndex() )
-
- iCameraHandler.SetSession( iSession );
- iCameraHandler.iCameraUsage = MusSettingsKeys::EUseCameraSwapping;
- iCameraHandler.iCurrentCamera = TMusEngCameraHandler::EBackCamera;
-
- // Switch from back to front
- iCameraHandler.ToggleLcCameraL();
- EUNIT_ASSERT_EQUALS( TInt( TMusEngCameraHandler::EFrontCamera ),
- iCameraHandler.CurrentLcCameraIndex() )
-
- // Switch from front to back
- iCameraHandler.ToggleLcCameraL();
- EUNIT_ASSERT_EQUALS( TInt( TMusEngCameraHandler::EBackCamera ),
- iCameraHandler.CurrentLcCameraIndex() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_MinLcZoomL()
- {
- // MCE Session has not been set
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.MinLcZoomL(), KErrNotReady )
-
- // MCE Session has been set
- iCameraHandler.SetSession( iSession );
- EUNIT_ASSERT_EQUALS(
- iCameraHandler.iCameraInfo.iMinZoom,
- iCameraHandler.MinLcZoomL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_MaxLcZoomL()
- {
- // MCE Session has not been set
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.MaxLcZoomL(), KErrNotReady )
-
- // MCE Session has been set
- iCameraHandler.SetSession( iSession );
- EUNIT_ASSERT_EQUALS(
- iCameraHandler.iCameraInfo.iMaxZoom +
- iCameraHandler.iCameraInfo.iMaxDigitalZoom,
- iCameraHandler.MaxLcZoomL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_LcZoomValueL()
- {
- // MCE Session has not been set
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.LcZoomValueL(), KErrNotReady )
-
- // Check that originally current and default zoom are the same
- iCameraHandler.SetSession( iSession );
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *( iSession ) );
-
- // Zoom to maximum optical value
- while ( camera->iZoomFactor < iCameraHandler.iCameraInfo.iMaxZoom )
- {
- iCameraHandler.LcZoomInL();
- }
- EUNIT_ASSERT_EQUALS(
- iCameraHandler.iCameraInfo.iMaxZoom,
- iCameraHandler.LcZoomValueL() )
-
- // Zoom using digital zoom
- iCameraHandler.LcZoomInL();
- EUNIT_ASSERT_EQUALS(
- iCameraHandler.iCameraInfo.iMaxZoom + camera->iDigitalZoomFactor,
- iCameraHandler.LcZoomValueL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_SetLcZoomValueL()
- {
- // MCE Session has not been set
- EUNIT_ASSERT_SPECIFIC_LEAVE(
- iCameraHandler.SetLcZoomValueL( 1 ),
- KErrNotReady )
-
- // Value above the maximum zoom
- iCameraHandler.SetSession( iSession );
- EUNIT_ASSERT_SPECIFIC_LEAVE(
- iCameraHandler.SetLcZoomValueL( iCameraHandler.MaxLcZoomL() + 1 ),
- KErrArgument )
-
- // Value below the minimum zoom
- EUNIT_ASSERT_SPECIFIC_LEAVE(
- iCameraHandler.SetLcZoomValueL( iCameraHandler.MinLcZoomL() - 1 ),
- KErrArgument )
-
- // OK: set zoom factor
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *iSession );
- TInt zoomValue = iCameraHandler.iCameraInfo.iMaxZoom - 1;
- iCameraHandler.SetLcZoomValueL( zoomValue );
- EUNIT_ASSERT_EQUALS( zoomValue, camera->ZoomFactorL() )
-
- // OK: set digital zoom factor
- zoomValue = iCameraHandler.iCameraInfo.iMaxZoom + 1;
- iCameraHandler.SetLcZoomValueL( zoomValue );
- EUNIT_ASSERT_EQUALS( 1, camera->DigitalZoomFactorL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_LcZoomInL()
- {
- // Check that zooming is not possible before invite
- TRAPD( error, iCameraHandler.LcZoomInL() );
- MUS_TEST_FORWARD_ALLOC_FAILURE( error );
- EUNIT_ASSERT( error == KErrNotReady );
-
- iCameraHandler.SetSession( iSession );
-
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *( iSession ) );
-
- TInt oldZoomFactor = camera->iZoomFactor;
-
- // Check that zoom factor can be increased
- USER_SLEEP; //insure that small step is used
- iCameraHandler.LcZoomInL();
- EUNIT_ASSERT( camera->iZoomFactor == oldZoomFactor +
- iCameraHandler.iSmallZoomStep );
-
- //Check the "burst" mode (immediate second ZoomIn), big step should be used
- TInt nZoom = camera->iZoomFactor + camera->iDigitalZoomFactor;
- iCameraHandler.LcZoomInL();
- TInt nStep = camera->iZoomFactor + camera->iDigitalZoomFactor - nZoom;
- EUNIT_ASSERT( nStep == iCameraHandler.iBigZoomStep );
-
- // Zoom to maximum optical value
- while ( camera->iZoomFactor < iCameraHandler.iCameraInfo.iMaxZoom )
- {
- iCameraHandler.LcZoomInL();
- }
-
- TInt maxOpticalZoomFactor = camera->ZoomFactorL();
-
- // Check that digital zoom is used instead of optical
- iCameraHandler.LcZoomInL();
- EUNIT_ASSERT( camera->iZoomFactor == maxOpticalZoomFactor );
- EUNIT_ASSERT( camera->iDigitalZoomFactor > 0 );
-
- // Zoom to maximum digital value
- while ( camera->iDigitalZoomFactor <
- iCameraHandler.iCameraInfo.iMaxDigitalZoom )
- {
- iCameraHandler.LcZoomInL();
- }
-
- TInt maxDigitalZoomFactor = camera->DigitalZoomFactorL();
-
- // Check that further zooming is impossible
- iCameraHandler.LcZoomInL();
- EUNIT_ASSERT( camera->iZoomFactor == maxOpticalZoomFactor );
- EUNIT_ASSERT( camera->iDigitalZoomFactor == maxDigitalZoomFactor );
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_LcZoomOutL()
- {
- // Check that zooming is not possible before invite
- TRAPD( error, iCameraHandler.LcZoomOutL() );
- MUS_TEST_FORWARD_ALLOC_FAILURE( error );
- EUNIT_ASSERT( error == KErrNotReady );
-
- iCameraHandler.SetSession( iSession );
-
- CMceCameraSource* camera =
- MusEngMceUtils::GetCameraL( *(iSession) );
-
- // Simulate maximum zoom
- camera->iZoomFactor = iCameraHandler.iCameraInfo.iMaxZoom;
- camera->iDigitalZoomFactor = iCameraHandler.iCameraInfo.iMaxDigitalZoom;
-
- // Check that digital zoom factor can be decreased
- USER_SLEEP; //insure that small step is used
- iCameraHandler.LcZoomOutL();
- EUNIT_ASSERT( camera->iZoomFactor == iCameraHandler.iCameraInfo.iMaxZoom );
- EUNIT_ASSERT( camera->iDigitalZoomFactor ==
- iCameraHandler.iCameraInfo.iMaxDigitalZoom -
- iCameraHandler.iSmallZoomStep );
-
- //Check the "burst" mode (immediate second ZoomOut), big step should be used
- TInt nZoom = camera->iZoomFactor + camera->iDigitalZoomFactor;
- iCameraHandler.LcZoomOutL();
- TInt nStep;
- nStep = nZoom - (camera->iZoomFactor + camera->iDigitalZoomFactor );
- EUNIT_ASSERT( nStep == iCameraHandler.iBigZoomStep );
-
- // Simulate maximum zoom again
- camera->iZoomFactor = iCameraHandler.iCameraInfo.iMaxZoom;
- camera->iDigitalZoomFactor = iCameraHandler.iCameraInfo.iMaxDigitalZoom;
-
- // Zoom to minimum digital zoom
- while ( camera->iDigitalZoomFactor > 0 )
- {
- iCameraHandler.LcZoomOutL();
- }
-
- EUNIT_ASSERT( camera->iZoomFactor == iCameraHandler.iCameraInfo.iMaxZoom );
- EUNIT_ASSERT( camera->iDigitalZoomFactor == 0 );
-
- // Check that optical zoom is decreased instead of digital
- USER_SLEEP; //insure that step is the small one
- iCameraHandler.LcZoomOutL();
- EUNIT_ASSERT( camera->iZoomFactor ==
- iCameraHandler.iCameraInfo.iMaxZoom -
- iCameraHandler.iSmallZoomStep );
- EUNIT_ASSERT( camera->iDigitalZoomFactor == 0 );
-
- // Zoom to minimum optical zoom
- while ( camera->iZoomFactor > iCameraHandler.iCameraInfo.iMinZoom )
- {
- iCameraHandler.LcZoomOutL();
- }
-
- // Check that further zooming is impossible
- iCameraHandler.LcZoomOutL();
- EUNIT_ASSERT( camera->iZoomFactor == iCameraHandler.iCameraInfo.iMinZoom );
- EUNIT_ASSERT( camera->iDigitalZoomFactor == 0 );
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_SetLcBrightnessL()
- {
- // Check that setting brightness is not possible before invite
- EUNIT_ASSERT_SPECIFIC_LEAVE(
- iCameraHandler.SetLcBrightnessL( KTestSomeBrightness ),
- KErrNotReady )
-
- iCameraHandler.SetSession( iSession );
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *( iSession ) );
-
- camera->iCameraInfo.iOptionsSupported =
- camera->iCameraInfo.iOptionsSupported|TCameraInfo::EBrightnessSupported;
-
- // Check that originally current and default brightness are the same
- EUNIT_ASSERT_EQUALS( iCameraHandler.iDefaultBrightness,
- iCameraHandler.LcBrightnessL() )
-
- // Test setting brightness
- iCameraHandler.SetLcBrightnessL( KTestSomeBrightness );
- EUNIT_ASSERT_EQUALS( KTestSomeBrightness, iCameraHandler.LcBrightnessL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_LcBrightnessL()
- {
- // Check that checking current brightness is not possible before invite
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.LcBrightnessL(),
- KErrNotReady )
-
- // All the other stuff checked in tests of SetBrightnessL
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_MaxLcBrightnessL()
- {
- // MaxBrightness should return a constant
- EUNIT_ASSERT_EQUALS( KTestMaxBrightness, iCameraHandler.MaxLcBrightnessL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_MinLcBrightnessL()
- {
- // MinBrightness should return a constant
-
- EUNIT_ASSERT_EQUALS( KTestMinBrightness, iCameraHandler.MinLcBrightnessL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_IncreaseLcBrightnessL()
- {
- // Check that increasing brightness is not possible before invite
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.IncreaseLcBrightnessL(),
- KErrNotReady )
-
- iCameraHandler.SetSession( iSession );
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *(iSession) );
-
- camera->iCameraInfo.iOptionsSupported =
- camera->iCameraInfo.iOptionsSupported|TCameraInfo::EBrightnessSupported;
-
- // Check that originally current and default brightness are the same
- EUNIT_ASSERT_EQUALS( iCameraHandler.iDefaultBrightness,
- iCameraHandler.LcBrightnessL() )
-
- // Check that brightness can be increased...
- iCameraHandler.IncreaseLcBrightnessL();
- EUNIT_ASSERT_EQUALS( iCameraHandler.iDefaultBrightness + KTestBrightnessStepSize,
- iCameraHandler.LcBrightnessL() )
-
- // ... but only to maximum
- iCameraHandler.SetLcBrightnessL( KTestMaxBrightness );
- iCameraHandler.IncreaseLcBrightnessL();
-
- EUNIT_ASSERT_EQUALS( KTestMaxBrightness,
- iCameraHandler.LcBrightnessL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_DecreaseLcBrightnessL()
- {
- // Check that decreasing brightness is not possible before invite
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.DecreaseLcBrightnessL(),
- KErrNotReady )
-
- iCameraHandler.SetSession( iSession );
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *(iSession) );
-
- camera->iCameraInfo.iOptionsSupported =
- camera->iCameraInfo.iOptionsSupported|TCameraInfo::EBrightnessSupported;
-
- // Check that originally current and default brightness are the same
- EUNIT_ASSERT_EQUALS( iCameraHandler.iDefaultBrightness,
- iCameraHandler.LcBrightnessL() )
-
- // Check that brightness can be decreased...
- iCameraHandler.DecreaseLcBrightnessL();
-
- EUNIT_ASSERT_EQUALS(
- iCameraHandler.iDefaultBrightness - KTestBrightnessStepSize,
- iCameraHandler.LcBrightnessL() )
-
- // ... but only to minimum
- iCameraHandler.SetLcBrightnessL( KTestMinBrightness );
- iCameraHandler.DecreaseLcBrightnessL();
- EUNIT_ASSERT_EQUALS( KTestMinBrightness,
- iCameraHandler.LcBrightnessL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_PlayL()
- {
- // Check that resuming is not possible before invite
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.PlayL(), KErrNotReady )
-
- iCameraHandler.SetSession( iSession );
-
- iCameraHandler.PauseL();
-
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *(iSession) );
- iCameraHandler.PlayL();
- EUNIT_ASSERT( camera->IsEnabled() )
-
- // Try to enable camera again, request should be ignored
- iCameraHandler.PlayL();
- EUNIT_ASSERT( camera->IsEnabled() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_PauseL()
- {
- // Check that pausing is not possible before invite
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.PauseL(), KErrNotReady )
-
- iCameraHandler.SetSession( iSession );
-
- iCameraHandler.PlayL();
-
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *(iSession) );
-
- iCameraHandler.PauseL();
-
- EUNIT_ASSERT( !camera->IsEnabled() )
-
- // Try to disable camera again, request should be ignored
- iCameraHandler.PauseL();
- EUNIT_ASSERT( !camera->IsEnabled() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_IsPlayingL()
- {
- // Try without a session
- EUNIT_ASSERT_SPECIFIC_LEAVE( iCameraHandler.IsPlayingL(), KErrNotReady )
-
- // Normal cases
- iCameraHandler.SetSession( iSession );
-
- iCameraHandler.PlayL();
- EUNIT_ASSERT( iCameraHandler.IsPlayingL() )
-
- iCameraHandler.PauseL();
- EUNIT_ASSERT( !iCameraHandler.IsPlayingL() )
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_InitializeZoomStepSizeL()
- {
- //Check that zooming steps have defualt values before session establishment
- iCameraHandler.InitializeZoomStepSize();
- EUNIT_ASSERT( iCameraHandler.iSmallZoomStep == KZoomStepMinSize );
- EUNIT_ASSERT( iCameraHandler.iBigZoomStep == KZoomStepMinSize );
-
- iCameraHandler.SetSession( iSession );
- CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *(iSession) );
-
- //Check that zooming step sizes have default value KZoomStepMinSize
- //in case of zooming values range is smaller than KZoomBigStepCount
- iCameraHandler.iCameraInfo.iMinZoom = 0;
- iCameraHandler.iCameraInfo.iMaxZoom = 0;
- iCameraHandler.iCameraInfo.iMaxDigitalZoom = KZoomBigStepCount / 2;
- iCameraHandler.InitializeZoomStepSize();
- EUNIT_ASSERT( iCameraHandler.iSmallZoomStep == KZoomStepMinSize );
- EUNIT_ASSERT( iCameraHandler.iBigZoomStep == KZoomStepMinSize );
-
- //Check that zooming step sizes have default value KZoomStepMinSize
- //in case of zooming values range is bigger than KZoomBigStepCount,
- //but smaller than 2*KZoomBigStepCount (KZoomSmallStepCount)
- iCameraHandler.iCameraInfo.iMaxDigitalZoom = 2*KZoomBigStepCount - 1;
- iCameraHandler.InitializeZoomStepSize();
- EUNIT_ASSERT( iCameraHandler.iSmallZoomStep == KZoomStepMinSize );
- EUNIT_ASSERT( iCameraHandler.iBigZoomStep == KZoomStepMinSize );
-
- //Check zooming steps sizes in case of zooming values range is
- //bigger than 2*KZoomBigStepCount and smaller than 2*KZoomSmallStepCount
- iCameraHandler.iCameraInfo.iMinZoom = - KZoomBigStepCount;
- iCameraHandler.iCameraInfo.iMaxZoom = KZoomBigStepCount;
- iCameraHandler.iCameraInfo.iMaxDigitalZoom = KZoomBigStepCount;
- //zooming range is (-KZoomBigStepCount, 2*KZoomBigStepCount)
- iCameraHandler.InitializeZoomStepSize();
- EUNIT_ASSERT( iCameraHandler.iSmallZoomStep == KZoomStepMinSize );
- EUNIT_ASSERT( iCameraHandler.iBigZoomStep == 3 );
-
- //Check zooming steps sizes in case of zooming values range is
- //bigger than 2*KZoomSmallStepCount
- iCameraHandler.iCameraInfo.iMaxZoom = KZoomSmallStepCount;
- iCameraHandler.iCameraInfo.iMaxDigitalZoom = KZoomSmallStepCount;
- iCameraHandler.iCameraInfo.iMinZoom = - KZoomSmallStepCount;
- //zooming range is (-KZoomSmallStepCount, 2*KZoomSmallStepCount)
- iCameraHandler.InitializeZoomStepSize();
- EUNIT_ASSERT( iCameraHandler.iSmallZoomStep == 3 );
- EUNIT_ASSERT( iCameraHandler.iBigZoomStep == 6 );
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_ChangeActiveCameraL()
- {
- iCameraHandler.SetSession( iSession );
-
- CMceCameraSource* camera =
- MusEngMceUtils::GetCameraL( *(iSession) );
-
- //Camera is not enabled
- camera->iIsEnabled = ETrue;
- camera->iCameraCount = 2;
- camera->iCameraIndex = 1;
- iCameraHandler.ChangeActiveCameraL( TMusEngCameraHandler::EFrontCamera );
- EUNIT_ASSERT( camera->iCameraIndex == 1 );
- EUNIT_ASSERT( camera->iIsEnabled == ETrue );
-
- //Camera is not enabled
- camera->iIsEnabled = EFalse;
- camera->iCameraCount = 2;
- camera->iCameraIndex = 1;
- iCameraHandler.ChangeActiveCameraL( TMusEngCameraHandler::EFrontCamera );
- EUNIT_ASSERT( camera->iCameraIndex == 1 );
- EUNIT_ASSERT( camera->iIsEnabled == EFalse );
-
- //Check that iCameraInfo get updated after camera change
- EUNIT_PRINT(_L("Check that iCameraInfo get updated after camera change"));
-
- //Check that iCameraInfo get updated after camera change
- EUNIT_PRINT(_L("Check that iCameraInfo get updated after camera change"));
- camera->iIsEnabled = ETrue;
- camera->iCameraCount = 2;
- camera->iCameraIndex = 0;
- iCameraHandler.ChangeActiveCameraL( TMusEngCameraHandler::EBackCamera );
- EUNIT_ASSERT( camera->iCameraIndex == 0 );
- TCameraInfo infoBack = iCameraHandler.iCameraInfo;
- iCameraHandler.ChangeActiveCameraL( TMusEngCameraHandler::EFrontCamera );
- EUNIT_ASSERT( camera->iCameraIndex == 1 );
- TCameraInfo infoFront = iCameraHandler.iCameraInfo;
-
- EUNIT_ASSERT( infoBack.iMaxZoom != infoFront.iMaxZoom );
- EUNIT_ASSERT( infoBack.iMaxDigitalZoom != infoFront.iMaxDigitalZoom );
- camera->iIsEnabled = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_TMusEngCameraHandler::UT_ChangeCameraL()
- {
- TRAPD( error, iCameraHandler.ChangeCameraL( TMusEngCameraHandler::EFrontCamera ) );
- MUS_TEST_FORWARD_ALLOC_FAILURE( error );
- EUNIT_ASSERT( error == KErrNotReady );
-
- iCameraHandler.SetSession( iSession );
-
- CMceCameraSource* camera =
- MusEngMceUtils::GetCameraL( *(iSession) );
- //Only one camera is supported
- camera->iCameraCount = 0;
- camera->iCameraIndex = 0;
-
- iCameraHandler.ChangeCameraL( TMusEngCameraHandler::EFrontCamera );
- //EUNIT_ASSERT( camera->iCameraIndex == 0 );
-
- // Front camera is supported.
- camera->iCameraCount = 2;
- camera->iCameraIndex = 1;
- iCameraHandler.ChangeCameraL( TMusEngCameraHandler::EFrontCamera );
- EUNIT_ASSERT( camera->iCameraIndex == 1 );
-
- //No change
- camera->iCameraCount = 2;
- camera->iCameraIndex = 0;
- camera->iIsEnabled = EFalse;
- iCameraHandler.ChangeCameraL( TMusEngCameraHandler::EFrontCamera );
- EUNIT_ASSERT( camera->iIsEnabled == EFalse );
-
- // Back camera is supported.
- camera->iCameraCount = 2;
- camera->iCameraIndex = 1;
- iCameraHandler.ChangeCameraL( TMusEngCameraHandler::EBackCamera );
- EUNIT_ASSERT( camera->iCameraIndex == 0 );
-
- //No change
- camera->iCameraCount = 2;
- camera->iCameraIndex = 0;
- camera->iIsEnabled = EFalse;
- iCameraHandler.ChangeCameraL( TMusEngCameraHandler::EBackCamera );
- EUNIT_ASSERT( camera->iIsEnabled == EFalse );
-
- // Next camera.
- camera->iCameraCount = 2;
- camera->iCameraIndex = 0;
- iCameraHandler.ChangeCameraL( TMusEngCameraHandler::ECameraNotAvailable );
- EUNIT_ASSERT( camera->iCameraIndex == 1 );
-
- camera->iCameraCount = 2;
- camera->iCameraIndex = 1;
- iCameraHandler.ChangeCameraL( TMusEngCameraHandler::ECameraNotAvailable );
- EUNIT_ASSERT( camera->iCameraIndex == 0 );
- }
-
-
-// TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
- UT_TMusEngCameraHandler,
- "UT_TMusEngCameraHandler",
- "UNIT" )
-
-EUNIT_TEST(
- "LcCameraCountL - test ",
- "TMusEngCameraHandler",
- "LcCameraCountL",
- "FUNCTIONALITY",
- SetupL, UT_LcCameraCountL, Teardown)
-
-EUNIT_TEST(
- "ToggleLcCameraL - test ",
- "TMusEngCameraHandler",
- "ToggleLcCameraL",
- "FUNCTIONALITY",
- SetupL, UT_ToggleLcCameraL, Teardown)
-
-EUNIT_TEST(
- "MinLcZoomL - test ",
- "TMusEngCameraHandler",
- "MinLcZoomL",
- "FUNCTIONALITY",
- SetupL, UT_MinLcZoomL, Teardown)
-
-EUNIT_TEST(
- "MaxLcZoomL - test ",
- "TMusEngCameraHandler",
- "MaxLcZoomL",
- "FUNCTIONALITY",
- SetupL, UT_MaxLcZoomL, Teardown)
-
-EUNIT_TEST(
- "LcZoomValueL - test ",
- "TMusEngCameraHandler",
- "LcZoomValueL",
- "FUNCTIONALITY",
- SetupL, UT_LcZoomValueL, Teardown)
-
-EUNIT_TEST(
- "SetLcZoomValueL - test ",
- "TMusEngCameraHandler",
- "SetLcZoomValueL",
- "FUNCTIONALITY",
- SetupL, UT_SetLcZoomValueL, Teardown)
-
-EUNIT_TEST(
- "LcZoomInL - test ",
- "TMusEngCameraHandler",
- "LcZoomInL",
- "FUNCTIONALITY",
- SetupL, UT_LcZoomInL, Teardown)
-
-EUNIT_TEST(
- "LcZoomOutL - test ",
- "TMusEngCameraHandler",
- "LcZoomOutL",
- "FUNCTIONALITY",
- SetupL, UT_LcZoomOutL, Teardown)
-
-EUNIT_TEST(
- "SetLcBrightnessL - test ",
- "TMusEngCameraHandler",
- "SetLcBrightnessL",
- "FUNCTIONALITY",
- SetupL, UT_SetLcBrightnessL, Teardown)
-
-EUNIT_TEST(
- "LcBrightnessL - test ",
- "TMusEngCameraHandler",
- "LcBrightnessL",
- "FUNCTIONALITY",
- SetupL, UT_LcBrightnessL, Teardown)
-
-EUNIT_TEST(
- "MaxLcBrightnessL - test ",
- "TMusEngCameraHandler",
- "MaxLcBrightnessL",
- "FUNCTIONALITY",
- SetupL, UT_MaxLcBrightnessL, Teardown)
-
-EUNIT_TEST(
- "MinLcBrightnessL - test ",
- "TMusEngCameraHandler",
- "MinLcBrightnessL",
- "FUNCTIONALITY",
- SetupL, UT_MinLcBrightnessL, Teardown)
-
-EUNIT_TEST(
- "IncreaseLcBrightnessL - test ",
- "TMusEngCameraHandler",
- "IncreaseLcBrightnessL",
- "FUNCTIONALITY",
- SetupL, UT_IncreaseLcBrightnessL, Teardown)
-
-EUNIT_TEST(
- "DecreaseLcBrightnessL - test ",
- "TMusEngCameraHandler",
- "DecreaseLcBrightnessL",
- "FUNCTIONALITY",
- SetupL, UT_DecreaseLcBrightnessL, Teardown)
-
-EUNIT_TEST(
- "PlayL - test ",
- "TMusEngCameraHandler",
- "PlayL",
- "FUNCTIONALITY",
- SetupL, UT_PlayL, Teardown)
-
-EUNIT_TEST(
- "PauseL - test ",
- "TMusEngCameraHandler",
- "PauseL",
- "FUNCTIONALITY",
- SetupL, UT_PauseL, Teardown)
-
-EUNIT_TEST(
- "IsPlayingL - test ",
- "TMusEngCameraHandler",
- "IsPlayingL",
- "FUNCTIONALITY",
- SetupL, UT_IsPlayingL, Teardown)
-
-EUNIT_TEST(
- "InitializeZoomStepSize - test ",
- "TMusEngCameraHandler",
- "InitializeZoomStepSize",
- "FUNCTIONALITY",
- SetupL, UT_InitializeZoomStepSizeL, Teardown)
-
-EUNIT_TEST(
- "ChangeCameraL - test ",
- "TMusEngCameraHandler",
- "ChangeCameraL",
- "FUNCTIONALITY",
- SetupL, UT_ChangeCameraL, Teardown)
-
-EUNIT_TEST(
- "UT_ChangeActiveCameraL - test ",
- "TMusEngCameraHandler",
- "DisableAndEnableBeforeChangingCamera",
- "FUNCTIONALITY",
- SetupL, UT_ChangeActiveCameraL, Teardown)
-
-EUNIT_END_TEST_TABLE
-
-// END OF FILE
-
-