Пример #1
0
// ---------------------------------------------------------------------------
// UT_CNSPController::UT_ReplaceArrayL
// ---------------------------------------------------------------------------
// 
void UT_CNSPController::UT_ReplaceArrayL()
    {
    _LIT8( KSTUNandICE, "nokia.stun,nokia.ice" );
    _LIT8( KInvalidSpacing, "nokia.turn , nokia.ice" );
    _LIT8( KInvalidSpacing2, "nokia.turn , nokia.ice,nokia.stun" );
    _LIT8( KInvalidSpacing3, " nokia.turn , nokia.ice,nokia.stun" );
    _LIT8( KEmptySpace, " " );
    
    CDesC8Array* protocols = new (ELeave) CDesC8ArrayFlat( 5 );
    CleanupStack::PushL( protocols );
    
    // OK, ICE
    NSP_ASSERT_NO_LEAVE( iController->ReplaceArrayL( *protocols, KICE() ) );
    NSP_ASSERT( 1 == protocols->MdcaCount() );
    NSP_ASSERT( !protocols->MdcaPoint( 0 ).Compare( KICE() ) );
    
    // OK, STUN & ICE
    NSP_ASSERT_NO_LEAVE( iController->ReplaceArrayL( *protocols, KSTUNandICE() ) );
    NSP_ASSERT( 2 == protocols->MdcaCount() );
    NSP_ASSERT( !protocols->MdcaPoint( 0 ).Compare( KSTUN() ) );
    NSP_ASSERT( !protocols->MdcaPoint( 1 ).Compare( KICE() ) );
    
    // OK, TURN & ICE, WITH INVALID SPACING IN STRING
    NSP_ASSERT_NO_LEAVE( iController->ReplaceArrayL( *protocols, KInvalidSpacing() ) );
    NSP_ASSERT( 2 == protocols->MdcaCount() );
    NSP_ASSERT( !protocols->MdcaPoint( 0 ).Compare( KTURN() ) );
    NSP_ASSERT( !protocols->MdcaPoint( 1 ).Compare( KICE() ) );
    
    // OK, TURN & ICE & STUN, WITH INVALID SPACING IN STRING
    NSP_ASSERT_NO_LEAVE( iController->ReplaceArrayL( *protocols, KInvalidSpacing2() ) );
    NSP_ASSERT( 3 == protocols->MdcaCount() );
    NSP_ASSERT( !protocols->MdcaPoint( 0 ).Compare( KTURN() ) );
    NSP_ASSERT( !protocols->MdcaPoint( 1 ).Compare( KICE() ) );
    NSP_ASSERT( !protocols->MdcaPoint( 2 ).Compare( KSTUN() ) );
    
    // OK, TURN & ICE & STUN, WITH INVALID SPACING IN STRING
    NSP_ASSERT_NO_LEAVE( iController->ReplaceArrayL( *protocols, KInvalidSpacing3() ) );
    NSP_ASSERT( 3 == protocols->MdcaCount() );
    NSP_ASSERT( !protocols->MdcaPoint( 0 ).Compare( KTURN() ) );
    NSP_ASSERT( !protocols->MdcaPoint( 1 ).Compare( KICE() ) );
    NSP_ASSERT( !protocols->MdcaPoint( 2 ).Compare( KSTUN() ) );
    
    // FAILURE IN CENREP SETTINGS, IN APROTOCOL
    NSP_ASSERT_LEAVE( iController->ReplaceArrayL( *protocols, KEmptySpace() ) );
    NSP_ASSERT( 0 == protocols->MdcaCount() );
    NSP_ASSERT_LEAVE( iController->ReplaceArrayL( *protocols, KNullDesC8() ) );
    NSP_ASSERT( 0 == protocols->MdcaCount() );
    
    CleanupStack::PopAndDestroy( protocols );
    }