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