diff -r bab96b7ed1a4 -r f39ed5e045e0 phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp --- a/phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp Tue Jun 15 14:14:38 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,403 +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 -#include -#include "qtestmains60.h" -#include -#include -#include "ut_infowidgetnetworkhandler.h" -#define private public -#include "infowidgetnetworkhandler.h" - -#define EXPECT_EXCEPTION(statements) \ -{ \ - bool exceptionDetected = false; \ - try { \ - statements \ - } catch (...) { \ - exceptionDetected = true; \ - } \ - QVERIFY(true == exceptionDetected); \ -} - -const QString KHomeZoneTextTag("HomeZoneText0"); // max length 13 -const TNWViagIndicatorType - KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone; - -const QString KMcnName("McnNameMcnNameMcnNam"); // max length 20 -const TNWMCNIndicatorType - KMcnIndicatorType = ENWMCNIndicatorTypeActive; - - -/*! - UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler - */ -UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler() - : - m_networkHandler(0) -{ - -} - - -/*! - UT_InfoWidgetNetworkHandler::~UT_InfoWidgetNetworkHandler - */ -UT_InfoWidgetNetworkHandler::~UT_InfoWidgetNetworkHandler() -{ - delete m_networkHandler; -} - -/*! - UT_InfoWidgetNetworkHandler::doLeaveL - */ -void UT_InfoWidgetNetworkHandler::doLeaveL() -{ - User::Leave(KErrGeneral); -} - -/*! - UT_InfoWidgetNetworkHandler::generateException - */ -void UT_InfoWidgetNetworkHandler::generateException() -{ - throw std::bad_alloc(); -} - -/*! - UT_InfoWidgetNetworkHandler::init - */ -void UT_InfoWidgetNetworkHandler::init() -{ - initialize(); - - SmcDefaultValue::SetL(""); - SmcDefaultValue::SetL(""); - QVariant i(1); - EXPECT(XQSettingsManager::readItemValue).returns(i); - EXPECT(CreateL).willOnce(invoke(this, &initializeNetworkInfo)); - m_networkHandler = new InfoWidgetNetworkHandler(); - - QVERIFY(verify()); -} - - -/*! - UT_InfoWidgetNetworkHandler::cleanup - */ -void UT_InfoWidgetNetworkHandler::cleanup() -{ - reset(); - - QVariant i(1); - EXPECT(XQSettingsManager::readItemValue).returns(i); - delete m_networkHandler; - m_networkHandler = 0; - - QVERIFY(verify()); -} - -/*! - UT_InfoWidgetNetworkHandler::t_homeZoneTextTag - */ -void UT_InfoWidgetNetworkHandler::t_homeZoneTextTag() -{ - QVariant i(1); - EXPECT(XQSettingsManager::readItemValue).returns(i); - - QVERIFY(m_networkHandler->homeZoneTextTag() == KHomeZoneTextTag); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_homeZoneIndicatorType - */ -void UT_InfoWidgetNetworkHandler::t_homeZoneIndicatorType() -{ - QVERIFY( - m_networkHandler->homeZoneIndicatorType() == KHomeZoneIndicatorType); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_mcnName - */ -void UT_InfoWidgetNetworkHandler::t_mcnName() -{ - QVERIFY(m_networkHandler->mcnName() == KMcnName); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_mcnIndicatorType - */ -void UT_InfoWidgetNetworkHandler::t_mcnIndicatorType() -{ - QVERIFY(m_networkHandler->mcnIndicatorType() == KMcnIndicatorType); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_isOnline - */ -void UT_InfoWidgetNetworkHandler::t_isOnline() -{ - m_networkHandler->m_nwInfo.iRegistrationStatus = - static_cast(ENWRegisteredBusy); - QVERIFY(m_networkHandler->isOnline() == true); - m_networkHandler->m_nwInfo.iRegistrationStatus = - static_cast(ENWRegisteredOnHomeNetwork); - QVERIFY(m_networkHandler->isOnline() == true); - m_networkHandler->m_nwInfo.iRegistrationStatus = - static_cast(ENWRegisteredRoaming); - QVERIFY(m_networkHandler->isOnline() == true); - - m_networkHandler->m_nwInfo.iRegistrationStatus = - static_cast(ENWRegistrationUnknown); - QVERIFY(m_networkHandler->isOnline() == false); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_networkRegistrationStatus - */ -void UT_InfoWidgetNetworkHandler::t_networkRegistrationStatus() -{ - m_networkHandler->m_nwInfo.iRegistrationStatus = - static_cast(ENWRegistrationUnknown); - QVERIFY(m_networkHandler->networkRegistrationStatus() == 0); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_HandleNetworkMessage - */ -void UT_InfoWidgetNetworkHandler::t_HandleNetworkMessage() -{ - QSignalSpy spy(m_networkHandler, SIGNAL(networkDataChanged())); - - // TODO: investigate, which messages indicate cell info change -// ACCEPTED MESSAGES - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageCurrentCellInfoMessage); - -// MESSAGES TO BE FILTERED OUT -// COMMON NETWORK MESSAGES 0 - 99 - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkInfoChange); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkModeChange); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkRegistrationStatusChange); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageProgrammableOperatorInfoChange); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkProviderNameChange); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageServiceProviderNameChange); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageProgrammableOperatorInfoUpdating); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkProviderNameUpdating); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageServiceProviderNameUpdating); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageAllowRefresh); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkSelectionSettingChange); -// GSM SPECIFIC MESSAGES 100 - 199 - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkCellReselection); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkConnectionFailure); -// m_networkHandler->HandleNetworkMessage( -// MNWMessageObserver::ENWMessageCurrentCellInfoMessage); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageCurrentHomeZoneMessage); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkIndicatorChange); -// CDMA SPECIFIC MESSAGES 200 - 299 - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageNetworkEmergencyMode); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageVoicePrivacyStatusChange); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageStartSystemSearchRequestCompleteOk); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageStartSystemSearchRequestCompleteFail); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageStopProtocolStackRequestCompleteOk); - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageStopProtocolStackRequestCompleteFail); - - const int KExpectedNumOfSignalEmissions = 3; - QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions); - - const QList &arguments = spy.at(0); - QCOMPARE(arguments.count(), 0); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_HandleNetworkMessageExceptionWhileEmittingSignal - */ -void UT_InfoWidgetNetworkHandler::t_HandleNetworkMessageExceptionWhileEmittingSignal() -{ - QObject::connect( - m_networkHandler, SIGNAL(networkDataChanged()), - this, SLOT(generateException())); - - m_networkHandler->HandleNetworkMessage( - MNWMessageObserver::ENWMessageCurrentCellInfoMessage); - - QVERIFY(verify()); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_HandleNetworkError - */ -Q_DECLARE_METATYPE(MNWMessageObserver::TNWOperation) -void UT_InfoWidgetNetworkHandler::t_HandleNetworkError() -{ - QSignalSpy spy(m_networkHandler, SIGNAL(networkError(int, int))); - qRegisterMetaType - ("MNWMessageObserver::TNWOperation"); - - const int errorCode = -4; - MNWMessageObserver::TNWOperation operation = - MNWMessageObserver::ENWGetServiceProviderName; - m_networkHandler->HandleNetworkError(operation, errorCode); - - operation = MNWMessageObserver::ENWNone; - m_networkHandler->HandleNetworkError(operation, errorCode); - - const int KExpectedNumOfSignalEmissions = 2; - QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions); - const QList &arguments = spy.at(0); - QCOMPARE(arguments.count(), 2); - - QCOMPARE( - qvariant_cast(arguments.at(0)), - operation); - QCOMPARE(arguments.at(1).toInt(), errorCode); -} - - -/*! - UT_InfoWidgetNetworkHandler::t_HandleNetworkErrorExceptionWhileEmittingSignal - */ -void UT_InfoWidgetNetworkHandler::t_HandleNetworkErrorExceptionWhileEmittingSignal() -{ - QObject::connect( - m_networkHandler, SIGNAL(networkError(int, int)), - this, SLOT(generateException())); - - MNWMessageObserver::TNWOperation operation = MNWMessageObserver::ENWNone; - const int errorCode = -4; - m_networkHandler->HandleNetworkError(operation, errorCode); - - QVERIFY(verify()); -} - - -/*! - UT_InfoWidgetNetworkHandler::initializeNetworkInfo - */ -void UT_InfoWidgetNetworkHandler::initializeNetworkInfo( - MNWMessageObserver& /*aObserver*/, TNWInfo& aTNWInfo) -{ - aTNWInfo.iViagTextTag.Copy(KHomeZoneTextTag.utf16()); - aTNWInfo.iViagIndicatorType = KHomeZoneIndicatorType; - - aTNWInfo.iMCNName.Copy(KMcnName.utf16()); - aTNWInfo.iMCNIndicatorType = KMcnIndicatorType; -} - -/*! - UT_InfoWidgetNetworkHandler::t_suspend - */ -void UT_InfoWidgetNetworkHandler::t_suspend() -{ - QVariant i(0); - EXPECT(XQSettingsManager::readItemValue).returns(i); - m_networkHandler->suspend(); - - QVERIFY(verify()); -} - -/*! - UT_InfoWidgetNetworkHandler::t_resume - */ -void UT_InfoWidgetNetworkHandler::t_resume() -{ - QVariant i(0); - bool b = true; - EXPECT(XQSettingsManager::readItemValue).returns(i); - EXPECT(XQSettingsManager::writeItemValue).returns(b); - m_networkHandler->resume(); - - QVERIFY(verify()); -} - -/*! - UT_InfoWidgetNetworkHandler::t_serviceProviderName - */ -void UT_InfoWidgetNetworkHandler::t_serviceProviderName() -{ - QString s = ""; - QCOMPARE(m_networkHandler->serviceProviderName(), s); -} - -/*! - UT_InfoWidgetNetworkHandler::t_serviceProviderNameDisplayRequired - */ -void UT_InfoWidgetNetworkHandler::t_serviceProviderNameDisplayRequired() -{ - m_networkHandler->m_nwInfo.iServiceProviderNameDisplayReq = - RMobilePhone::KDisplaySPNRequired; - QVERIFY(m_networkHandler->serviceProviderNameDisplayRequired() == true); - - m_networkHandler->m_nwInfo.iServiceProviderNameDisplayReq = - RMobilePhone::KDisplaySPNNotRequired; - QVERIFY(m_networkHandler->serviceProviderNameDisplayRequired() == false); -} - -/*! - UT_InfoWidgetNetworkHandler::t_logCurrentInfo - */ -void UT_InfoWidgetNetworkHandler::t_logCurrentInfo() -{ - m_networkHandler->logCurrentInfo(); - - QVERIFY(verify()); -} - -/*! - UT_InfoWidgetNetworkHandler::t_createLeave - */ -void UT_InfoWidgetNetworkHandler::t_createLeave() -{ - QVariant i(1); - EXPECT(XQSettingsManager::readItemValue).returns(i); - EXPECT(CreateL) - .willOnce(invokeWithoutArguments(this, &doLeaveL)); - - EXPECT_EXCEPTION(InfoWidgetNetworkHandler * p = new InfoWidgetNetworkHandler();); -} - -QTEST_MAIN_S60(UT_InfoWidgetNetworkHandler)