cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcalldivertingwrapper/ut_psetcalldivertingwrapper.cpp
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
child 21 0a6dd2dc9970
--- a/cellular/telephonysettings/xqbindings/psetwrapper/tsrc/ut_psetcalldivertingwrapper/ut_psetcalldivertingwrapper.cpp	Tue Aug 31 15:45:17 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,735 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <PsetContainer.h>
-#include <PsetCallDiverting.h>
-#include <mpsetdivertobs.h>
-#include "ut_psetcalldivertingwrapper.h"
-#include "mock_cphcltemergencycall.h"
-#include "testutilities.h"
-#define private public
-#include "psetcalldivertingwrapper.h"
-#include "psetcalldivertingwrapper_p.h"
-
-class DivertObserver : public MPsetDivertObserver
-{
-    void HandleDivertingChangedL( 
-        const TCallDivertSetting& aSetting, TBool aPlural) 
-    {
-        Q_UNUSED(aSetting);
-        Q_UNUSED(aPlural);
-    }
-    
-    void HandleDivertingStatusL(CMobilePhoneCFList& aSetting, TBool aPlural) 
-    {
-        Q_UNUSED(aSetting);
-        Q_UNUSED(aPlural);
-    }
-    
-    void HandleDivertingErrorL(TInt aReason) 
-    {
-        Q_UNUSED(aReason);
-    }
-    
-    void HandleCFRequestingL(TBool aOngoing, 
-        TBool aInterrupted) 
-    {
-        Q_UNUSED(aOngoing);
-        Q_UNUSED(aInterrupted);
-    }
-    
-    void SetEngineContact(MPsetCallDiverting* aDivertEngine) 
-    {
-        Q_UNUSED(aDivertEngine);
-    }
-};
-
-void SimulateLeaveL()
-{
-    User::Leave(KErrGeneral);
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::UT_PSetWrapperCallDiverting
- */
-UT_PSetCallDivertingWrapper::UT_PSetCallDivertingWrapper() 
-    : mWrapper(NULL), mSetContainerMock(NULL) 
-{
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::~UT_PSetWrapperCallDiverting
- */
-UT_PSetCallDivertingWrapper::~UT_PSetCallDivertingWrapper()
-{
-    delete mWrapper;
-    delete mSetContainerMock;
-    mPsetCallDivertingMock = NULL;
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::init
- */
-void UT_PSetCallDivertingWrapper::init()
-{
-    initialize();
-    CPhCltEmergencyCallMock::iSimulateEmergencyNumberMatch = false;
-    
-    mSetContainerMock = new CPsetContainer();
-    
-    RMobilePhone dummyHandle;
-    DivertObserver dummyObsever;
-    QT_TRAP_THROWING(mPsetCallDivertingMock 
-        = CPsetCallDiverting::NewL(dummyObsever, dummyHandle));
-    expect("CPsetContainer::CreateCFObjectL").returns(mPsetCallDivertingMock);
-    
-    // Wrapper takes ownership of callDivertingMock during construction. 
-    // Mock must be deleted here if exception happens during construction.
-    QScopedPointer<CPsetCallDiverting> divertingMockPtr(mPsetCallDivertingMock);
-    mWrapper = new PSetCallDivertingWrapper(*mSetContainerMock, NULL);
-    divertingMockPtr.take();
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::cleanup
- */
-void UT_PSetCallDivertingWrapper::cleanup()
-{
-    reset();
-    
-    delete mWrapper;
-    mWrapper = NULL;
-    delete mSetContainerMock;
-    mSetContainerMock = NULL;
-    mPsetCallDivertingMock = NULL;
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_construction
- */
-void UT_PSetCallDivertingWrapper::t_construction()
-{
-    if (qstrcmp(QTest::currentTestFunction(), "t_exceptionSafety") != 0) {
-        
-        expect("CPsetContainer::CreateCFObjectL").
-            willOnce(invokeWithoutArguments(SimulateLeaveL));
-        PSetCallDivertingWrapper *wrapper = NULL;
-        EXPECT_EXCEPTION(
-            wrapper = new PSetCallDivertingWrapper(*mSetContainerMock, NULL);
-            delete wrapper;
-            wrapper = NULL;
-        )
-        QVERIFY(verify());
-        
-        expect("CPhCltEmergencyCallMock::NewL").
-            willOnce(invokeWithoutArguments(SimulateLeaveL));
-        EXPECT_EXCEPTION(
-            wrapper = new PSetCallDivertingWrapper(*mSetContainerMock, NULL);
-            delete wrapper;
-            wrapper = NULL;
-        )        
-        QVERIFY(verify());
-    }
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_setCallDivertingWithValidParameters
- */
-void UT_PSetCallDivertingWrapper::t_setCallDivertingWithValidParameters()
-{
-    PSCallDivertingCommand divertingCmd;
-    divertingCmd.iCondition = DivertConditionUnconditional;
-    divertingCmd.iSetting = RegisterDiverting;
-    divertingCmd.iStatus = DivertingStatusUnknown;
-    divertingCmd.iServiceGroup = ServiceGroupVoice;
-    divertingCmd.iNumber = "1234567890";
-    divertingCmd.iNoReplyTimer = 0;
-    
-    TCallDivertSetting expectedParam;
-    expectedParam.iCondition = EDivertConditionUnconditional;
-    expectedParam.iSetting = ERegisterDiverting;
-    expectedParam.iStatus = EDivertingStatusUnknown;
-    expectedParam.iServiceGroup = EServiceGroupVoice;
-    expectedParam.iNumber 
-        = TPtrC16(reinterpret_cast<const TUint16*>(divertingCmd.iNumber.utf16()));
-    expectedParam.iNoReplyTimer 
-        = static_cast<TInt>(divertingCmd.iNoReplyTimer);
-    TBool isVmbx = EFalse;
-    expect("CPsetCallDiverting::SetDivertingL").
-        with(expectedParam, ETelephony, isVmbx);
-    
-    mWrapper->setCallDiverting(divertingCmd, ETelephony);
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_setCallDivertingWithInvalidNumber
- */
-void UT_PSetCallDivertingWrapper::t_setCallDivertingWithInvalidNumber()
-{
-    PSCallDivertingCommand divertingCmd;
-    divertingCmd.iCondition = DivertConditionUnconditional;
-    divertingCmd.iSetting = RegisterDiverting;
-    divertingCmd.iStatus = DivertingStatusUnknown;
-    divertingCmd.iServiceGroup = ServiceGroupVoice;
-    divertingCmd.iNoReplyTimer = 0;
-    
-    expect("CPsetCallDiverting::SetDivertingL").times(0);
-    
-    // DTMF digits "*#pw" are not allowed characters
-    divertingCmd.iNumber = "*";
-    int result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
-    QVERIFY(result == KErrGsmSSUnknownAlphabet);
-    divertingCmd.iNumber = "#";
-    result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
-    QVERIFY(result == KErrGsmSSUnknownAlphabet);
-    divertingCmd.iNumber = "p";
-    result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
-    QVERIFY(result == KErrGsmSSUnknownAlphabet);
-    divertingCmd.iNumber = "w";
-    result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
-    QVERIFY(result == KErrGsmSSUnknownAlphabet);
-    
-    // plus allowed only in the beginning of the number
-    divertingCmd.iNumber = "++";
-    result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
-    QVERIFY(result == KErrGsmSSUnknownAlphabet);
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_setCallDivertingWithEmergencyNumber
- */
-void UT_PSetCallDivertingWrapper::t_setCallDivertingWithEmergencyNumber()
-{
-    PSCallDivertingCommand divertingCmd;
-    divertingCmd.iCondition = DivertConditionUnconditional;
-    divertingCmd.iSetting = RegisterDiverting;
-    divertingCmd.iStatus = DivertingStatusUnknown;
-    divertingCmd.iServiceGroup = ServiceGroupVoice;
-    divertingCmd.iNumber = "112";
-    divertingCmd.iNoReplyTimer = 0;
-    
-    expect("CPsetCallDiverting::SetDivertingL").times(0);
-    CPhCltEmergencyCallMock::iSimulateEmergencyNumberMatch = ETrue;
-    expect("CPhCltEmergencyCallMock::IsEmergencyPhoneNumber").returns(KErrNone);
-    
-    int result = mWrapper->setCallDiverting(divertingCmd, ETelephony);
-    QVERIFY(result == KErrGsmSSIllegalOperation);
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_setCallDivertingException
- */
-void UT_PSetCallDivertingWrapper::t_setCallDivertingException()
-{
-    PSCallDivertingCommand divertingCmd;
-    divertingCmd.iCondition = DivertConditionUnconditional;
-    divertingCmd.iSetting = RegisterDiverting;
-    divertingCmd.iStatus = DivertingStatusUnknown;
-    divertingCmd.iServiceGroup = ServiceGroupVoice;
-    divertingCmd.iNumber = "1234567890";
-    divertingCmd.iNoReplyTimer = 0;
-    
-    expect("CPsetCallDiverting::SetDivertingL").
-        willOnce(invokeWithoutArguments(this, &simulateLeaveOnMockMethodCallL));
-    
-    EXPECT_EXCEPTION(
-        mWrapper->setCallDiverting(divertingCmd, ETelephony);
-    )
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_getCallDivertingStatus
- */
-void UT_PSetCallDivertingWrapper::t_getCallDivertingStatus()
-{
-    expect("CPsetCallDiverting::GetDivertingStatusL").
-        with(EServiceGroupVoice, EDivertConditionUnconditional, ETelephony);
-    
-    mWrapper->getCallDivertingStatus(
-        ServiceGroupVoice, DivertConditionUnconditional, ETelephony);
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_getCallDivertingStatusException
- */
-void UT_PSetCallDivertingWrapper::t_getCallDivertingStatusException()
-{
-    expect("CPsetCallDiverting::GetDivertingStatusL").
-        with(EServiceGroupVoice, EDivertConditionUnconditional, ETelephony).
-        willOnce(invokeWithoutArguments(this, &simulateLeaveOnMockMethodCallL));
-    
-    EXPECT_EXCEPTION(
-        mWrapper->getCallDivertingStatus(
-            ServiceGroupVoice, DivertConditionUnconditional, ETelephony);
-    )
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_cancelProcess
- */
-void UT_PSetCallDivertingWrapper::t_cancelProcess()
-{
-    expect("CPsetCallDiverting::CancelCurrentRequest");
-    
-    mWrapper->cancelProcess();
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_getDefaultNumbers
- */
-void UT_PSetCallDivertingWrapper::t_getDefaultNumbers()
-{
-    expect("CPsetCallDiverting::GetDefaultNumbersL").times(1);
-    
-    QStringList defNumbers;
-    mWrapper->getDefaultNumbers(defNumbers);
-    
-    // 2 numbers added in mock_psetcalldiverting.cpp
-    QVERIFY(2 == defNumbers.count());
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_getDefaultNumbersException
- */
-void UT_PSetCallDivertingWrapper::t_getDefaultNumbersException()
-{
-    expect("CPsetCallDiverting::GetDefaultNumbersL").
-        willOnce(invokeWithoutArguments(this, &simulateLeaveOnMockMethodCallL));
-    
-    QStringList defNumbers;
-    EXPECT_EXCEPTION(
-        mWrapper->getDefaultNumbers(defNumbers);
-    )
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_setNewDefaultNumber
- */
-void UT_PSetCallDivertingWrapper::t_setNewDefaultNumber()
-{
-    expect("CPsetCallDiverting::SetNewDefaultNumberL").times(1);
-    expect("CPsetCallDiverting::SwapDefaultNumberL").times(0);
-
-    // number not added in mock_psetcalldiverting.cpp
-    QString defNumber = "444444";
-    mWrapper->setNewDefaultNumber(defNumber);
-
-    expect("CPsetCallDiverting::GetDefaultNumbersL")
-        .willOnce(invoke(SimulateLeaveL));
-    EXPECT_EXCEPTION(
-        mWrapper->setNewDefaultNumber(defNumber);
-    )
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_getVoiceMailBoxNumber
- */
-void UT_PSetCallDivertingWrapper::t_getVoiceMailBoxNumber()
-{
-    // Fail case #1, illegal argument
-    QString defNumber;
-    int ret;
-    
-    expect("CVoiceMailbox::GetStoredEntry").returns(-2).times(1);
-    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, 0);
-    
-    // Fail case #2, Not supported.
-    expect("CVoiceMailbox::GetStoredEntry").returns(-5).times(1);
-    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, -1);
-
-    // Fail case #3, number nok
-    expect("CVoiceMailbox::GetStoredEntry").times(1);
-    expect("CVoiceMailboxEntry::GetVmbxNumber").returns(-1).times(1);
-    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, 0);
-
-    // ok case#1, number and save ok but no new number. 
-    expect("CVoiceMailbox::GetStoredEntry").returns(-1).times(1);
-    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupData);
-    QCOMPARE(ret, 0);
-
-    // ok case#2, number ok
-    expect("CVoiceMailbox::GetStoredEntry").times(1);
-    expect("CVoiceMailboxEntry::GetVmbxNumber").times(1);
-    ret = mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, 0);
-
-    expect("CVoiceMailbox::NewL")
-        .willOnce(invoke(SimulateLeaveL));
-    EXPECT_EXCEPTION(
-        mWrapper->getVoiceMailBoxNumber(defNumber, ServiceGroupFax);
-    )
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_queryVoiceMailBoxNumber
- */
-void UT_PSetCallDivertingWrapper::t_queryVoiceMailBoxNumber()
-{
-    // Fail case #1, illegal argument
-    QString defNumber;
-    int ret;
-    expect("CVoiceMailbox::GetStoredEntry").returns(-2).times(1);
-    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, 0);
-    
-    // Fail case #2, Not supported.
-    expect("CVoiceMailbox::GetStoredEntry").returns(-5).times(1);
-    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, -1);
-    
-    // Fail case #3, New number not given.
-    expect("CVoiceMailbox::GetStoredEntry").times(1);
-    expect("CVoiceMailbox::QueryNewEntry").returns(-5).times(1);
-    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, 0);
-    
-    // Fail case #4, save nok
-    expect("CVoiceMailbox::GetStoredEntry").returns(-1).times(1);
-    expect("CVoiceMailbox::QueryNewEntry").times(1);
-    expect("CVoiceMailbox::SaveEntry").returns(-4).times(1);
-    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupData);
-    QCOMPARE(ret, 0);
-    
-    // ok case#1, number and save ok but no new number. 
-    expect("CVoiceMailbox::GetStoredEntry").returns(-1).times(1);
-    expect("CVoiceMailbox::QueryNewEntry").times(1);
-    expect("CVoiceMailbox::SaveEntry").times(1);
-    expect("CVoiceMailboxEntry::GetVmbxNumber").returns(-5).times(1);
-    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, 0);
-    
-    // ok case#2, number ok
-    expect("CVoiceMailbox::GetStoredEntry").times(1);
-    expect("CVoiceMailbox::QueryNewEntry").times(1);
-    expect("CVoiceMailbox::SaveEntry").times(1);
-    expect("CVoiceMailboxEntry::GetVmbxNumber").times(1);
-    ret = mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupVoice);
-    QCOMPARE(ret, 0);
-
-    expect("CVoiceMailbox::NewL")
-        .willOnce(invoke(SimulateLeaveL));
-    EXPECT_EXCEPTION(
-        mWrapper->queryVoiceMailBoxNumber(defNumber, ServiceGroupFax);
-    )
-    
-    QVERIFY(true == verify());
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_swapDefaultNumber
- */
-void UT_PSetCallDivertingWrapper::t_swapDefaultNumber()
-{
-    expect("CPsetCallDiverting::SetNewDefaultNumberL").times(0);
-    expect("CPsetCallDiverting::SwapDefaultNumberL").times(1);
-
-    // same number added in mock_psetcalldiverting.cpp
-    QString defNumber = "222222";
-    mWrapper->setNewDefaultNumber(defNumber);
-
-    QVERIFY(true == verify());
-}
-
-
-Q_DECLARE_METATYPE(PSCallDivertingCommand)
-/*!
-  UT_PSetCallDivertingWrapper::t_handleDivertingChanged
- */
-void UT_PSetCallDivertingWrapper::t_handleDivertingChanged()
-{
-    qRegisterMetaType<PSCallDivertingCommand>("PSCallDivertingCommand");
-    QSignalSpy spy(mWrapper, 
-        SIGNAL(handleDivertingChanged(const PSCallDivertingCommand&, bool)));
-    
-    TCallDivertSetting setting;
-    setting.iCondition = EDivertConditionUnconditional;
-    setting.iSetting = EActivateDiverting;
-    setting.iStatus = EDivertingStatusUnknown;
-    setting.iServiceGroup = EServiceGroupAllTeleservices;
-    setting.iNumber = KNullDesC();
-    TBool plural = ETrue;
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
-
-    setting.iCondition = EDivertConditionBusy;
-    setting.iStatus = EDivertingStatusActive;
-    setting.iServiceGroup = EServiceGroupVoice;
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
-    setting.iCondition = EDivertConditionNoReply;
-    setting.iStatus = EDivertingStatusInactive;
-    setting.iServiceGroup = EServiceGroupData;
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
-    setting.iCondition = EDivertConditionNotReachable;
-    setting.iStatus = EDivertingStatusNotRegistered;
-    setting.iServiceGroup = EServiceGroupFax;
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
-    setting.iCondition = EDivertConditionAllCalls;
-    setting.iStatus = EDivertingStatusNotProvisioned;
-    setting.iServiceGroup = EServiceGroupFax;
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
-    setting.iCondition = EDivertConditionAllConditionalCases;
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingChangedL(setting, plural));
-    
-    QCOMPARE(spy.count(), 6);
-    PSCallDivertingCommand actualCmd = 
-        qvariant_cast<PSCallDivertingCommand>(spy.at(0).at(0));
-    QVERIFY(actualCmd.iCondition == DivertConditionUnconditional);
-    QVERIFY(actualCmd.iSetting == ActivateDiverting);
-    QVERIFY(actualCmd.iStatus == DivertingStatusUnknown);
-    QVERIFY(actualCmd.iServiceGroup == ServiceGroupAllTeleservices);
-    QVERIFY(actualCmd.iNumber == QString::fromUtf16(setting.iNumber.Ptr(),
-        setting.iNumber.Length()));
-    QVERIFY(spy.at(0).at(1).toBool() == true);
-    
-    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(1).at(0));
-    QVERIFY(actualCmd.iCondition == DivertConditionBusy);
-    QVERIFY(actualCmd.iStatus == DivertingStatusActive);
-    QVERIFY(actualCmd.iServiceGroup == ServiceGroupVoice);
-    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(2).at(0));
-    QVERIFY(actualCmd.iCondition == DivertConditionNoReply);
-    QVERIFY(actualCmd.iStatus == DivertingStatusInactive);
-    QVERIFY(actualCmd.iServiceGroup == ServiceGroupData);
-    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(3).at(0));
-    QVERIFY(actualCmd.iCondition == DivertConditionNotReachable);
-    QVERIFY(actualCmd.iStatus == DivertingStatusNotRegistered);
-    QVERIFY(actualCmd.iServiceGroup == ServiceGroupFax);
-    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(4).at(0));
-    QVERIFY(actualCmd.iCondition == DivertConditionAllCalls);
-    QVERIFY(actualCmd.iStatus == DivertingStatusNotProvisioned);
-    QVERIFY(actualCmd.iServiceGroup == ServiceGroupFax);
-    actualCmd = qvariant_cast<PSCallDivertingCommand>(spy.at(5).at(0));
-    QVERIFY(actualCmd.iCondition == DivertConditionAllConditionalCases);
-    
-    QVERIFY(true == verify());
-}
-
-
-/*!
-  UT_PSetCallDivertingWrapper::t_handleDivertingStatus
- */
-void UT_PSetCallDivertingWrapper::t_handleDivertingStatus()
-{
-    qRegisterMetaType<QList<PSCallDivertingStatus*> >("QList<PSCallDivertingStatus*>&");
-    QSignalSpy spy(mWrapper, 
-        SIGNAL(handleDivertingStatus(QList<PSCallDivertingStatus*>&, bool)));
-    
-    // With empty list
-    CMobilePhoneCFList* cfList = NULL;
-    QT_TRAP_THROWING(cfList = CMobilePhoneCFList::NewL());
-    QScopedPointer<CMobilePhoneCFList> cfListDeleter(cfList);
-    TBool plural = ETrue;
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingStatusL(*cfList, plural));
-    
-    QCOMPARE(spy.count(), 1);
-    QVERIFY(spy.at(0).at(1).toBool() == true);
-    spy.clear();
-    
-    // With list entry
-    RMobilePhone::TMobilePhoneCFInfoEntryV1 entry;
-    entry.iStatus = RMobilePhone::ECallForwardingStatusNotProvisioned;
-    entry.iCondition = RMobilePhone::ECallForwardingAllConditionalCases;
-    cfList->AddEntryL(entry);
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingStatusL(*cfList, plural));
-    
-    QCOMPARE(spy.count(), 1);
-    QList<PSCallDivertingStatus*> result = 
-            *reinterpret_cast<const QList<PSCallDivertingStatus*> *>(spy.at(0).at(0).constData());
-
-    QVERIFY(result.at(0)->iStatus == DivertingStatusNotProvisioned);
-    QVERIFY(result.at(0)->iCondition == DivertConditionAllConditionalCases);
-    QVERIFY(spy.at(0).at(1).toBool() == true);
-    spy.clear();
-    
-    // With list, two entries
-    delete cfList;
-    QT_TRAP_THROWING(cfList = CMobilePhoneCFList::NewL());
-    entry.iStatus = RMobilePhone::ECallForwardingStatusNotActive;
-    entry.iCondition = RMobilePhone::ECallForwardingBusy;
-    cfList->AddEntryL(entry); // Takes copy
-    
-    RMobilePhone::TMobilePhoneCFInfoEntryV1 entry2;
-    entry2.iStatus = RMobilePhone::ECallForwardingStatusActive;
-    entry2.iCondition = RMobilePhone::ECallForwardingUnconditional;
-    cfList->AddEntryL(entry2);
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleDivertingStatusL(*cfList, plural));
-    
-    QCOMPARE(spy.count(), 1);
-    result = *reinterpret_cast<const QList<PSCallDivertingStatus*> *>(spy.at(0).at(0).constData());
-    QVERIFY(result.at(0)->iStatus == DivertingStatusInactive);
-    QVERIFY(result.at(0)->iCondition == DivertConditionBusy);
-    
-    QVERIFY(result.at(1)->iStatus == DivertingStatusActive);
-    QVERIFY(result.at(1)->iCondition == DivertConditionUnconditional);
-    QVERIFY(spy.at(0).at(1).toBool() == true);
-    spy.clear();
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_handleDivertingError
- */
-void UT_PSetCallDivertingWrapper::t_handleDivertingError()
-{
-    QSignalSpy spy(mWrapper, SIGNAL(handleDivertingError(int)));
-    
-    QT_TRAP_THROWING(mWrapper->m_Priv->HandleDivertingErrorL(KErrGeneral));
-    
-    QCOMPARE(spy.count(), 1);
-    QVERIFY(spy.at(0).at(0).toInt() == KErrGeneral);
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_handleCFRequesting
- */
-void UT_PSetCallDivertingWrapper::t_handleCFRequesting()
-{
-    QSignalSpy spy(mWrapper, SIGNAL(handleCFRequesting(bool, bool)));
-    
-    TBool ongoing = ETrue;
-    TBool interrupted = ETrue;
-    QT_TRAP_THROWING(
-        mWrapper->m_Priv->HandleCFRequestingL(ongoing, interrupted));
-    
-    QCOMPARE(spy.count(), 1);
-    QVERIFY(spy.at(0).at(0).toBool() == true);
-    QVERIFY(spy.at(0).at(1).toBool() == true);
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_setEngineContact
-  TODO: dummy test because no implementation for the method currently.
- */
-void UT_PSetCallDivertingWrapper::t_setEngineContact()
-{
-    mWrapper->m_Priv->SetEngineContact(mPsetCallDivertingMock);
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_handleEmergencyDial
-  TODO: dummy test because no implementation for the method currently.
- */
-void UT_PSetCallDivertingWrapper::t_handleEmergencyDial()
-{
-    QT_TRAP_THROWING(mWrapper->m_Priv->HandleEmergencyDialL(KErrNone));
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_convertPsCallDivertingCondition
- */
-void UT_PSetCallDivertingWrapper::t_convertPsCallDivertingCondition()
-{
-    QVERIFY(EDivertConditionUnconditional == 
-        mWrapper->m_Priv->convert(DivertConditionUnknown));
-    QVERIFY(EDivertConditionUnconditional == 
-        mWrapper->m_Priv->convert(DivertConditionUnconditional));
-    QVERIFY(EDivertConditionBusy == 
-        mWrapper->m_Priv->convert(DivertConditionBusy));
-    QVERIFY(EDivertConditionNoReply == 
-        mWrapper->m_Priv->convert(DivertConditionNoReply));
-    QVERIFY(EDivertConditionNotReachable == 
-        mWrapper->m_Priv->convert(DivertConditionNotReachable));
-    QVERIFY(EDivertConditionAllCalls == 
-        mWrapper->m_Priv->convert(DivertConditionAllCalls));
-    QVERIFY(EDivertConditionAllConditionalCases == 
-        mWrapper->m_Priv->convert(DivertConditionAllConditionalCases));
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_convertPsCallDivertingStatus
- */
-void UT_PSetCallDivertingWrapper::t_convertPsCallDivertingStatus()
-{
-    QVERIFY(EDivertingStatusActive == 
-        mWrapper->m_Priv->convert(DivertingStatusActive));
-    QVERIFY(EDivertingStatusInactive == 
-        mWrapper->m_Priv->convert(DivertingStatusInactive));
-    QVERIFY(EDivertingStatusNotRegistered == 
-        mWrapper->m_Priv->convert(DivertingStatusNotRegistered));
-    QVERIFY(EDivertingStatusNotProvisioned == 
-        mWrapper->m_Priv->convert(DivertingStatusNotProvisioned));
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_convertPsCallDivertingSetting
- */
-void UT_PSetCallDivertingWrapper::t_convertPsCallDivertingSetting()
-{
-    QVERIFY(EActivateDiverting == 
-        mWrapper->m_Priv->convert(ActivateDiverting));
-    QVERIFY(ECancelDiverting == 
-        mWrapper->m_Priv->convert(CancelDiverting));
-    QVERIFY(ERegisterDiverting == 
-        mWrapper->m_Priv->convert(RegisterDiverting));
-    QVERIFY(EEraseDiverting == 
-        mWrapper->m_Priv->convert(EraseDiverting));
-    QVERIFY(ECheckStatus == 
-        mWrapper->m_Priv->convert(CheckStatus));
-    const int invalidEnumeration = -1;
-    QVERIFY(ECheckStatus == mWrapper->m_Priv->convert(
-        static_cast<PsCallDivertingSetting>(invalidEnumeration)));
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::t_exceptionSafety
- */
-void UT_PSetCallDivertingWrapper::t_exceptionSafety()
-{
-    cleanup();
-    
-    OomTestExecuter::runAllTests(*this, "t_exceptionSafety");
-}
-
-/*!
-  UT_PSetCallDivertingWrapper::simulateLeaveOnMockMethodCallL
- */
-void UT_PSetCallDivertingWrapper::simulateLeaveOnMockMethodCallL()
-{
-    User::Leave(KErrGeneral);
-}
-
-QTEST_MAIN_S60(UT_PSetCallDivertingWrapper)