mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_muscallmonitorbase.cpp
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
equal deleted inserted replaced
32:73a1feb507fb 33:bc78a40cd63c
    22 #include "mussesseioninformationapi.h"
    22 #include "mussesseioninformationapi.h"
    23 
    23 
    24 //  SYSTEM INCLUDES
    24 //  SYSTEM INCLUDES
    25 #include <digia/eunit/eunitmacros.h>
    25 #include <digia/eunit/eunitmacros.h>
    26 
    26 
    27 // Test configurations
       
    28 _LIT(KEmptyProvider,"");
       
    29 _LIT(KTestTelNumber,"+3585050");
       
    30 
       
    31 
       
    32 
    27 
    33 CMusCallMonitorMock::CMusCallMonitorMock( const RMobileCall& aCall,
    28 CMusCallMonitorMock::CMusCallMonitorMock( const RMobileCall& aCall,
    34 										MMusTsyPropertyObserver& aObserver,
    29 										MMusTsyPropertyObserver& aObserver ) 
    35 										MMusCallStateObserver& aCallStateObserver ) 
    30         : CMusCallMonitorBase( aCall, aObserver )
    36         : CMusCallMonitorBase( aCall, aObserver, aCallStateObserver )
       
    37     {
    31     {
    38     }
    32     }
    39 
    33 
    40 
    34 
    41 void CMusCallMonitorMock::RunL()
    35 void CMusCallMonitorMock::RunL()
   111 
   105 
   112 // -----------------------------------------------------------------------------
   106 // -----------------------------------------------------------------------------
   113 // UT_CMusCallMonitorBase::NotifyCallStateChanged() 
   107 // UT_CMusCallMonitorBase::NotifyCallStateChanged() 
   114 // -----------------------------------------------------------------------------
   108 // -----------------------------------------------------------------------------
   115 //
   109 //
   116 void UT_CMusCallMonitorBase::NotifyCallStateChanged(
   110 void 
   117 									NMusSessionInformationApi::TMusCallEvent /*aVal*/,
   111 UT_CMusCallMonitorBase::NotifyCallStateChanged( NMusSessionInformationApi::TMusCallEvent /*aVal*/,
   118 									TName& /*aCallName*/ )
   112                                                 TName& /*aCallName*/ )
   119     {          
   113     {          
   120     }
   114     }
   121 
       
   122 
       
   123 
       
   124 // -----------------------------------------------------------------------------
       
   125 //  MusCallStateChanged from the MusCallStateObserver 
       
   126 // -----------------------------------------------------------------------------
       
   127 //
       
   128 void UT_CMusCallMonitorBase::MusCallStateChanged()
       
   129     {
       
   130     iCallStateObserverInvoked = ETrue;
       
   131     }   
       
   132 
       
   133 
       
   134 
   115 
   135 // -----------------------------------------------------------------------------
   116 // -----------------------------------------------------------------------------
   136 //
   117 //
   137 // -----------------------------------------------------------------------------
   118 // -----------------------------------------------------------------------------
   138 //
   119 //
   140     {
   121     {
   141     RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   122     RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   142                      NMusSessionInformationApi::KMusCallEvent,
   123                      NMusSessionInformationApi::KMusCallEvent,
   143                      0 );
   124                      0 );
   144     RTelHelper::SetCallDirection( RMobileCall::EDirectionUnknown );
   125     RTelHelper::SetCallDirection( RMobileCall::EDirectionUnknown );
   145     iCallMonitorBase = new CMusCallMonitorMock( iCall, *this, *this );
   126     iCallMonitorBase = new CMusCallMonitorMock( iCall, *this );    
   146     iCallStateObserverInvoked = EFalse;
       
   147     }
   127     }
   148 
   128 
   149 
   129 
   150 void UT_CMusCallMonitorBase::Setup2L()
   130 void UT_CMusCallMonitorBase::Setup2L()
   151     {
   131     {
   152     iCallStateObserverInvoked = EFalse;
   132     iCallMonitorBase = new CMusCallMonitorMock( iCall, *this );    
   153     iCallMonitorBase = new CMusCallMonitorMock( iCall, *this, *this );    
       
   154     }
   133     }
   155 
   134 
   156 // -----------------------------------------------------------------------------
   135 // -----------------------------------------------------------------------------
   157 //
   136 //
   158 // -----------------------------------------------------------------------------
   137 // -----------------------------------------------------------------------------
   174 // -----------------------------------------------------------------------------
   153 // -----------------------------------------------------------------------------
   175 //
   154 //
   176 void UT_CMusCallMonitorBase::UT_SetStateLL()
   155 void UT_CMusCallMonitorBase::UT_SetStateLL()
   177     {
   156     {
   178     TInt tmp;
   157     TInt tmp;
       
   158     
   179     EUNIT_ASSERT ( RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   159     EUNIT_ASSERT ( RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   180                      NMusSessionInformationApi::KMusCallEvent, tmp ) != KErrNone );
   160                      NMusSessionInformationApi::KMusCallEvent, tmp ) != KErrNone );
   181     
   161     
   182     EUNIT_ASSERT_LEAVE( iCallMonitorBase->SetStateL( NMusSessionInformationApi::ECallHold ) );
   162     EUNIT_ASSERT_LEAVE( iCallMonitorBase->SetStateL( NMusSessionInformationApi::ECallHold ) );
   183     
   163     
   191                      NMusSessionInformationApi::KMusCallCount,
   171                      NMusSessionInformationApi::KMusCallCount,
   192                      1 ) != KErrNone )
   172                      1 ) != KErrNone )
   193         {
   173         {
   194         User::Leave( KErrNoMemory );
   174         User::Leave( KErrNoMemory );
   195         }
   175         }
   196 	
   176 
   197 	EUNIT_ASSERT (!iCallStateObserverInvoked )
       
   198 	
   177 	
   199     iCallMonitorBase->SetStateL( NMusSessionInformationApi::ECallHold );
   178     iCallMonitorBase->SetStateL( NMusSessionInformationApi::ECallHold );
   200 	
       
   201 	EUNIT_ASSERT ( iCallStateObserverInvoked )
       
   202 
       
   203     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   179     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   204                      NMusSessionInformationApi::KMusCallEvent,
   180                      NMusSessionInformationApi::KMusCallEvent,
   205                      tmp );
   181                      tmp );
   206     EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold);
   182     EUNIT_ASSERT( tmp==NMusSessionInformationApi::ECallHold);
   207     
   183     
   235     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   211     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   236                      NMusSessionInformationApi::KMusTelNumber,
   212                      NMusSessionInformationApi::KMusTelNumber,
   237                      telnro );
   213                      telnro );
   238     
   214     
   239     EUNIT_ASSERT( telnro == KTelnro );
   215     EUNIT_ASSERT( telnro == KTelnro );
   240     
   216 
   241     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   217     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   242                      NMusSessionInformationApi::KMusCallDirection,
   218                      NMusSessionInformationApi::KMusCallDirection,
   243                      direction );
   219                      direction );
   244     
   220     
   245     EUNIT_ASSERT( direction == NMusSessionInformationApi::ENoDirection );
   221     EUNIT_ASSERT( direction == NMusSessionInformationApi::ENoDirection );
   273                      NMusSessionInformationApi::KMusCallDirection,
   249                      NMusSessionInformationApi::KMusCallDirection,
   274                      direction );
   250                      direction );
   275     
   251     
   276     EUNIT_ASSERT( direction == NMusSessionInformationApi::ECallTerminated );
   252     EUNIT_ASSERT( direction == NMusSessionInformationApi::ECallTerminated );
   277     
   253     
   278     /* Test for call provider */
   254 
   279     // Call Provider info is only Set for VoIP Calls
       
   280     iCallMonitorBase->SetCallInfoL();  
       
   281     TBuf<RProperty::KMaxPropertySize> provider;
       
   282     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   283                     NMusSessionInformationApi::KMUSCallProvider,
       
   284                     provider );
       
   285     
       
   286     
       
   287     EUNIT_ASSERT( provider == KEmptyProvider );
       
   288     }
   255     }
   289 
   256 
   290 
   257 
   291 // -----------------------------------------------------------------------------
   258 // -----------------------------------------------------------------------------
   292 //
   259 //
   297     EUNIT_ASSERT( iCallMonitorBase->RunError( KErrNotFound ) == KErrNone );
   264     EUNIT_ASSERT( iCallMonitorBase->RunError( KErrNotFound ) == KErrNone );
   298     }
   265     }
   299 
   266 
   300 
   267 
   301 // -----------------------------------------------------------------------------
   268 // -----------------------------------------------------------------------------
   302 // UT_CMusCallMonitorBase::UT_CMusCallMonitorBase_IsDataReadyLL()
   269 //
   303 // Test if required Data is ready for CS calls
   270 // -----------------------------------------------------------------------------
   304 // -----------------------------------------------------------------------------
   271 //
   305 //
   272 void UT_CMusCallMonitorBase::UT_SetClirSettingL()
   306 void UT_CMusCallMonitorBase::UT_CMusCallMonitorBase_IsDataReadyLL()
   273     {
   307     {
   274     TInt tmp;
   308     TBool dataReady = EFalse;
   275     _LIT( KTestNumber1, "11111" );
   309     
   276     _LIT( KTestNumber2, "#31#11111" );
   310     //Test-1: Date Ready:
   277     
   311     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   278     iCallMonitorBase->SetClirSetting( KTestNumber1() );
   312                                             NMusSessionInformationApi::KMusTelNumber,
   279     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   313                                             KTestTelNumber ));
   280                      NMusSessionInformationApi::KMusClirSetting,
   314 
   281                      tmp );
   315     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   282     EUNIT_ASSERT( tmp==NMusSessionInformationApi::ESendOwnNumber);
   316                                             NMusSessionInformationApi::KMusCallDirection,
   283     
   317                                             NMusSessionInformationApi::ECallOrginated ));
   284     iCallMonitorBase->SetClirSetting( KTestNumber2() );
   318             
   285     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   319     dataReady = iCallMonitorBase->IsDataReadyL();
   286                      NMusSessionInformationApi::KMusClirSetting,
   320     EUNIT_ASSERT_EQUALS( dataReady, ETrue )
   287                      tmp );
   321     
   288     EUNIT_ASSERT( tmp==NMusSessionInformationApi::EDoNotSendOwnNumber);
   322     //Test-2: Partial Data is Ready
   289         
   323     User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   290     }
   324                                             NMusSessionInformationApi::KMusTelNumber,
   291 
   325                                             KNullDesC ));
   292 // -----------------------------------------------------------------------------
   326     dataReady = iCallMonitorBase->IsDataReadyL();
   293 //
   327     EUNIT_ASSERT_EQUALS( dataReady, EFalse )
   294 // -----------------------------------------------------------------------------
   328 
   295 //
   329 
   296 void UT_CMusCallMonitorBase::UT_SetTerminatingPrivacyL()
   330     //Test-3: Data Not Ready.
   297     {
   331     User::LeaveIfError(RProperty::Set( NMusSessionInformationApi::KCategoryUid,
   298     TInt tmp;
   332                  NMusSessionInformationApi::KMusCallEvent,
   299         
   333                  ( TInt ) NMusSessionInformationApi::ENoCall ));
   300     iCallMonitorBase->SetTerminatingPrivacy( iCallMonitorBase->iCall );
   334 
   301     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
   335     dataReady = iCallMonitorBase->IsDataReadyL();
   302                      NMusSessionInformationApi::KMUSPrivacy,
   336     EUNIT_ASSERT_EQUALS( dataReady, EFalse )
   303                      tmp );
       
   304     EUNIT_ASSERT( tmp==NMusSessionInformationApi::EPrivacyOff);
       
   305         
       
   306     RTelHelper::SetRemoteIdStatus( RMobileCall::ERemoteIdentitySuppressed );
       
   307     iCallMonitorBase->SetTerminatingPrivacy( iCallMonitorBase->iCall );
       
   308     RProperty::Get( NMusSessionInformationApi::KCategoryUid,
       
   309                      NMusSessionInformationApi::KMUSPrivacy,
       
   310                      tmp );
       
   311     EUNIT_ASSERT( tmp==NMusSessionInformationApi::EPrivacyOn);
       
   312     
       
   313     
       
   314     }
       
   315 
       
   316 // -----------------------------------------------------------------------------
       
   317 //
       
   318 // -----------------------------------------------------------------------------
       
   319 //
       
   320 void UT_CMusCallMonitorBase::UT_RemovePrefixL()
       
   321     {
       
   322     _LIT( KTestNumber1, "11111" );
       
   323     _LIT( KTestNumber2, "#31#11111" );
       
   324     _LIT( KTestNumber3, "*31#11111" );
       
   325 
       
   326     
       
   327     HBufC* test1 = iCallMonitorBase->RemovePrefix(  KTestNumber1 );
       
   328     CleanupStack::PushL( test1 );
       
   329     EUNIT_ASSERT( *test1 == KTestNumber1 );
       
   330     CleanupStack::PopAndDestroy( test1 );
       
   331     
       
   332     HBufC* test2 = iCallMonitorBase->RemovePrefix(  KTestNumber3 );
       
   333     CleanupStack::PushL( test2 );
       
   334     EUNIT_ASSERT( *test2 == KTestNumber1 );
       
   335     CleanupStack::PopAndDestroy( test2 );
       
   336     
       
   337     HBufC* test3 = iCallMonitorBase->RemovePrefix(  KTestNumber2 );
       
   338     CleanupStack::PushL( test3 );
       
   339     EUNIT_ASSERT( *test3 == KTestNumber1 );
       
   340     CleanupStack::PopAndDestroy( test3 );
       
   341     
       
   342     
       
   343         
   337     }
   344     }
   338 
   345 
   339 
   346 
   340 //  TEST TABLE
   347 //  TEST TABLE
   341 
   348 
   363     "CMusCallMonitorBase",
   370     "CMusCallMonitorBase",
   364     "RunError",
   371     "RunError",
   365     "FUNCTIONALITY",
   372     "FUNCTIONALITY",
   366     SetupL, UT_RunErrorL, Teardown)
   373     SetupL, UT_RunErrorL, Teardown)
   367     
   374     
   368     
   375 EUNIT_TEST(
   369 EUNIT_TEST(
   376     "SetClirSetting - test",
   370     "IsDataReadyL - test",
   377     "CMusCallMonitorBase",
   371     "CMusCallMonitorBase",
   378     "SetClirSetting",
   372     "IsDataReadyL",
   379     "FUNCTIONALITY",
   373     "FUNCTIONALITY",
   380     SetupL, UT_SetClirSettingL, Teardown)
   374     SetupL, UT_CMusCallMonitorBase_IsDataReadyLL, Teardown)    
   381 
       
   382 EUNIT_TEST(
       
   383     "SetTerminatingPrivacy - test",
       
   384     "CMusCallMonitorBase",
       
   385     "SetTerminatingPrivacy",
       
   386     "FUNCTIONALITY",
       
   387     SetupL, UT_SetTerminatingPrivacyL, Teardown)
       
   388 
       
   389 EUNIT_TEST(
       
   390     "RemovePrefix - test",
       
   391     "CMusCallMonitorBase",
       
   392     "RemovePrefix",
       
   393     "FUNCTIONALITY",
       
   394     SetupL, UT_RemovePrefixL, Teardown)
   375     
   395     
   376 
   396 
   377 EUNIT_END_TEST_TABLE
   397 EUNIT_END_TEST_TABLE
   378 
   398 
   379 //  END OF FILE
   399 //  END OF FILE
       
   400 
       
   401