diff -r 33a5d2bbf6fc -r 73a1feb507fb mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp --- a/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp Thu Aug 19 09:51:39 2010 +0300 +++ b/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muspropertymonitor.cpp Tue Aug 31 15:12:07 2010 +0300 @@ -92,8 +92,9 @@ // void UT_CMusPropertyMonitor::SetupL() { - iMusPropertyMonitor = CMusPropertyMonitor::NewL(); + iMusPropertyMonitor = CMusPropertyMonitor::NewL(*this); iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ENoCall; + iMusCallStateObserverInovked = EFalse; } @@ -108,10 +109,6 @@ } - - - - // TEST CASES // ----------------------------------------------------------------------------- @@ -121,43 +118,11 @@ void UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_RunLL() { EUNIT_ASSERT( iMusPropertyMonitor); - EUNIT_ASSERT( !iMusPropertyMonitor->iManager ); - + EUNIT_ASSERT( !iMusCallStateObserverInovked ); iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ENoCall; iMusPropertyMonitor->Cancel(); iMusPropertyMonitor->RunL(); - EUNIT_ASSERT( !iMusPropertyMonitor->iManager ); - - iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ECallConnected; - iMusPropertyMonitor->Cancel(); - iMusPropertyMonitor->RunL(); - EUNIT_ASSERT( iMusPropertyMonitor->iManager ); - - iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::EConferenceTerminated; - iMusPropertyMonitor->Cancel(); - iMusPropertyMonitor->RunL(); - EUNIT_ASSERT( iMusPropertyMonitor->iManager ); - - iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ECallHold; - iMusPropertyMonitor->Cancel(); - iMusPropertyMonitor->RunL(); - EUNIT_ASSERT( iMusPropertyMonitor->iManager ); - - iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::EConferenceCall; - iMusPropertyMonitor->Cancel(); - iMusPropertyMonitor->RunL(); - EUNIT_ASSERT( iMusPropertyMonitor->iManager ); - - iMusPropertyMonitor->iPropertyEvent.iPValue = NMusSessionInformationApi::ENoCall; - iMusPropertyMonitor->Cancel(); - iMusPropertyMonitor->RunL(); - EUNIT_ASSERT( !iMusPropertyMonitor->iManager ); - - iMusPropertyMonitor->iPropertyEvent.iPValue = 555; - iMusPropertyMonitor->Cancel(); - iMusPropertyMonitor->RunL(); - EUNIT_ASSERT( !iMusPropertyMonitor->iManager ); - + EUNIT_ASSERT( iMusCallStateObserverInovked ); } @@ -181,14 +146,70 @@ // void UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_RunErrorL() { + EUNIT_ASSERT( !iMusCallStateObserverInovked ); EUNIT_ASSERT( iMusPropertyMonitor ); + TInt CallState; TInt error = KErrNotFound; - iMusPropertyMonitor->RunError(error); + + // Call is Established: + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + NMusSessionInformationApi::ECallConnected ) ); + + // Test1: Invoking Error Situation, Ensure Calll is disconected. + User::LeaveIfError( iMusPropertyMonitor->RunError(error)); + User::LeaveIfError( RProperty::Get( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + CallState ) ); + EUNIT_ASSERT( CallState == NMusSessionInformationApi::ENoCall ); + EUNIT_ASSERT( iMusCallStateObserverInovked ); } +// ----------------------------------------------------------------------------- +// UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_IsCallConnected() +// Checks from the P/S keys if the Call is connected. +// ----------------------------------------------------------------------------- +// +void UT_CMusPropertyMonitor::UT_CMusPropertyMonitor_IsCallConnected() + { + // Test1: Call Not Connected: + TBool callConnected = EFalse; + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + NMusSessionInformationApi::ENoCall ) ); + + callConnected = iMusPropertyMonitor->IsCallConnected(); + EUNIT_ASSERT( callConnected == EFalse ); + + // Test2: Call Connected: + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + NMusSessionInformationApi::ECallConnected ) ); - + callConnected = iMusPropertyMonitor->IsCallConnected(); + EUNIT_ASSERT( callConnected == ETrue ); + + + // Test3: Hold and Conference are concidered as call connected + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + NMusSessionInformationApi::ECallHold ) ); + + callConnected = iMusPropertyMonitor->IsCallConnected(); + EUNIT_ASSERT( callConnected == ETrue ); + } + + +// ----------------------------------------------------------------------------- +// MusCallStateChanged from the MusCallStateObserver +// ----------------------------------------------------------------------------- +// +void UT_CMusPropertyMonitor::MusCallStateChanged() + { + iMusCallStateObserverInovked = ETrue; + } + // TEST TABLE @@ -219,6 +240,13 @@ "FUNCTIONALITY", SetupL, UT_CMusPropertyMonitor_RunErrorL, Teardown) +EUNIT_TEST( + "IsCallConnected - test", + "CMusCallStatusMonitor", + "IsCallConnected", + "FUNCTIONALITY", + SetupL, UT_CMusPropertyMonitor_IsCallConnected, Teardown) + EUNIT_END_TEST_TABLE // END OF FILE