phoneplugins/infowidgetplugin/infowidgetprovider/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp
branchGCC_SURGE
changeset 51 f39ed5e045e0
parent 40 bab96b7ed1a4
parent 46 bc5a64e5bc3c
equal deleted inserted replaced
40:bab96b7ed1a4 51:f39ed5e045e0
     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 #include "ut_infowidgetengine.h"
       
    18 #include "infowidgetengine.h"
       
    19 #include "qtestmains60.h"
       
    20 #include "infowidgetpreferences.h"
       
    21 
       
    22 // mocked dependencies of the class under test
       
    23 #include "infowidgetnetworkhandler.h"
       
    24 #include "infowidgetsathandler.h"
       
    25 
       
    26 const QString KSpnName("Spn name");    // 
       
    27 
       
    28 const QString KHomeZoneTextTag("HomeZoneText0");    // max length 13
       
    29 const TNWViagIndicatorType 
       
    30     KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone;
       
    31 
       
    32 const QString KMcnName("McnNameMcnNameMcnNam");     // max length 20 
       
    33 const TNWMCNIndicatorType 
       
    34     KMcnIndicatorType = ENWMCNIndicatorTypeActive;
       
    35 
       
    36 /*!
       
    37   UT_InfoWidgetEngine::UT_InfoWidgetEngine
       
    38  */
       
    39 UT_InfoWidgetEngine::UT_InfoWidgetEngine() 
       
    40     : 
       
    41     m_infoWidgetEngine(0)
       
    42 {
       
    43     
       
    44 }
       
    45 
       
    46 /*!
       
    47   UT_InfoWidgetEngine::~UT_InfoWidgetEngine
       
    48  */
       
    49 UT_InfoWidgetEngine::~UT_InfoWidgetEngine()
       
    50 {
       
    51     delete m_infoWidgetEngine;
       
    52 }
       
    53 
       
    54 /*!
       
    55   UT_InfoWidgetEngine::init
       
    56  */
       
    57 void UT_InfoWidgetEngine::init()
       
    58 {
       
    59     initialize();
       
    60     
       
    61     SmcDefaultValue<QString>::SetL("");
       
    62     SmcDefaultValue<const QString & >::SetL("");
       
    63     
       
    64     EXPECT(InfoWidgetNetworkHandler::logCurrentInfo);
       
    65     EXPECT(InfoWidgetNetworkHandler::isOnline)
       
    66         .returns(true);    
       
    67     
       
    68     EXPECT(InfoWidgetNetworkHandler::serviceProviderName)
       
    69         .returns(KSpnName);
       
    70     EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired)
       
    71         .returns(true);
       
    72 
       
    73     EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName);
       
    74     EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType)
       
    75         .returns(KMcnIndicatorType);
       
    76 
       
    77     EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType)
       
    78         .returns(KHomeZoneIndicatorType);
       
    79     EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag)
       
    80         .returns(KHomeZoneTextTag);
       
    81     
       
    82     m_infoWidgetEngine = new InfoWidgetEngine();
       
    83     
       
    84     QVERIFY(verify());
       
    85 }
       
    86 
       
    87 /*!
       
    88   UT_InfoWidgetEngine::cleanup
       
    89  */
       
    90 void UT_InfoWidgetEngine::cleanup()
       
    91 {
       
    92     reset();
       
    93     
       
    94     delete m_infoWidgetEngine;
       
    95     m_infoWidgetEngine = 0;
       
    96 }
       
    97 
       
    98 /*!
       
    99   UT_InfoWidgetEngine::t_modelData
       
   100  */
       
   101 void UT_InfoWidgetEngine::t_modelData()
       
   102 {
       
   103     const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData();
       
   104     QVERIFY(data.serviceProviderName() == KSpnName);
       
   105     QVERIFY(data.serviceProviderNameDisplayRequired() == true);
       
   106     QVERIFY(data.homeZoneTextTag() == KHomeZoneTextTag);
       
   107     QVERIFY(data.homeZoneIndicatorType() == KHomeZoneIndicatorType);
       
   108     QVERIFY(data.mcnName() == KMcnName);
       
   109     QVERIFY(data.mcnIndicatorType() == KMcnIndicatorType);
       
   110 }
       
   111 
       
   112 /*!
       
   113   UT_InfoWidgetEngine::t_updateNetworkDataToModel
       
   114  */
       
   115 void UT_InfoWidgetEngine::t_updateNetworkDataToModel()
       
   116 {
       
   117     // Test: network status is online
       
   118     EXPECT(InfoWidgetNetworkHandler::logCurrentInfo);
       
   119     EXPECT(InfoWidgetNetworkHandler::isOnline)
       
   120         .returns(true);    
       
   121     
       
   122     EXPECT(InfoWidgetNetworkHandler::serviceProviderName)
       
   123         .returns(KSpnName);
       
   124     EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired)
       
   125         .returns(true);
       
   126 
       
   127     EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName);
       
   128     EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType)
       
   129         .returns(KMcnIndicatorType);
       
   130 
       
   131     EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType)
       
   132         .returns(KHomeZoneIndicatorType);
       
   133     EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag)
       
   134         .returns(KHomeZoneTextTag);
       
   135     
       
   136     QSignalSpy spy(m_infoWidgetEngine, SIGNAL(modelChanged()));
       
   137     m_infoWidgetEngine->updateNetworkDataToModel();
       
   138     
       
   139     const int KExpectedNumOfSignalEmissions = 1;
       
   140     QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
       
   141     const QList<QVariant> &arguments = spy.takeFirst(); 
       
   142     QCOMPARE(arguments.count(), 0);
       
   143     
       
   144     QVERIFY(verify());
       
   145     
       
   146     // Test: network status is offline
       
   147     EXPECT(InfoWidgetNetworkHandler::logCurrentInfo);
       
   148     EXPECT(InfoWidgetNetworkHandler::isOnline)
       
   149           .returns(false);    
       
   150     EXPECT(InfoWidgetNetworkHandler::serviceProviderName).times(0);
       
   151     EXPECT(InfoWidgetNetworkHandler::serviceProviderNameDisplayRequired).times(0);
       
   152     EXPECT(InfoWidgetNetworkHandler::mcnName).times(0);
       
   153     EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType).times(0);
       
   154     EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType).times(0);
       
   155     EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag).times(0);
       
   156       
       
   157     m_infoWidgetEngine->updateNetworkDataToModel();
       
   158     QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
       
   159     const QList<QVariant> &arguments2 = spy.takeFirst(); 
       
   160     QCOMPARE(arguments2.count(), 0);
       
   161     
       
   162     QVERIFY(verify());
       
   163     
       
   164     const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData();
       
   165     QVERIFY(data.serviceProviderName() == QString(""));
       
   166     QVERIFY(data.homeZoneTextTag() == QString(""));
       
   167     QVERIFY(data.mcnName() == QString(""));
       
   168     
       
   169 }
       
   170 
       
   171 /*!
       
   172   UT_InfoWidgetEngine::t_updateSatDataToModel
       
   173  */
       
   174 void UT_InfoWidgetEngine::t_updateSatDataToModel()
       
   175 {
       
   176     EXPECT(InfoWidgetSatHandler::satDisplayText)
       
   177         .returns(QString(""));
       
   178     
       
   179     m_infoWidgetEngine->updateSatDataToModel();
       
   180 }
       
   181 
       
   182 /*!
       
   183   UT_InfoWidgetEngine::t_updateLineDataToModel
       
   184  */
       
   185 void UT_InfoWidgetEngine::t_updateLineDataToModel()
       
   186 {
       
   187     m_infoWidgetEngine->updateLineDataToModel();
       
   188     
       
   189     QVERIFY(verify());
       
   190 }
       
   191 
       
   192 /*!
       
   193   UT_InfoWidgetEngine::t_handleNetworkError
       
   194  */
       
   195 void UT_InfoWidgetEngine::t_handleNetworkError()
       
   196 {
       
   197     m_infoWidgetEngine->handleNetworkError(0, 0);
       
   198     
       
   199     QVERIFY(verify());
       
   200 }
       
   201 
       
   202 /*!
       
   203   UT_InfoWidgetEngine::t_handleSatError
       
   204  */
       
   205 void UT_InfoWidgetEngine::t_handleSatError()
       
   206 {
       
   207     m_infoWidgetEngine->handleSatError(0, 0);
       
   208     
       
   209     QVERIFY(verify());
       
   210 }
       
   211 
       
   212 /*!
       
   213   UT_InfoWidgetEngine::t_handleLineError
       
   214  */
       
   215 void UT_InfoWidgetEngine::t_handleLineError()
       
   216 {
       
   217     m_infoWidgetEngine->handleLineError(0, 0);
       
   218     
       
   219     QVERIFY(verify());
       
   220 }
       
   221 
       
   222 /*!
       
   223   UT_InfoWidgetEngine::t_handleLineError
       
   224  */
       
   225 void UT_InfoWidgetEngine::t_logModelData()
       
   226 {
       
   227     m_infoWidgetEngine->logModelData();
       
   228     
       
   229     QVERIFY(verify());
       
   230 }
       
   231 
       
   232 /*!
       
   233   UT_InfoWidgetEngine::t_preferenceChanged
       
   234  */
       
   235 void UT_InfoWidgetEngine::t_preferenceChanged()
       
   236 {
       
   237     m_infoWidgetEngine->preferenceChanged
       
   238         (InfoWidgetPreferences::DisplayMcn,
       
   239             InfoWidgetPreferences::DisplayOn);
       
   240 
       
   241     m_infoWidgetEngine->preferenceChanged
       
   242         (InfoWidgetPreferences::DisplayMcn,
       
   243             InfoWidgetPreferences::DisplayOff);
       
   244 
       
   245     m_infoWidgetEngine->preferenceChanged
       
   246         (InfoWidgetPreferences::DisplaySatText,
       
   247             InfoWidgetPreferences::DisplayOn);        
       
   248 
       
   249     m_infoWidgetEngine->preferenceChanged
       
   250         (InfoWidgetPreferences::DisplaySatText,
       
   251             InfoWidgetPreferences::DisplayOff);        
       
   252 
       
   253     m_infoWidgetEngine->preferenceChanged(-1,
       
   254             InfoWidgetPreferences::DisplayOff);        
       
   255 
       
   256     QVERIFY(verify());
       
   257 }
       
   258 
       
   259 /*!
       
   260   UT_InfoWidgetEngine::t_suspend
       
   261  */
       
   262 void UT_InfoWidgetEngine::t_suspend()
       
   263 {
       
   264     m_infoWidgetEngine->suspend();
       
   265         
       
   266     QVERIFY(verify());
       
   267 }
       
   268 
       
   269 /*!
       
   270   UT_InfoWidgetEngine::t_resume
       
   271  */
       
   272 void UT_InfoWidgetEngine::t_resume()
       
   273 {
       
   274     m_infoWidgetEngine->resume();
       
   275         
       
   276     QVERIFY(verify());
       
   277 }
       
   278 
       
   279 QTEST_MAIN_S60(UT_InfoWidgetEngine)