--- 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