diff -r 594d59766373 -r 7d48bed6ce0c cellular/psuinotes/tsrc/ut_psuidivertnotehandler/ut_psuidivertnotehandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cellular/psuinotes/tsrc/ut_psuidivertnotehandler/ut_psuidivertnotehandler.cpp Tue Aug 31 15:45:17 2010 +0300 @@ -0,0 +1,195 @@ +/* +* 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" +/* +* 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 "ut_psuidivertnotehandler.h" +#include "psuidivertnotehandler.h" +#include "psetcalldivertingwrapper.h" +#include "qtestmains60.h" +#include + +class CPsetContainer +{ +public: + CPsetContainer(){}; + ~CPsetContainer(){}; +}; + +/*QString hbTrId(const char *id, int n) +{ + SMC_MOCK_METHOD2( QString, const char *, id, int, n ) +}*/ + + +/*! + UT_psuidivertnotehandler::UT_psuidivertnotehandler + */ +UT_psuidivertnotehandler::UT_psuidivertnotehandler() +{ + +} + +/*! + UT_psuidivertnotehandler::~UT_psuidivertnotehandler + */ +UT_psuidivertnotehandler::~UT_psuidivertnotehandler() +{ + +} + +/*! + UT_psuidivertnotehandler::init + */ +void UT_psuidivertnotehandler::init() +{ + initialize(); +} + +/*! + UT_psuidivertnotehandler::cleanup + */ +void UT_psuidivertnotehandler::cleanup() +{ + reset(); +} + +/*! + UT_psuidivertnotehandler::t_memleak + */ +void UT_psuidivertnotehandler::t_memleak() +{ + +} + +/*! + UT_psuidivertnotehandler::t_construction + */ +void UT_psuidivertnotehandler::t_construction() +{ + expect("QObject::connect").times(4); + CPsetContainer psetContainer; + PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this); + PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper); + delete divertHandler; + delete mockDivertWrapper; + QVERIFY(verify()); +} + +void UT_psuidivertnotehandler::t_handleDivertingChanged() +{ + CPsetContainer psetContainer; + PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this); + PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper); + + // Divert activated, plural false + PSCallDivertingCommand testCommand; + testCommand.iStatus = DivertingStatusActive; + expect("PsUiNotes::showGlobalNotificationDialog"); + divertHandler->handleDivertingChanged(testCommand, false); + QVERIFY(verify()); + + // Divert activated, plural true + testCommand.iStatus = DivertingStatusActive; + expect("PsUiNotes::showGlobalNotificationDialog"); + divertHandler->handleDivertingChanged(testCommand, true); + QVERIFY(verify()); + + // Divert deactivated, plural false + testCommand.iStatus = DivertingStatusInactive; + expect("PsUiNotes::showGlobalNotificationDialog"); + divertHandler->handleDivertingChanged(testCommand, false); + QVERIFY(verify()); + + // Divert deactivated, plural true + testCommand.iStatus = DivertingStatusInactive; + expect("PsUiNotes::showGlobalNotificationDialog"); + divertHandler->handleDivertingChanged(testCommand, true); + QVERIFY(verify()); + + // Divert status unknown + testCommand.iStatus = DivertingStatusUnknown; + expect("PsUiNotes::showGlobalNotificationDialog"); + divertHandler->handleDivertingChanged(testCommand, true); + QVERIFY(verify()); + + delete divertHandler; + delete mockDivertWrapper; +} + +void UT_psuidivertnotehandler::t_handleDivertingStatus() +{ + CPsetContainer psetContainer; + PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this); + PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper); + QList divertList; + + expect("PsUiNotes::showCallDivertDetails").with(divertList); + divertHandler->handleDivertingStatus(divertList,false); + + QVERIFY(verify()); + delete divertHandler; + delete mockDivertWrapper; +} + +void UT_psuidivertnotehandler::t_handleDivertingError() +{ + CPsetContainer psetContainer; + PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this); + PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper); + int errorCode = -1; + expect("PsUiNotes::cancelNote"); + expect("PsUiNotes::showGlobalErrorNote"); + divertHandler->handleDivertingError(errorCode); + + QVERIFY(verify()); + delete divertHandler; + delete mockDivertWrapper; +} + +void UT_psuidivertnotehandler::t_handleCFRequesting() +{ + CPsetContainer psetContainer; + PSetCallDivertingWrapper *mockDivertWrapper = new PSetCallDivertingWrapper(psetContainer,this); + PsUiDivertNoteHandler *divertHandler = new PsUiDivertNoteHandler(*mockDivertWrapper); + + bool ongoing = true; + bool interrupted = false; + expect("PsUiNotes::showGlobalProgressNote"); + divertHandler->handleCFRequesting(ongoing,interrupted); + QVERIFY(verify()); + + ongoing = false; + interrupted = true; + expect("PsUiNotes::cancelNote").times(2); + divertHandler->handleCFRequesting(ongoing,interrupted); + QVERIFY(verify()); + + ongoing = false; + interrupted = false; + expect("PsUiNotes::cancelNote"); + divertHandler->handleCFRequesting(ongoing,interrupted); + QVERIFY(verify()); + + delete divertHandler; + delete mockDivertWrapper; +} + +QTEST_MAIN_S60(UT_psuidivertnotehandler)