mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 21 33a5d2bbf6fc
child 23 bc78a40cd63c
--- a/mmsharing/mmshengine/tsrc/ut_engine/src/ut_musengsession.cpp	Thu Aug 19 09:51:39 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,637 +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 "telephonyaudiorouting.h"
-#include "ut_musengsession.h"
-#include "musengstubs.h"
-#include "musengtestdefs.h"
-
-#include "musenglivesession.h"
-#include "musengtelephoneutils.h"
-#include "musengmceutils.h"
-
-//  SYSTEM INCLUDES
-#include <digia/eunit/eunitmacros.h>
-#include <centralrepository.h>
-#include <mcedisplaysink.h>
-#include <e32property.h>
-#include <telephonydomainpskeys.h>
-
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_CMusEngSession* UT_CMusEngSession::NewL()
-    {
-    UT_CMusEngSession* self = UT_CMusEngSession::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_CMusEngSession* UT_CMusEngSession::NewLC()
-    {
-    UT_CMusEngSession* self = new( ELeave ) UT_CMusEngSession();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-UT_CMusEngSession::~UT_CMusEngSession()
-    {
-    // NOP
-    }
-
-
-// -----------------------------------------------------------------------------
-// Default constructor
-// -----------------------------------------------------------------------------
-//
-UT_CMusEngSession::UT_CMusEngSession()
-    :iLiveSession( NULL ),
-     iObserver( NULL )
-    {
-    // NOP
-    }
-
-
-// -----------------------------------------------------------------------------
-// Second phase construct
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::ConstructL()
-    {
-    // The ConstructL from the base class CEUnitTestSuiteClass must be called.
-    // It generates the test case table.
-    CEUnitTestSuiteClass::ConstructL();
-    }
-    
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::SetupL()
-    {
-    iObserver = new( ELeave ) CMusEngObserverStub;
-    iLiveSession = CMusEngLiveSession::NewL( KNullDesC(),
-                                             TRect(0,0, 100,100),
-                                             *iObserver,
-                                             *iObserver,
-                                             *iObserver );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::Teardown()
-    {
-    delete iLiveSession;
-    delete iObserver;
-    }
-
-
-
-// TEST CASES
-
-
-
-    
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_RectL()
-    {
-    TRect rect = iLiveSession->Rect();
-    
-    // Initial values
-    EUNIT_ASSERT( rect.iTl.iX == 0 );
-    EUNIT_ASSERT( rect.iTl.iY == 0 );
-    EUNIT_ASSERT( rect.iBr.iX == 100 );
-    EUNIT_ASSERT( rect.iBr.iY == 100 );
-    
-    iLiveSession->iRect.iTl.iX = 100;
-    iLiveSession->iRect.iTl.iY = 200;
-    iLiveSession->iRect.iBr.iX = 300;
-    iLiveSession->iRect.iBr.iY = 400;
-    
-    rect = iLiveSession->Rect();
-    
-    EUNIT_ASSERT( rect.iTl.iX == 100 );
-    EUNIT_ASSERT( rect.iTl.iY == 200 );
-    EUNIT_ASSERT( rect.iBr.iX == 300 );
-    EUNIT_ASSERT( rect.iBr.iY == 400 );    
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_SetRectLL()
-    {
-    TRect rect;
-
-    rect.iTl.iX = 100;
-    rect.iTl.iY = 200;
-    rect.iBr.iX = 300;
-    rect.iBr.iY = 400;
-
-    iLiveSession->SetRectL( rect );
-    
-    EUNIT_ASSERT( iLiveSession->iRect.iTl.iX == 100 );
-    EUNIT_ASSERT( iLiveSession->iRect.iTl.iY == 200 );
-    EUNIT_ASSERT( iLiveSession->iRect.iBr.iX == 300 );
-    EUNIT_ASSERT( iLiveSession->iRect.iBr.iY == 400 );
-
-    ESTABLISH_OUT_SESSION( iLiveSession );
-    
-    CMceDisplaySink* display = 
-                MusEngMceUtils::GetDisplayL( *( iLiveSession->iSession ) );
-    
-    TRect displayRect = display->DisplayRectL();
-    
-    EUNIT_ASSERT( displayRect.iTl.iX == 100 );
-    EUNIT_ASSERT( displayRect.iTl.iY == 200 );
-    EUNIT_ASSERT( displayRect.iBr.iX == 300 );
-    EUNIT_ASSERT( displayRect.iBr.iY == 400 );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_AudioRoutingCanBeChangedL()
-    {
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::ELoudspeaker;
-    EUNIT_ASSERT( iLiveSession->AudioRoutingCanBeChanged() );
-    
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::EWiredAudioAccessory;
-    EUNIT_ASSERT( !iLiveSession->AudioRoutingCanBeChanged() );
-    }
-    
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//	
-void UT_CMusEngSession::UT_IsAudioRoutingHeadsetL()
-    {
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::EBTAudioAccessory;
-	EUNIT_ASSERT( iLiveSession->IsAudioRoutingHeadset() );
-    
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::ENotActive;
-    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
-    
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::ENone;
-    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
-    
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::EHandset;
-    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
-    
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::ELoudspeaker;
-    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
-    
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::EWiredAudioAccessory;
-    EUNIT_ASSERT( iLiveSession->IsAudioRoutingHeadset());
-    
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::ETTY;
-    EUNIT_ASSERT( !iLiveSession->IsAudioRoutingHeadset());
-    
-    }
-
-void UT_CMusEngSession::UT_IsAudioRoutingLoudSpeakerL()
-	{
-	iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-	              CTelephonyAudioRouting::ELoudspeaker;
-	iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = 
-			      CTelephonyAudioRouting::ELoudspeaker;
-	EUNIT_ASSERT( !iLiveSession->IsAudioRoutingLoudSpeaker());
-	
-	iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-				  CTelephonyAudioRouting::ELoudspeaker;
-	iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = 
-			      CTelephonyAudioRouting::EHandset;
-	EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() );
-	
-	iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-				  CTelephonyAudioRouting::ELoudspeaker;
-	iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = 
-    		      CTelephonyAudioRouting::EBTAudioAccessory;
-    EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() );
-		
-    iLiveSession->iTelephoneUtils->iTelephonyAudioRouting->iCurrentOutput =
-                  CTelephonyAudioRouting::ELoudspeaker;
-    iLiveSession->iTelephoneUtils->iAudioOutputAtStartup = 
-    		      CTelephonyAudioRouting::EWiredAudioAccessory;
-    EUNIT_ASSERT( iLiveSession->IsAudioRoutingLoudSpeaker() );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//        
-void UT_CMusEngSession::UT_EnableLoudspeakerLL()
-    {
-    // Almost dummy case is enough, because IsLoudSpeakerEnabled forwards 
-    // requests to CMusEngTelephonyUtils and is tested there. So test only
-    // fail handling
-    iLiveSession->EnableLoudspeakerL( EFalse, EFalse );
-    
-    CMusEngTelephoneUtils* telephone = iLiveSession->iTelephoneUtils;
-    
-    EUNIT_ASSERT( telephone->iTelephonyAudioRouting->iShowNoteMode == EFalse );
-    EUNIT_ASSERT( telephone->iTelephonyAudioRouting->iCurrentOutput != 
-                  CTelephonyAudioRouting::ELoudspeaker );
-    
-    telephone->iTelephonyAudioRouting->iForceFailWithCode = KErrNotSupported;
-    
-    //Must fail in HW, but not in emulator
-    TRAPD( error, iLiveSession->EnableLoudspeakerL( ETrue, ETrue ) );
-    MUS_TEST_FORWARD_ALLOC_FAILURE( error );
-    
-    #if (!defined (__WINS__) && !defined(__WINSCW__))
-        EUNIT_ASSERT( error == KErrNotSupported );
-    #else
-        EUNIT_ASSERT( error == KErrNone );
-    #endif
-    
-    EUNIT_ASSERT( telephone->iTelephonyAudioRouting->iCurrentOutput != 
-                  CTelephonyAudioRouting::ELoudspeaker );
-    
-    telephone->iTelephonyAudioRouting->iForceFailWithCode = KErrGeneral;
-
-    // Must fail in all cases 
-    TRAP( error, iLiveSession->EnableLoudspeakerL( EFalse, ETrue ) );
-    MUS_TEST_FORWARD_ALLOC_FAILURE( error );
-    EUNIT_ASSERT( error == KErrGeneral );
-
-    EUNIT_ASSERT( telephone->iTelephonyAudioRouting->iCurrentOutput != 
-                  CTelephonyAudioRouting::ELoudspeaker );
-                  
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_IsLoudSpeakerEnabledL()
-    {
-    // Dummy case is enough, because IsLoudSpeakerEnabled forwards requests
-    // to CMusEngTelephonyUtils and is tested there.
-    
-    // By default loudspeaker is not enabled.
-    EUNIT_ASSERT( !iLiveSession->IsLoudSpeakerEnabled() );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_VolumeLL()
-    {
-    // Dummy case is enough, because VolumeL forwards requests
-    // to CMusEngTelephonyUtils and is tested there.
-    
-    iLiveSession->IsLoudSpeakerEnabled();
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_MuteMicLL()
-    {
-    // Cannot test since EUnit notices some error leak if 
-    // the state of the mute is actually changed. Still, from MusEngine
-    // point of view everything is done identically despite the fact if
-    // real state changes or not. => Problem is in EUnit or leak happens
-    // elsewhere.
-    }
-
-
-// -----------------------------------------------------------------------------
-// Almost a dummy test since we cannot write
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_IsMicMutedLL()
-    {
-	// Ignore error (KErrAlreadyExists etc), just make sure this property exists
-    RProperty::Define( KPSUidTelMicrophoneMuteStatus,
-                       KTelMicrophoneMuteState,
-                       RProperty::EInt,
-                       0 );
-
-    User::LeaveIfError( RProperty::Set( KPSUidTelMicrophoneMuteStatus,
-                                        KTelMicrophoneMuteState,
-                                        EPSTelMicMuteStateUninitialized ) );
-    
-    EUNIT_ASSERT( !iLiveSession->IsMicMutedL() )
-
-    User::LeaveIfError( RProperty::Set( KPSUidTelMicrophoneMuteStatus,
-                                        KTelMicrophoneMuteState,
-                                        EPSTelMicMuteOn ) );
-    
-    EUNIT_ASSERT( iLiveSession->IsMicMutedL() )
-    
-    User::LeaveIfError( RProperty::Set( KPSUidTelMicrophoneMuteStatus,
-                                        KTelMicrophoneMuteState,
-                                        EPSTelMicMuteOff ) );
-    
-    EUNIT_ASSERT( !iLiveSession->IsMicMutedL() ) 
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_SetAudioRoutingObserverL()
-    {
-    EUNIT_ASSERT( !iLiveSession->iTelephoneUtils->iAudioRoutingObserver )
-    
-    iLiveSession->SetAudioRoutingObserver( iObserver );
-    
-    EUNIT_ASSERT_EQUALS( iLiveSession->iTelephoneUtils->iAudioRoutingObserver,
-                         iObserver )
-    }
-    
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_VolumeUpLL()
-    {
-    CMusEngTelephoneUtils* telephone = iLiveSession->iTelephoneUtils;
-    
-    // Next ones must leave if runs out of memory, so that test
-    // does not fail when executed with alloc fail simulation 
-    User::LeaveIfError( telephone->iRepository->Set( 
-                                 KTelIncallEarVolume,
-                                 KTelephonyVolumeDefaultValue ) );
-    User::LeaveIfError( telephone->iRepository->Set( 
-                                 KTelIncallLoudspeakerVolume,
-                                 KTelephonyVolumeDefaultValue ) );
-    
-    
-    TInt earVolume = 0;
-    TInt speakerVolume = 0;
-                                 
-    iLiveSession->CMusEngSession::VolumeUpL();
-    
-    telephone->iRepository->Get( KTelIncallEarVolume,
-                                 earVolume );
-    telephone->iRepository->Get( KTelIncallLoudspeakerVolume,
-                                 speakerVolume );
-                                 
-    EUNIT_ASSERT( earVolume == KTelephonyVolumeDefaultValue + 1 );
-    EUNIT_ASSERT( speakerVolume == KTelephonyVolumeDefaultValue );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_VolumeDownLL()
-    {
-    CMusEngTelephoneUtils* telephone = iLiveSession->iTelephoneUtils;
-    
-    // Next ones must leave if runs out of memory, so that test
-    // does not fail when executed with alloc fail simulation 
-    User::LeaveIfError( telephone->iRepository->Set( 
-                                 KTelIncallEarVolume,
-                                 KTelephonyVolumeDefaultValue ) );
-    User::LeaveIfError( telephone->iRepository->Set( 
-                                 KTelIncallLoudspeakerVolume,
-                                 KTelephonyVolumeDefaultValue ) );
-    
-    
-    TInt earVolume = 0;
-    TInt speakerVolume = 0;
-                                 
-    iLiveSession->CMusEngSession::VolumeDownL();
-    
-    telephone->iRepository->Get( KTelIncallEarVolume,
-                                 earVolume );
-    telephone->iRepository->Get( KTelIncallLoudspeakerVolume,
-                                 speakerVolume );
-                                 
-    EUNIT_ASSERT( earVolume == KTelephonyVolumeDefaultValue - 1 );
-    EUNIT_ASSERT( speakerVolume == KTelephonyVolumeDefaultValue );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_SetVolumeLL()
-    {
-    CMusEngTelephoneUtils* telephone = iLiveSession->iTelephoneUtils;
-    
-    // Next ones must leave if runs out of memory, so that test
-    // does not fail when executed with alloc fail simulation 
-    User::LeaveIfError( telephone->iRepository->Set( 
-                                 KTelIncallEarVolume,
-                                 KTelephonyVolumeDefaultValue ) );
-    User::LeaveIfError( telephone->iRepository->Set( 
-                                 KTelIncallLoudspeakerVolume,
-                                 KTelephonyVolumeDefaultValue ) );
-    
-    
-    TInt earVolume = 0;
-    TInt speakerVolume = 0;
-    TInt newVolume = KTelephonyVolumeDefaultValue + 1;
-    
-    iLiveSession->CMusEngSession::SetVolumeL( newVolume );
-    
-    telephone->iRepository->Get( KTelIncallEarVolume,
-                                 earVolume );
-    telephone->iRepository->Get( KTelIncallLoudspeakerVolume,
-                                 speakerVolume );
-                                 
-    EUNIT_ASSERT( earVolume == newVolume );
-    EUNIT_ASSERT( speakerVolume == KTelephonyVolumeDefaultValue );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void UT_CMusEngSession::UT_SetVolumeChangeObserverL()
-    {
-    EUNIT_ASSERT( !iLiveSession->iVolumeObserver )
-    
-    iLiveSession->SetVolumeChangeObserver( iObserver );
-    
-    EUNIT_ASSERT_EQUALS( iLiveSession->iVolumeObserver, iObserver )
-    
-    iObserver->VolumeChanged( 2, EFalse );
-    EUNIT_ASSERT( iObserver->iVolume == 2 );
-    }
-
-
-//  TEST TABLE
-
-EUNIT_BEGIN_TEST_TABLE(
-    UT_CMusEngSession,
-    "UT_CMusEngSesssion",
-    "UNIT" )
-
-EUNIT_TEST(
-    "Rect - test ",
-    "CMusEngSession",
-    "Rect",
-    "FUNCTIONALITY",
-    SetupL, UT_RectL, Teardown)
-
-EUNIT_TEST(
-    "SetRectL - test ",
-    "CMusEngSession",
-    "SetRectL",
-    "FUNCTIONALITY",
-    SetupL, UT_SetRectLL, Teardown)
-
-EUNIT_TEST(
-    "AudioRoutingCanBeChanged - test ",
-    "CMusEngSession",
-    "AudioRoutingCanBeChanged",
-    "FUNCTIONALITY",
-    SetupL, UT_AudioRoutingCanBeChangedL, Teardown)
-
-EUNIT_TEST(
-    "IsAudioRoutingHeadsetL - test ",
-    "CMusEngSession",
-    "IsAudioRoutingHeadsetL",
-    "FUNCTIONALITY",
-    SetupL, UT_IsAudioRoutingHeadsetL, Teardown)
-    
-EUNIT_TEST(
-    "IsAudioRoutingLoudSpeakerL - test ",
-    "CMusEngSession",
-    "IsAudioRoutingLoudSpeakerL",
-    "FUNCTIONALITY",
-    SetupL, UT_IsAudioRoutingLoudSpeakerL, Teardown)
-
-EUNIT_TEST(
-    "EnableLoudspeakerL - test ",
-    "CMusEngSession",
-    "EnableLoudspeakerL",
-    "FUNCTIONALITY",
-    SetupL, UT_EnableLoudspeakerLL, Teardown)
-
-EUNIT_TEST(
-    "IsLoudSpeakerEnabled - test ",
-    "CMusEngSession",
-    "IsLoudSpeakerEnabled",
-    "FUNCTIONALITY",
-    SetupL, UT_IsLoudSpeakerEnabledL, Teardown)
-
-EUNIT_TEST(
-    "VolumeL - test ",
-    "CMusEngSession",
-    "VolumeL",
-    "FUNCTIONALITY",
-    SetupL, UT_VolumeLL, Teardown)
-
-EUNIT_TEST(
-    "MuteMicL - test ",
-    "CMusEngSession",
-    "MuteMicL",
-    "FUNCTIONALITY",
-    SetupL, UT_MuteMicLL, Teardown)
-
-EUNIT_TEST(
-    "IsMicMutedL - test ",
-    "CMusEngSession",
-    "IsMicMutedL",
-    "FUNCTIONALITY",
-    SetupL, UT_IsMicMutedLL, Teardown)    
-
-EUNIT_TEST(
-    "SetAudioRoutingObserverL - test ",
-    "CMusEngSession",
-    "SetAudioRoutingObserverL",
-    "FUNCTIONALITY",
-    SetupL, UT_SetAudioRoutingObserverL, Teardown)    
-        
-EUNIT_TEST(
-    "VolumeUpL - test ",
-    "CMusEngSession",
-    "VolumeUpL",
-    "FUNCTIONALITY",
-    SetupL, UT_VolumeUpLL, Teardown)
-
-EUNIT_TEST(
-    "VolumeDownL - test ",
-    "CMusEngSession",
-    "VolumeDownL",
-    "FUNCTIONALITY",
-    SetupL, UT_VolumeDownLL, Teardown)        
-
-EUNIT_TEST(
-    "SetVolumeL - test ",
-    "CMusEngSession",
-    "SetVolumeL",
-    "FUNCTIONALITY",
-    SetupL, UT_SetVolumeLL, Teardown) 
-    
-EUNIT_TEST(
-    "SetVolumeChangeObserver - test ",
-    "CMusEngSession",
-    "SetVolumeChangeObserver",
-    "FUNCTIONALITY",
-    SetupL, UT_SetVolumeChangeObserverL, Teardown) 
-
-
-EUNIT_END_TEST_TABLE
-
-//  END OF FILE