phonesrv_plat/phone_client_emergency_call_api/tsrc/src/it_emergencycalltests.cpp
changeset 0 ff3b6d0fd310
child 19 7d48bed6ce0c
equal deleted inserted replaced
-1:000000000000 0:ff3b6d0fd310
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 #include "IT_EmergencyCallTests.h"
       
    19 #include <EUnitMacros.h>
       
    20 #include <EUnitDecorators.h>
       
    21 
       
    22 #include <CPhCltEmergencyCall.h>
       
    23 
       
    24 #include <etelmm.h>
       
    25 #include <mmtsy_names.h>
       
    26 
       
    27 
       
    28 class CEtel : public CActive
       
    29     {
       
    30 public:
       
    31     
       
    32     static CEtel* NewL() { 
       
    33         CEtel* self = CEtel::NewLC();
       
    34         CleanupStack::Pop( self );
       
    35         return self;
       
    36     }
       
    37     
       
    38     static CEtel* NewLC()
       
    39         {
       
    40         CEtel* self = new( ELeave )CEtel( );
       
    41         CleanupStack::PushL( self );
       
    42         self->ConstructL();
       
    43         return self;
       
    44         }
       
    45     
       
    46     ~CEtel() {
       
    47 
       
    48         delete iNumber;
       
    49         delete iWait;
       
    50         iCall.Close();
       
    51         iLine.Close();
       
    52         iTelServer.Close();
       
    53         }   
       
    54     
       
    55     void WaitForEmergencyCallToConnectL()
       
    56         {
       
    57         iLine.NotifyStatusChange(iStatus, iLineStatus );
       
    58         SetActive();
       
    59         WaitForRequest();
       
    60         }
       
    61     
       
    62     const TDesC& GetNumberOfEmergencyCall() const
       
    63         {
       
    64         return *iNumber;
       
    65         }
       
    66 
       
    67     void Hangup() {
       
    68         iCall.HangUp(iStatus);
       
    69         User::WaitForRequest( iStatus );
       
    70         }
       
    71     
       
    72     void WaitForRequest() {
       
    73         if ( IsActive() )
       
    74             {
       
    75             iWait->Start();
       
    76             }
       
    77         }
       
    78     
       
    79 protected:
       
    80     
       
    81     void RunL() {
       
    82         if( iLineStatus == RCall::EStatusConnected )
       
    83             {
       
    84             iWait->AsyncStop();
       
    85             RLine::TCallInfo callInfo;
       
    86             User::LeaveIfError( iLine.GetCallInfo(0, callInfo ) );
       
    87             User::LeaveIfError( iCall.OpenExistingCall( iLine, callInfo.iCallName ) );
       
    88             RMobileCall::TMobileCallInfoV1 info;
       
    89             RMobileCall::TMobileCallInfoV1Pckg pckg( info );            
       
    90             User::LeaveIfError( iCall.GetMobileCallInfo( pckg ) );
       
    91             
       
    92             iNumber = info.iDialledParty.iTelNumber.AllocL();
       
    93             }
       
    94         else
       
    95             {
       
    96             iLine.NotifyStatusChange(iStatus, iLineStatus );
       
    97             SetActive();
       
    98             }
       
    99 
       
   100     }
       
   101     
       
   102     void DoCancel() { 
       
   103          }
       
   104     
       
   105 private:
       
   106     
       
   107     void ConstructL() { 
       
   108         User::LeaveIfError( iTelServer.Connect() );
       
   109         User::LeaveIfError( iTelServer.LoadPhoneModule(KMmTsyModuleName) );
       
   110 
       
   111         TBuf<100> name;
       
   112         name.Append( KMmTsyPhoneName );
       
   113         name.Append( _L("::") );
       
   114         name.Append( KMmTsyVoice1LineName );
       
   115         User::LeaveIfError( iLine.Open( iTelServer, name ) );
       
   116         iWait = new( ELeave )CActiveSchedulerWait(); 
       
   117         }
       
   118     
       
   119     CEtel() : CActive( EPriorityStandard ) 
       
   120         { CActiveScheduler::Add( this ); }
       
   121     
       
   122 private:
       
   123     RTelServer iTelServer;
       
   124     RMobileLine iLine;
       
   125     RMobileCall iCall;
       
   126     CActiveSchedulerWait* iWait;
       
   127     RCall::TStatus iLineStatus;
       
   128     HBufC* iNumber;
       
   129     };
       
   130 
       
   131 // - Construction -----------------------------------------------------------
       
   132 
       
   133 IT_EmergencyCallTests* IT_EmergencyCallTests::NewL()
       
   134     {
       
   135     IT_EmergencyCallTests* self = IT_EmergencyCallTests::NewLC();
       
   136     CleanupStack::Pop();
       
   137     return self;
       
   138     }
       
   139 
       
   140 IT_EmergencyCallTests* IT_EmergencyCallTests::NewLC()
       
   141     {
       
   142     IT_EmergencyCallTests* self = new( ELeave ) IT_EmergencyCallTests();
       
   143     CleanupStack::PushL( self );
       
   144     self->ConstructL();
       
   145     return self;
       
   146     }
       
   147 
       
   148 IT_EmergencyCallTests::~IT_EmergencyCallTests()
       
   149     {
       
   150     }
       
   151 
       
   152 IT_EmergencyCallTests::IT_EmergencyCallTests()
       
   153     {
       
   154     }
       
   155 
       
   156 void IT_EmergencyCallTests::ConstructL()
       
   157     {
       
   158     CEUnitTestSuiteClass::ConstructL();
       
   159     }
       
   160 
       
   161 void IT_EmergencyCallTests::HandleEmergencyDialL( const TInt aStatus )
       
   162     {
       
   163     iReceivedDialStatus = aStatus;
       
   164     }
       
   165 
       
   166 // - Test methods ----------------------------------------------------------
       
   167 
       
   168 void IT_EmergencyCallTests::DoTestValidEmergencyNumberL( const TDesC& aNumber )
       
   169     {
       
   170     TBool isEmergency;
       
   171     EUNIT_PRINT( aNumber );
       
   172     EUNIT_ASSERT_EQUALS( iEmergency->IsEmergencyPhoneNumber( aNumber, isEmergency ), KErrNone );
       
   173     EUNIT_ASSERT( isEmergency );
       
   174     }
       
   175 
       
   176 void IT_EmergencyCallTests::DoTestInvalidEmergencyNumberL( const TDesC& aNumber )
       
   177     {
       
   178     TBool isEmergency;
       
   179     EUNIT_PRINT( aNumber );
       
   180     EUNIT_ASSERT_EQUALS( iEmergency->IsEmergencyPhoneNumber( aNumber, isEmergency ), KErrNone );
       
   181     EUNIT_ASSERT( !isEmergency );
       
   182     }
       
   183 
       
   184 void IT_EmergencyCallTests::DoTestFindValidEmergencyNumberL( const TDesC& aNumber, const TDesC& aExpectedFoundEmergencyNumber )
       
   185     {
       
   186     TBool isEmergency;
       
   187     HBufC* number = aNumber.AllocLC();
       
   188     TPtr numberPtr = number->Des();
       
   189     EUNIT_PRINT( aNumber );
       
   190     EUNIT_ASSERT_EQUALS( iEmergency->FindEmergencyPhoneNumber( numberPtr, isEmergency ), KErrNone );
       
   191     EUNIT_ASSERT( isEmergency );
       
   192     
       
   193     EUNIT_ASSERT( numberPtr.Match( aExpectedFoundEmergencyNumber ) == 0 );
       
   194     CleanupStack::PopAndDestroy( number );
       
   195     }
       
   196 
       
   197 void IT_EmergencyCallTests::DoTestFindInvalidEmergencyNumberL( const TDesC& aNumber )
       
   198     {
       
   199     TBool isEmergency;
       
   200     HBufC* number = aNumber.AllocLC();
       
   201     TPtr numberPtr = number->Des();
       
   202     EUNIT_PRINT( aNumber );
       
   203     EUNIT_ASSERT_EQUALS( iEmergency->FindEmergencyPhoneNumber( numberPtr, isEmergency ), KErrNone );
       
   204     EUNIT_ASSERT( !isEmergency );
       
   205     
       
   206     CleanupStack::PopAndDestroy( number );
       
   207     }
       
   208 
       
   209 void IT_EmergencyCallTests::SetupL(  )
       
   210     {
       
   211     iEmergency = CPhCltEmergencyCall::NewL( this );
       
   212     }
       
   213 
       
   214 void IT_EmergencyCallTests::SetupWithEtelL()
       
   215     {
       
   216     iReceivedDialStatus = -1000; // Non default value 
       
   217     iEtel = CEtel::NewL();
       
   218     iEmergency = CPhCltEmergencyCall::NewL( this );
       
   219     }
       
   220     
       
   221 void IT_EmergencyCallTests::Teardown(  )
       
   222     {
       
   223     delete iEmergency;
       
   224     delete iEtel; iEtel = NULL;
       
   225     }
       
   226         
       
   227 void IT_EmergencyCallTests::TestConstructionL()
       
   228     {
       
   229     // SetupL and Teardown does the job.
       
   230     }
       
   231 
       
   232 void IT_EmergencyCallTests::Test112L()
       
   233     {
       
   234     DoTestValidEmergencyNumberL( _L("112") );
       
   235     }
       
   236 
       
   237 void IT_EmergencyCallTests::TestHash31Hash112L()
       
   238     {
       
   239     DoTestValidEmergencyNumberL( _L("#31#112") );
       
   240     }
       
   241 
       
   242 void IT_EmergencyCallTests::TestStar31Hash112L()
       
   243     {
       
   244     DoTestValidEmergencyNumberL( _L("*31#112") );
       
   245     }
       
   246 
       
   247 void IT_EmergencyCallTests::Test112WithDtmfL()
       
   248     {
       
   249     DoTestValidEmergencyNumberL( _L("112p234p1234#") );
       
   250     }
       
   251 
       
   252 void IT_EmergencyCallTests::Test112WithDtmf_2L()
       
   253     {
       
   254     DoTestValidEmergencyNumberL( _L("112p454") );
       
   255     }
       
   256 
       
   257 void IT_EmergencyCallTests::TestPlusSignBefore112L()
       
   258     {
       
   259     DoTestValidEmergencyNumberL( _L("+112") );
       
   260     }
       
   261 
       
   262 void IT_EmergencyCallTests::TestCLIR112DTMFL()
       
   263     {
       
   264     DoTestValidEmergencyNumberL( _L("*31#112p123w123") );
       
   265     }
       
   266 
       
   267 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_1L()
       
   268     {
       
   269     DoTestInvalidEmergencyNumberL( _L("*132#112") );
       
   270     }
       
   271 
       
   272 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_2L()
       
   273     {
       
   274     DoTestInvalidEmergencyNumberL( _L("#112") );
       
   275     }
       
   276 
       
   277 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_3L()
       
   278     {
       
   279     DoTestInvalidEmergencyNumberL( _L("112#") );
       
   280     }
       
   281 
       
   282 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_4L()
       
   283     {
       
   284     DoTestInvalidEmergencyNumberL( _L("*34#112p52##5w256") );
       
   285     }
       
   286 
       
   287 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_5L()
       
   288     {
       
   289     DoTestInvalidEmergencyNumberL( _L("p112") );
       
   290     }
       
   291 
       
   292 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_6L()
       
   293     {
       
   294     DoTestInvalidEmergencyNumberL( _L("w112p") );
       
   295     }
       
   296 
       
   297 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_7L()
       
   298     {
       
   299     DoTestInvalidEmergencyNumberL( _L("p112w") );
       
   300     }
       
   301 
       
   302 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_8L()
       
   303     {
       
   304     DoTestInvalidEmergencyNumberL( _L("112+") );
       
   305     }
       
   306 
       
   307 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_9L()
       
   308     {
       
   309     DoTestInvalidEmergencyNumberL( _L("112+p112") );
       
   310     }
       
   311 
       
   312 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_10L()
       
   313     {
       
   314     DoTestInvalidEmergencyNumberL( _L("p") );
       
   315     }
       
   316 
       
   317 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_11L()
       
   318     {
       
   319     DoTestInvalidEmergencyNumberL( _L("w") );
       
   320     }
       
   321 
       
   322 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_12L()
       
   323     {
       
   324     DoTestInvalidEmergencyNumberL( _L("pw") );
       
   325     }
       
   326 
       
   327 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_13L()
       
   328     {
       
   329     DoTestInvalidEmergencyNumberL( _L("*#+112p+") );
       
   330     }
       
   331 
       
   332 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_14L()
       
   333     {
       
   334     DoTestInvalidEmergencyNumberL( _L("*#+112p+#") );
       
   335     }
       
   336 
       
   337 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_15L()
       
   338     {
       
   339     DoTestInvalidEmergencyNumberL( _L("05001234567#112") );
       
   340     }
       
   341 
       
   342 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_16L()
       
   343     {
       
   344     DoTestInvalidEmergencyNumberL( _L("*31#") );
       
   345     }
       
   346 
       
   347 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_17L()
       
   348     {
       
   349     DoTestInvalidEmergencyNumberL( _L("*31#p123w12") );
       
   350     }
       
   351 
       
   352 void IT_EmergencyCallTests::TestInvalidEmergencyNumber_18L()
       
   353     {
       
   354     DoTestInvalidEmergencyNumberL( KNullDesC() );
       
   355     }
       
   356 
       
   357 void IT_EmergencyCallTests::TestFindingEmergencyNumber_1L()
       
   358     {
       
   359     DoTestFindValidEmergencyNumberL(_L("112"), _L("112") );
       
   360     }
       
   361 
       
   362 
       
   363 // The feature flag __EN_POLICY_DOS must not be defined when running this test in emulator.
       
   364 // In emulator we have stub DOS
       
   365 void IT_EmergencyCallTests::TestFindingEmergencyNumber_2L()
       
   366     {
       
   367     DoTestFindValidEmergencyNumberL(_L("555*#112"), _L("112") );
       
   368     }
       
   369 
       
   370 // The feature flag __EN_POLICY_DOS must not be defined when running this test in emulator.
       
   371 // In emulator we have stub DOS
       
   372 void IT_EmergencyCallTests::TestFindingEmergencyNumber_3L()
       
   373     {
       
   374     DoTestFindInvalidEmergencyNumberL(_L("1120") );
       
   375     }
       
   376 
       
   377 void IT_EmergencyCallTests::TestCallingEmergencyCallWithInvalidEmergencyNumberL()
       
   378     {
       
   379     EUNIT_ASSERT_SPECIFIC_LEAVE( iEmergency->DialEmergencyCallL( _L("030444") ), KErrArgument );
       
   380     }
       
   381 
       
   382 // The feature flag __EN_POLICY_DOS must not be defined when running this test in emulator.
       
   383 // In emulator we have stub DOS
       
   384 void IT_EmergencyCallTests::TestEmergencyCallL()
       
   385     {
       
   386     EUNIT_ASSERT_NO_LEAVE( iEmergency->DialEmergencyCallL( _L("*31#112p123w123") ) );
       
   387     
       
   388     iEtel->WaitForEmergencyCallToConnectL();
       
   389     EUNIT_ASSERT( iReceivedDialStatus == KErrNone );
       
   390     
       
   391     // Verify that the Etel has got the emergency number without any extra chars.
       
   392     EUNIT_ASSERT( iEtel->GetNumberOfEmergencyCall().Match( _L("112") ) == 0 );
       
   393     
       
   394     iEtel->Hangup();
       
   395     }
       
   396 
       
   397 // - EUnit test table -------------------------------------------------------
       
   398 
       
   399 EUNIT_BEGIN_TEST_TABLE(
       
   400     IT_EmergencyCallTests,
       
   401     "API tests for Emergency call api",
       
   402     "MODULE" )
       
   403 
       
   404 EUNIT_TEST(
       
   405     "Consruction",
       
   406     "CPhCltEmergencyCall",
       
   407     "NewL",
       
   408     "FUNCTIONALITY",
       
   409     SetupL, TestConstructionL, Teardown)
       
   410     
       
   411 EUNIT_TEST(
       
   412     "Valid e number 112",
       
   413     "CPhCltEmergencyCall",
       
   414     "IsEmergencyPhoneNumber",
       
   415     "FUNCTIONALITY",
       
   416     SetupL, Test112L, Teardown)
       
   417     
       
   418 EUNIT_TEST(
       
   419     "Valid em number  #31#112",
       
   420     "CPhCltEmergencyCall",
       
   421     "IsEmergencyPhoneNumber",
       
   422     "FUNCTIONALITY",
       
   423     SetupL, TestHash31Hash112L, Teardown)
       
   424     
       
   425 EUNIT_TEST(
       
   426     "Valid em number *31#112",
       
   427     "CPhCltEmergencyCall",
       
   428     "IsEmergencyPhoneNumber",
       
   429     "FUNCTIONALITY",
       
   430     SetupL, TestStar31Hash112L, Teardown)
       
   431     
       
   432 EUNIT_TEST(
       
   433     "Valid em number 112p234p1234#",
       
   434     "CPhCltEmergencyCall",
       
   435     "IsEmergencyPhoneNumber",
       
   436     "FUNCTIONALITY",
       
   437     SetupL, Test112WithDtmfL, Teardown)
       
   438     
       
   439 EUNIT_TEST(
       
   440     "Valid em number 112p454",
       
   441     "CPhCltEmergencyCall",
       
   442     "IsEmergencyPhoneNumber",
       
   443     "FUNCTIONALITY",
       
   444     SetupL, Test112WithDtmf_2L, Teardown)
       
   445     
       
   446 EUNIT_TEST(
       
   447     "Valid em number +112",
       
   448     "CPhCltEmergencyCall",
       
   449     "IsEmergencyPhoneNumber",
       
   450     "FUNCTIONALITY",
       
   451     SetupL, TestPlusSignBefore112L, Teardown)
       
   452     
       
   453 EUNIT_TEST(
       
   454     "Valid em number *31#112p123w123",
       
   455     "CPhCltEmergencyCall",
       
   456     "IsEmergencyPhoneNumber",
       
   457     "FUNCTIONALITY",
       
   458     SetupL, TestCLIR112DTMFL, Teardown)
       
   459     
       
   460 
       
   461     
       
   462 EUNIT_TEST(
       
   463     "Invalid em number  *132#112",
       
   464     "CPhCltEmergencyCall",
       
   465     "IsEmergencyPhoneNumber",
       
   466     "FUNCTIONALITY",
       
   467     SetupL, TestInvalidEmergencyNumber_1L, Teardown)
       
   468     
       
   469 EUNIT_TEST(
       
   470     "Invalid em number  #112",
       
   471     "CPhCltEmergencyCall",
       
   472     "IsEmergencyPhoneNumber",
       
   473     "FUNCTIONALITY",
       
   474     SetupL, TestInvalidEmergencyNumber_2L, Teardown)
       
   475     
       
   476 EUNIT_TEST(
       
   477     "Invalid em number  112#",
       
   478     "CPhCltEmergencyCall",
       
   479     "IsEmergencyPhoneNumber",
       
   480     "FUNCTIONALITY",
       
   481     SetupL, TestInvalidEmergencyNumber_3L, Teardown)
       
   482     
       
   483 EUNIT_TEST(
       
   484     "Invalid em number  *34#112p52##5w256",
       
   485     "CPhCltEmergencyCall",
       
   486     "IsEmergencyPhoneNumber",
       
   487     "FUNCTIONALITY",
       
   488     SetupL, TestInvalidEmergencyNumber_4L, Teardown)
       
   489 
       
   490 EUNIT_TEST(
       
   491     "Invalid em number  p112",
       
   492     "CPhCltEmergencyCall",
       
   493     "IsEmergencyPhoneNumber",
       
   494     "FUNCTIONALITY",
       
   495     SetupL, TestInvalidEmergencyNumber_5L, Teardown)
       
   496     
       
   497 EUNIT_TEST(
       
   498     "Invalid em number  w112p",
       
   499     "CPhCltEmergencyCall",
       
   500     "IsEmergencyPhoneNumber",
       
   501     "FUNCTIONALITY",
       
   502     SetupL, TestInvalidEmergencyNumber_6L, Teardown)
       
   503     
       
   504 
       
   505 EUNIT_TEST(
       
   506     "Invalid em number  p112w",
       
   507     "CPhCltEmergencyCall",
       
   508     "IsEmergencyPhoneNumber",
       
   509     "FUNCTIONALITY",
       
   510     SetupL, TestInvalidEmergencyNumber_7L, Teardown)
       
   511     
       
   512 EUNIT_TEST(
       
   513     "Invalid em number  112+",
       
   514     "CPhCltEmergencyCall",
       
   515     "IsEmergencyPhoneNumber",
       
   516     "FUNCTIONALITY",
       
   517     SetupL, TestInvalidEmergencyNumber_8L, Teardown)
       
   518     
       
   519 EUNIT_TEST(
       
   520     "Invalid em number  112+p112",
       
   521     "CPhCltEmergencyCall",
       
   522     "IsEmergencyPhoneNumber",
       
   523     "FUNCTIONALITY",
       
   524     SetupL, TestInvalidEmergencyNumber_9L, Teardown)
       
   525     
       
   526 EUNIT_TEST(
       
   527     "Invalid em number  p",
       
   528     "CPhCltEmergencyCall",
       
   529     "IsEmergencyPhoneNumber",
       
   530     "FUNCTIONALITY",
       
   531     SetupL, TestInvalidEmergencyNumber_10L, Teardown)   
       
   532 
       
   533 EUNIT_TEST(
       
   534     "Invalid em number  w",
       
   535     "CPhCltEmergencyCall",
       
   536     "IsEmergencyPhoneNumber",
       
   537     "FUNCTIONALITY",
       
   538     SetupL, TestInvalidEmergencyNumber_11L, Teardown)
       
   539    
       
   540 EUNIT_TEST(
       
   541     "Invalid em number  pw",
       
   542     "CPhCltEmergencyCall",
       
   543     "IsEmergencyPhoneNumber",
       
   544     "FUNCTIONALITY",
       
   545     SetupL, TestInvalidEmergencyNumber_12L, Teardown)
       
   546     
       
   547 EUNIT_TEST(
       
   548     "Invalid em number *#+112p+",
       
   549     "CPhCltEmergencyCall",
       
   550     "IsEmergencyPhoneNumber",
       
   551     "FUNCTIONALITY",
       
   552     SetupL, TestInvalidEmergencyNumber_13L, Teardown)
       
   553     
       
   554 EUNIT_TEST(
       
   555     "Invalid em number *#+112p+#",
       
   556     "CPhCltEmergencyCall",
       
   557     "IsEmergencyPhoneNumber",
       
   558     "FUNCTIONALITY",
       
   559     SetupL, TestInvalidEmergencyNumber_14L, Teardown)
       
   560     
       
   561 EUNIT_TEST(
       
   562     "Invalid em number 05001234567#112",
       
   563     "CPhCltEmergencyCall",
       
   564     "IsEmergencyPhoneNumber",
       
   565     "FUNCTIONALITY",
       
   566     SetupL, TestInvalidEmergencyNumber_15L, Teardown)
       
   567     
       
   568 EUNIT_TEST(
       
   569     "Invalid em number *31#",
       
   570     "CPhCltEmergencyCall",
       
   571     "IsEmergencyPhoneNumber",
       
   572     "FUNCTIONALITY",
       
   573     SetupL, TestInvalidEmergencyNumber_16L, Teardown)
       
   574     
       
   575 EUNIT_TEST(
       
   576     "Invalid em number *31#p123w12",
       
   577     "CPhCltEmergencyCall",
       
   578     "IsEmergencyPhoneNumber",
       
   579     "FUNCTIONALITY",
       
   580     SetupL, TestInvalidEmergencyNumber_17L, Teardown)
       
   581     
       
   582 
       
   583 EUNIT_TEST(
       
   584     "Invalid em number ",
       
   585     "CPhCltEmergencyCall",
       
   586     "IsEmergencyPhoneNumber",
       
   587     "FUNCTIONALITY",
       
   588     SetupL, TestInvalidEmergencyNumber_18L, Teardown)
       
   589     
       
   590 EUNIT_TEST(
       
   591     "Valid em number found from 112",
       
   592     "CPhCltEmergencyCall",
       
   593     "FindEmergencyPhoneNumber",
       
   594     "FUNCTIONALITY",
       
   595     SetupL, TestFindingEmergencyNumber_1L, Teardown)
       
   596     
       
   597 EUNIT_TEST(
       
   598     "Valid em number found from 555*#112",
       
   599     "CPhCltEmergencyCall",
       
   600     "FindEmergencyPhoneNumber",
       
   601     "FUNCTIONALITY",
       
   602     SetupL, TestFindingEmergencyNumber_2L, Teardown)
       
   603     
       
   604 EUNIT_TEST(
       
   605     "Invalid em number not found from 1120",
       
   606     "CPhCltEmergencyCall",
       
   607     "FindEmergencyPhoneNumber",
       
   608     "FUNCTIONALITY",
       
   609     SetupL, TestFindingEmergencyNumber_3L, Teardown)
       
   610 
       
   611 EUNIT_TEST(
       
   612     "Dial with invalid em number",
       
   613     "CPhCltEmergencyCall",
       
   614     "DialEmergency",
       
   615     "FUNCTIONALITY",
       
   616     SetupWithEtelL, TestCallingEmergencyCallWithInvalidEmergencyNumberL, Teardown)
       
   617     
       
   618 EUNIT_TEST(
       
   619     "Dial emergency call",
       
   620     "CPhCltEmergencyCall",
       
   621     "DialEmergency",
       
   622     "FUNCTIONALITY",
       
   623     SetupWithEtelL, TestEmergencyCallL, Teardown)
       
   624    
       
   625 
       
   626 
       
   627 EUNIT_END_TEST_TABLE