clock/tsrc/unittest_clockengines/src/unittest_clockengines.cpp
author hgs
Fri, 15 Oct 2010 12:10:36 +0530
changeset 83 5aadd1120515
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
83
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of the License "Symbian Foundation License v1.0"
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description:  TimeZoneClient unit test class.
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// System includes
hgs
parents:
diff changeset
    19
#include <QtTest/QtTest>
hgs
parents:
diff changeset
    20
#include <e32base.h>
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
// User includes
hgs
parents:
diff changeset
    23
#include "clockserverclt.h"
hgs
parents:
diff changeset
    24
#include "clockserver.h"
hgs
parents:
diff changeset
    25
#include "clocktimesourceinterface.h"
hgs
parents:
diff changeset
    26
#include "clocktimesourceinterface.hrh"
hgs
parents:
diff changeset
    27
#include "clocktimezoneresolver.h"
hgs
parents:
diff changeset
    28
#include "clockdatatypes.h"
hgs
parents:
diff changeset
    29
#include "unittest_clockengines.h"
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
// constants
hgs
parents:
diff changeset
    32
const int KNitzPluginId(0x200159A5);
hgs
parents:
diff changeset
    33
static const TUid KInvalidID = {0xA001234C};
hgs
parents:
diff changeset
    34
const int KClockServerMajorVN(1);
hgs
parents:
diff changeset
    35
const int KClockServerMinorVN(0);
hgs
parents:
diff changeset
    36
const int KClockServerBuildVN(1);
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
/*!
hgs
parents:
diff changeset
    39
	This function will be called before each testfunction is executed.
hgs
parents:
diff changeset
    40
 */
hgs
parents:
diff changeset
    41
void TestClockEngines::init()
hgs
parents:
diff changeset
    42
{   
hgs
parents:
diff changeset
    43
    // Create a clockserver session.
hgs
parents:
diff changeset
    44
	TRAPD(mError, mClockServerCltHandle = new RClkSrvInterface());
hgs
parents:
diff changeset
    45
	mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
    46
	Q_UNUSED(mError)
hgs
parents:
diff changeset
    47
	
hgs
parents:
diff changeset
    48
	Q_ASSERT(!mError);
hgs
parents:
diff changeset
    49
	Q_ASSERT(mClockServerCltHandle);
hgs
parents:
diff changeset
    50
}
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
/*!
hgs
parents:
diff changeset
    53
	This function will be called after every testfunction.
hgs
parents:
diff changeset
    54
 */
hgs
parents:
diff changeset
    55
void TestClockEngines::cleanup()
hgs
parents:
diff changeset
    56
{
hgs
parents:
diff changeset
    57
	if (mClockServerCltHandle) {
hgs
parents:
diff changeset
    58
	    delete mClockServerCltHandle;
hgs
parents:
diff changeset
    59
	    mClockServerCltHandle = NULL;
hgs
parents:
diff changeset
    60
	}
hgs
parents:
diff changeset
    61
}
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
/*!
hgs
parents:
diff changeset
    64
    Tests the api TestTimezoneClient::testConnectToServer.
hgs
parents:
diff changeset
    65
 */
hgs
parents:
diff changeset
    66
void TestClockEngines::testConnectToServer()
hgs
parents:
diff changeset
    67
{    
hgs
parents:
diff changeset
    68
    int result = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
    69
    QVERIFY(KErrNone == result);
hgs
parents:
diff changeset
    70
    
hgs
parents:
diff changeset
    71
    mClockServerCltHandle->Close();
hgs
parents:
diff changeset
    72
}
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
/*!
hgs
parents:
diff changeset
    75
    Tests the api TestTimezoneClient::testActiveProtocol.
hgs
parents:
diff changeset
    76
 */
hgs
parents:
diff changeset
    77
void TestClockEngines::testActiveProtocol()
hgs
parents:
diff changeset
    78
{    
hgs
parents:
diff changeset
    79
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
    errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
    82
    if (errorCode == KErrNone) {
hgs
parents:
diff changeset
    83
        // To activate nitz protocol
hgs
parents:
diff changeset
    84
        errorCode = mClockServerCltHandle->ActivateProtocol(KNitzPluginId);
hgs
parents:
diff changeset
    85
        mClockServerCltHandle->Close();
hgs
parents:
diff changeset
    86
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
    87
    }
hgs
parents:
diff changeset
    88
    else {
hgs
parents:
diff changeset
    89
        QVERIFY(false);
hgs
parents:
diff changeset
    90
    }
hgs
parents:
diff changeset
    91
}
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
/*!
hgs
parents:
diff changeset
    94
    Tests the api TestTimezoneClient::testActiveProtocol.
hgs
parents:
diff changeset
    95
 */
hgs
parents:
diff changeset
    96
void TestClockEngines::testActivateAllProtocols()
hgs
parents:
diff changeset
    97
{    
hgs
parents:
diff changeset
    98
    TInt errorCode(KErrNotFound);
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
    errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   101
    if (errorCode == KErrNone) {
hgs
parents:
diff changeset
   102
        // To activate nitz protocol
hgs
parents:
diff changeset
   103
        errorCode = mClockServerCltHandle->ActivateAllProtocols();;
hgs
parents:
diff changeset
   104
        mClockServerCltHandle->Close();
hgs
parents:
diff changeset
   105
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   106
    }
hgs
parents:
diff changeset
   107
    else {
hgs
parents:
diff changeset
   108
        QVERIFY(false);
hgs
parents:
diff changeset
   109
    }
hgs
parents:
diff changeset
   110
}
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
/*!
hgs
parents:
diff changeset
   113
    Tests the api TestTimezoneClient::testIsProtocolActive.
hgs
parents:
diff changeset
   114
 */
hgs
parents:
diff changeset
   115
void TestClockEngines::testIsProtocolActive()
hgs
parents:
diff changeset
   116
{
hgs
parents:
diff changeset
   117
    // First connect and test for it.
hgs
parents:
diff changeset
   118
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   119
    if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   120
        int protocolActive(false);
hgs
parents:
diff changeset
   121
        
hgs
parents:
diff changeset
   122
        errorCode = mClockServerCltHandle->IsProtocolActive(KNitzPluginId, protocolActive);
hgs
parents:
diff changeset
   123
        mClockServerCltHandle->Close();
hgs
parents:
diff changeset
   124
        QVERIFY(true == protocolActive);              
hgs
parents:
diff changeset
   125
    } 
hgs
parents:
diff changeset
   126
    else{
hgs
parents:
diff changeset
   127
        QVERIFY(false);
hgs
parents:
diff changeset
   128
    }
hgs
parents:
diff changeset
   129
}
hgs
parents:
diff changeset
   130
hgs
parents:
diff changeset
   131
/*!
hgs
parents:
diff changeset
   132
    Tests the api TestTimezoneClient::testGetProtocolInfo.
hgs
parents:
diff changeset
   133
 */
hgs
parents:
diff changeset
   134
void TestClockEngines::testGetProtocolInfo()
hgs
parents:
diff changeset
   135
{
hgs
parents:
diff changeset
   136
    // First connect and test for it.
hgs
parents:
diff changeset
   137
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
    if (KErrNone == errorCode) {        
hgs
parents:
diff changeset
   140
        errorCode = mClockServerCltHandle->ActivateProtocol(KNitzPluginId);
hgs
parents:
diff changeset
   141
        if (KErrNone == errorCode) {            
hgs
parents:
diff changeset
   142
            STimeAttributes timeAttributes;
hgs
parents:
diff changeset
   143
            errorCode = mClockServerCltHandle->GetProtocolInfo(0x200159A5, timeAttributes);
hgs
parents:
diff changeset
   144
        }       
hgs
parents:
diff changeset
   145
    QVERIFY(KErrNone == errorCode);   
hgs
parents:
diff changeset
   146
    mClockServerCltHandle->Close();  
hgs
parents:
diff changeset
   147
    }               
hgs
parents:
diff changeset
   148
}
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
/*!
hgs
parents:
diff changeset
   151
    Tests the api TestTimezoneClient::testGetCurrentMcc.
hgs
parents:
diff changeset
   152
 */
hgs
parents:
diff changeset
   153
void TestClockEngines::testGetCurrentMcc()
hgs
parents:
diff changeset
   154
{
hgs
parents:
diff changeset
   155
    
hgs
parents:
diff changeset
   156
    // First connect and test for it.
hgs
parents:
diff changeset
   157
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
    if (KErrNone == errorCode) {        
hgs
parents:
diff changeset
   160
        int currentMcc;
hgs
parents:
diff changeset
   161
        errorCode = mClockServerCltHandle->GetCurrentMcc(currentMcc);
hgs
parents:
diff changeset
   162
        mClockServerCltHandle->Close();
hgs
parents:
diff changeset
   163
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   164
    }
hgs
parents:
diff changeset
   165
}
hgs
parents:
diff changeset
   166
hgs
parents:
diff changeset
   167
/*!
hgs
parents:
diff changeset
   168
    Tests the api TestTimezoneClient::testGetCurrentTimeZoneId.
hgs
parents:
diff changeset
   169
 */
hgs
parents:
diff changeset
   170
void TestClockEngines::testGetCurrentTimeZoneId()
hgs
parents:
diff changeset
   171
{
hgs
parents:
diff changeset
   172
    // First connect and test for it.
hgs
parents:
diff changeset
   173
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   174
hgs
parents:
diff changeset
   175
    if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   176
        errorCode = mClockServerCltHandle->ActivateProtocol(KNitzPluginId);
hgs
parents:
diff changeset
   177
        if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   178
            int currentTimeZoneId;
hgs
parents:
diff changeset
   179
            errorCode = mClockServerCltHandle->GetCurrentTimeZondId(currentTimeZoneId);                
hgs
parents:
diff changeset
   180
            QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   181
        }
hgs
parents:
diff changeset
   182
    mClockServerCltHandle->Close();    
hgs
parents:
diff changeset
   183
    }       
hgs
parents:
diff changeset
   184
}
hgs
parents:
diff changeset
   185
hgs
parents:
diff changeset
   186
/*!
hgs
parents:
diff changeset
   187
    Tests the api TestTimezoneClient::testDeActivateProtocol.
hgs
parents:
diff changeset
   188
 */
hgs
parents:
diff changeset
   189
void TestClockEngines::testDeActivateProtocol()
hgs
parents:
diff changeset
   190
{
hgs
parents:
diff changeset
   191
    // First connect and test for it.
hgs
parents:
diff changeset
   192
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   193
hgs
parents:
diff changeset
   194
    if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   195
        errorCode = mClockServerCltHandle->DeActivateProtocol(KNitzPluginId);
hgs
parents:
diff changeset
   196
        mClockServerCltHandle->Close();
hgs
parents:
diff changeset
   197
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   198
    }        
hgs
parents:
diff changeset
   199
}
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
/*!
hgs
parents:
diff changeset
   202
    Tests the api TestTimezoneClient::testDeActivateProtocol.
hgs
parents:
diff changeset
   203
 */
hgs
parents:
diff changeset
   204
void TestClockEngines::testDeActivateAllProtocols()
hgs
parents:
diff changeset
   205
{
hgs
parents:
diff changeset
   206
    // First connect and test for it.
hgs
parents:
diff changeset
   207
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   208
    if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   209
        errorCode = mClockServerCltHandle->ActivateAllProtocols();
hgs
parents:
diff changeset
   210
        
hgs
parents:
diff changeset
   211
       if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   212
           errorCode = mClockServerCltHandle->DeActivateAllProtocols();
hgs
parents:
diff changeset
   213
           mClockServerCltHandle->Close();
hgs
parents:
diff changeset
   214
           QVERIFY(KErrNone == errorCode);                
hgs
parents:
diff changeset
   215
       }    
hgs
parents:
diff changeset
   216
    }
hgs
parents:
diff changeset
   217
}
hgs
parents:
diff changeset
   218
hgs
parents:
diff changeset
   219
/*!
hgs
parents:
diff changeset
   220
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone1.
hgs
parents:
diff changeset
   221
 */
hgs
parents:
diff changeset
   222
void TestClockEngines::tesTimeZoneResolverSingleZone1()
hgs
parents:
diff changeset
   223
{
hgs
parents:
diff changeset
   224
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   225
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   226
    int actualTzId = 1944;
hgs
parents:
diff changeset
   227
   
hgs
parents:
diff changeset
   228
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   229
        mTimeInfo.iUtcDateTime = TDateTime(2008, TMonth( EJanuary ), 27, 10, 0, 0, 0);
hgs
parents:
diff changeset
   230
        mTimeInfo.iTimeZoneOffset = 330;
hgs
parents:
diff changeset
   231
        mTimeInfo.iDstOffset = 0;
hgs
parents:
diff changeset
   232
        mMCC = _L("404");
hgs
parents:
diff changeset
   233
    
hgs
parents:
diff changeset
   234
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   235
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   236
        QVERIFY(actualTzId == mTzId);
hgs
parents:
diff changeset
   237
        delete mTzResolver;
hgs
parents:
diff changeset
   238
    }   
hgs
parents:
diff changeset
   239
}
hgs
parents:
diff changeset
   240
/*!
hgs
parents:
diff changeset
   241
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone2.
hgs
parents:
diff changeset
   242
 */
hgs
parents:
diff changeset
   243
void TestClockEngines::tesTimeZoneResolverSingleZone2()
hgs
parents:
diff changeset
   244
{
hgs
parents:
diff changeset
   245
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   246
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   247
    
hgs
parents:
diff changeset
   248
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   249
        mTimeInfo.iUtcDateTime = TDateTime(2008, TMonth(EJanuary), 27, 10, 0, 0, 0);
hgs
parents:
diff changeset
   250
        mTimeInfo.iTimeZoneOffset = 300;
hgs
parents:
diff changeset
   251
        mTimeInfo.iDstOffset = 0;
hgs
parents:
diff changeset
   252
        
hgs
parents:
diff changeset
   253
        mMCC = _L( "404" );
hgs
parents:
diff changeset
   254
        
hgs
parents:
diff changeset
   255
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   256
        QVERIFY(KErrNotFound == errorCode);
hgs
parents:
diff changeset
   257
        QVERIFY(KErrNotFound == mTzId);
hgs
parents:
diff changeset
   258
        delete mTzResolver;
hgs
parents:
diff changeset
   259
   }    
hgs
parents:
diff changeset
   260
}
hgs
parents:
diff changeset
   261
hgs
parents:
diff changeset
   262
/*!
hgs
parents:
diff changeset
   263
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone3.
hgs
parents:
diff changeset
   264
 */
hgs
parents:
diff changeset
   265
void TestClockEngines::tesTimeZoneResolverSingleZone3()
hgs
parents:
diff changeset
   266
{
hgs
parents:
diff changeset
   267
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   268
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   269
    
hgs
parents:
diff changeset
   270
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   271
        mTimeInfo.iUtcDateTime = TDateTime(2008, TMonth( EJanuary ), 27, 10, 0, 0, 0);
hgs
parents:
diff changeset
   272
        mTimeInfo.iTimeZoneOffset = 330;
hgs
parents:
diff changeset
   273
        mTimeInfo.iDstOffset = 0;        
hgs
parents:
diff changeset
   274
        mMCC = _L("310");
hgs
parents:
diff changeset
   275
        
hgs
parents:
diff changeset
   276
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   277
        QVERIFY(KErrNotFound == errorCode);
hgs
parents:
diff changeset
   278
        QVERIFY(KErrNotFound == mTzId);
hgs
parents:
diff changeset
   279
        delete mTzResolver;
hgs
parents:
diff changeset
   280
    }    
hgs
parents:
diff changeset
   281
}
hgs
parents:
diff changeset
   282
hgs
parents:
diff changeset
   283
/*!
hgs
parents:
diff changeset
   284
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone4.
hgs
parents:
diff changeset
   285
 */
hgs
parents:
diff changeset
   286
void TestClockEngines::tesTimeZoneResolverSingleZone4()
hgs
parents:
diff changeset
   287
{
hgs
parents:
diff changeset
   288
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   289
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   290
    int actualTzId = 3048;
hgs
parents:
diff changeset
   291
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   292
        mTimeInfo.iUtcDateTime = TDateTime(2008, TMonth(EJanuary), 27, 10, 0, 0, 0);
hgs
parents:
diff changeset
   293
        mTimeInfo.iTimeZoneOffset = 300;
hgs
parents:
diff changeset
   294
        mTimeInfo.iDstOffset = 0;
hgs
parents:
diff changeset
   295
        mMCC = _L( "-1" );
hgs
parents:
diff changeset
   296
    
hgs
parents:
diff changeset
   297
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   298
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   299
        QVERIFY(actualTzId == mTzId);
hgs
parents:
diff changeset
   300
        delete mTzResolver;
hgs
parents:
diff changeset
   301
    }   
hgs
parents:
diff changeset
   302
}
hgs
parents:
diff changeset
   303
hgs
parents:
diff changeset
   304
/*!
hgs
parents:
diff changeset
   305
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone5.
hgs
parents:
diff changeset
   306
 */
hgs
parents:
diff changeset
   307
void TestClockEngines::tesTimeZoneResolverSingleZone5()
hgs
parents:
diff changeset
   308
{
hgs
parents:
diff changeset
   309
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   310
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   311
    int actualTzId = 1944;
hgs
parents:
diff changeset
   312
  
hgs
parents:
diff changeset
   313
    if(NULL != mTzResolver){
hgs
parents:
diff changeset
   314
       mTimeInfo.iUtcDateTime = TTime(KErrNotFound).DateTime();//TDateTime( 2008, TMonth( EJanuary ), 27, 10, 0, 0, 0 );
hgs
parents:
diff changeset
   315
       mTimeInfo.iTimeZoneOffset = KErrNotFound;
hgs
parents:
diff changeset
   316
       mTimeInfo.iDstOffset = KErrNotFound;
hgs
parents:
diff changeset
   317
       mMCC = _L( "404" );
hgs
parents:
diff changeset
   318
    
hgs
parents:
diff changeset
   319
       errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   320
       QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   321
       QVERIFY(actualTzId == mTzId);
hgs
parents:
diff changeset
   322
       delete mTzResolver;
hgs
parents:
diff changeset
   323
    }   
hgs
parents:
diff changeset
   324
}
hgs
parents:
diff changeset
   325
hgs
parents:
diff changeset
   326
/*!
hgs
parents:
diff changeset
   327
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone6.
hgs
parents:
diff changeset
   328
 */
hgs
parents:
diff changeset
   329
void TestClockEngines::tesTimeZoneResolverSingleZone6()
hgs
parents:
diff changeset
   330
{
hgs
parents:
diff changeset
   331
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   332
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   333
    
hgs
parents:
diff changeset
   334
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   335
        mTimeInfo.iUtcDateTime = TTime(KErrNotFound).DateTime();//TDateTime( 2008, TMonth( EJanuary ), 27, 10, 0, 0, 0 );
hgs
parents:
diff changeset
   336
        mTimeInfo.iTimeZoneOffset = KErrNotFound;
hgs
parents:
diff changeset
   337
        mTimeInfo.iDstOffset = KErrNotFound;
hgs
parents:
diff changeset
   338
        
hgs
parents:
diff changeset
   339
        mMCC = _L("-1");
hgs
parents:
diff changeset
   340
        
hgs
parents:
diff changeset
   341
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   342
        QVERIFY(KErrNotFound == errorCode);
hgs
parents:
diff changeset
   343
        QVERIFY(KErrNotFound == mTzId);
hgs
parents:
diff changeset
   344
        delete mTzResolver;
hgs
parents:
diff changeset
   345
    }    
hgs
parents:
diff changeset
   346
}
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
/*!
hgs
parents:
diff changeset
   349
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone7.
hgs
parents:
diff changeset
   350
 */
hgs
parents:
diff changeset
   351
void TestClockEngines::tesTimeZoneResolverSingleZone7()
hgs
parents:
diff changeset
   352
{
hgs
parents:
diff changeset
   353
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   354
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   355
    int actualTzId = 2744;
hgs
parents:
diff changeset
   356
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   357
        mTimeInfo.iUtcDateTime = TDateTime(2008, TMonth(EApril), 2, 10, 0, 0, 0);
hgs
parents:
diff changeset
   358
        mTimeInfo.iTimeZoneOffset = 0;
hgs
parents:
diff changeset
   359
        mTimeInfo.iDstOffset = 60;
hgs
parents:
diff changeset
   360
        mMCC = _L( "235" );
hgs
parents:
diff changeset
   361
    
hgs
parents:
diff changeset
   362
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   363
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   364
        QVERIFY(actualTzId == mTzId);
hgs
parents:
diff changeset
   365
        delete mTzResolver;
hgs
parents:
diff changeset
   366
    }   
hgs
parents:
diff changeset
   367
}
hgs
parents:
diff changeset
   368
hgs
parents:
diff changeset
   369
/*!
hgs
parents:
diff changeset
   370
    Tests the api TestTimezoneClient::tesTimeZoneResolverMultiZone1.
hgs
parents:
diff changeset
   371
*/ 
hgs
parents:
diff changeset
   372
void TestClockEngines::tesTimeZoneResolverMultiZone1()
hgs
parents:
diff changeset
   373
{
hgs
parents:
diff changeset
   374
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   375
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   376
    int actualTzId = 2416;
hgs
parents:
diff changeset
   377
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   378
        mTimeInfo.iUtcDateTime = TDateTime(2008, TMonth(EApril), 2, 10, 0, 0, 0);
hgs
parents:
diff changeset
   379
        mTimeInfo.iTimeZoneOffset = 480;
hgs
parents:
diff changeset
   380
        mTimeInfo.iDstOffset = 0;
hgs
parents:
diff changeset
   381
        mMCC = _L( "505" );
hgs
parents:
diff changeset
   382
    
hgs
parents:
diff changeset
   383
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   384
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   385
        QVERIFY(actualTzId == mTzId);
hgs
parents:
diff changeset
   386
        delete mTzResolver;
hgs
parents:
diff changeset
   387
    }   
hgs
parents:
diff changeset
   388
    
hgs
parents:
diff changeset
   389
}
hgs
parents:
diff changeset
   390
hgs
parents:
diff changeset
   391
/*!
hgs
parents:
diff changeset
   392
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone2.
hgs
parents:
diff changeset
   393
*/ 
hgs
parents:
diff changeset
   394
void TestClockEngines::tesTimeZoneResolverMultiZone2()
hgs
parents:
diff changeset
   395
{
hgs
parents:
diff changeset
   396
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   397
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   398
    
hgs
parents:
diff changeset
   399
    if(NULL != mTzResolver) {
hgs
parents:
diff changeset
   400
       mTimeInfo.iUtcDateTime = TDateTime(2008, TMonth( EApril ), 2, 10, 0, 0, 0);
hgs
parents:
diff changeset
   401
       mTimeInfo.iTimeZoneOffset = 480;
hgs
parents:
diff changeset
   402
       mTimeInfo.iDstOffset = 0;
hgs
parents:
diff changeset
   403
       mMCC = _L("9999");
hgs
parents:
diff changeset
   404
    
hgs
parents:
diff changeset
   405
       errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   406
       QVERIFY(KErrNotFound == errorCode);
hgs
parents:
diff changeset
   407
       QVERIFY(KErrNotFound == mTzId);
hgs
parents:
diff changeset
   408
       delete mTzResolver;
hgs
parents:
diff changeset
   409
    }   
hgs
parents:
diff changeset
   410
    
hgs
parents:
diff changeset
   411
}
hgs
parents:
diff changeset
   412
hgs
parents:
diff changeset
   413
/*!
hgs
parents:
diff changeset
   414
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone3.
hgs
parents:
diff changeset
   415
*/ 
hgs
parents:
diff changeset
   416
void TestClockEngines::tesTimeZoneResolverMultiZone3()
hgs
parents:
diff changeset
   417
{
hgs
parents:
diff changeset
   418
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   419
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   420
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   421
        mTimeInfo.iUtcDateTime = TTime(KErrNotFound).DateTime();
hgs
parents:
diff changeset
   422
        mTimeInfo.iTimeZoneOffset = KErrNotFound;
hgs
parents:
diff changeset
   423
        mTimeInfo.iDstOffset = KErrNotFound;
hgs
parents:
diff changeset
   424
        mMCC = _L("505");
hgs
parents:
diff changeset
   425
    
hgs
parents:
diff changeset
   426
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   427
        QVERIFY(KErrNotFound == errorCode);
hgs
parents:
diff changeset
   428
        QVERIFY(KErrNotFound == mTzId);
hgs
parents:
diff changeset
   429
        delete mTzResolver;
hgs
parents:
diff changeset
   430
    }   
hgs
parents:
diff changeset
   431
    
hgs
parents:
diff changeset
   432
}
hgs
parents:
diff changeset
   433
hgs
parents:
diff changeset
   434
/*!
hgs
parents:
diff changeset
   435
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone4.
hgs
parents:
diff changeset
   436
*/
hgs
parents:
diff changeset
   437
void TestClockEngines::tesTimeZoneResolverMultiZone4()
hgs
parents:
diff changeset
   438
{
hgs
parents:
diff changeset
   439
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   440
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   441
    
hgs
parents:
diff changeset
   442
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   443
        mTimeInfo.iUtcDateTime = TTime(KErrNotFound).DateTime();
hgs
parents:
diff changeset
   444
        mTimeInfo.iTimeZoneOffset = KErrNotFound;
hgs
parents:
diff changeset
   445
        mTimeInfo.iDstOffset = KErrNotFound;
hgs
parents:
diff changeset
   446
        mMCC = _L("9999");
hgs
parents:
diff changeset
   447
    
hgs
parents:
diff changeset
   448
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   449
        QVERIFY(KErrNotFound == errorCode);
hgs
parents:
diff changeset
   450
        QVERIFY(KErrNotFound == mTzId);
hgs
parents:
diff changeset
   451
        delete mTzResolver;
hgs
parents:
diff changeset
   452
    }       
hgs
parents:
diff changeset
   453
}
hgs
parents:
diff changeset
   454
hgs
parents:
diff changeset
   455
/*!
hgs
parents:
diff changeset
   456
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone5.
hgs
parents:
diff changeset
   457
*/
hgs
parents:
diff changeset
   458
void TestClockEngines::tesTimeZoneResolverMultiZone5()
hgs
parents:
diff changeset
   459
{
hgs
parents:
diff changeset
   460
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   461
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   462
  
hgs
parents:
diff changeset
   463
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   464
        mTimeInfo.iUtcDateTime = TDateTime(2010, TMonth(EApril), 2, 10, 0, 0, 0);
hgs
parents:
diff changeset
   465
        mTimeInfo.iTimeZoneOffset = 600;
hgs
parents:
diff changeset
   466
        mTimeInfo.iDstOffset = 1;
hgs
parents:
diff changeset
   467
        mMCC = _L( "505" );
hgs
parents:
diff changeset
   468
    
hgs
parents:
diff changeset
   469
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   470
        QVERIFY(KErrNotFound == errorCode);
hgs
parents:
diff changeset
   471
        QVERIFY(KErrNotFound == mTzId);
hgs
parents:
diff changeset
   472
        delete mTzResolver;
hgs
parents:
diff changeset
   473
    }       
hgs
parents:
diff changeset
   474
}
hgs
parents:
diff changeset
   475
hgs
parents:
diff changeset
   476
/*!
hgs
parents:
diff changeset
   477
    Tests the api TestTimezoneClient::tesTimeZoneResolverSingleZone5.
hgs
parents:
diff changeset
   478
*/
hgs
parents:
diff changeset
   479
void TestClockEngines::testTimeZoneResolverSingleZoneWrongMCC()
hgs
parents:
diff changeset
   480
{
hgs
parents:
diff changeset
   481
    int errorCode(KErrNotFound);
hgs
parents:
diff changeset
   482
    mTzResolver = CClockTimeZoneResolver::NewL();
hgs
parents:
diff changeset
   483
    int actualTzId = 1944;
hgs
parents:
diff changeset
   484
    if (NULL != mTzResolver) {
hgs
parents:
diff changeset
   485
        mTimeInfo.iUtcDateTime = TDateTime(2008, TMonth(EJanuary), 27, 10, 0, 0, 0);;
hgs
parents:
diff changeset
   486
        mTimeInfo.iTimeZoneOffset = 330;
hgs
parents:
diff changeset
   487
        mTimeInfo.iDstOffset = 0;
hgs
parents:
diff changeset
   488
        mMCC = _L("9999");
hgs
parents:
diff changeset
   489
    
hgs
parents:
diff changeset
   490
        errorCode = mTzResolver->GetTimeZoneL(mTimeInfo, mMCC, mTzId);
hgs
parents:
diff changeset
   491
        QVERIFY(KErrNone == errorCode);
hgs
parents:
diff changeset
   492
        QVERIFY(actualTzId == mTzId);
hgs
parents:
diff changeset
   493
        delete mTzResolver;
hgs
parents:
diff changeset
   494
    }       
hgs
parents:
diff changeset
   495
}
hgs
parents:
diff changeset
   496
hgs
parents:
diff changeset
   497
//********************** TIMESOURCE INTERFACE****************************//
hgs
parents:
diff changeset
   498
hgs
parents:
diff changeset
   499
/*!
hgs
parents:
diff changeset
   500
    Tests the api TestTimezoneClient::NotifyTimeChangeL.
hgs
parents:
diff changeset
   501
*/ 
hgs
parents:
diff changeset
   502
void TestClockEngines::NotifyTimeChangeL( CClockTimeSourceInterface& plugin  )
hgs
parents:
diff changeset
   503
{
hgs
parents:
diff changeset
   504
    Q_UNUSED(plugin)
hgs
parents:
diff changeset
   505
}
hgs
parents:
diff changeset
   506
hgs
parents:
diff changeset
   507
/*!
hgs
parents:
diff changeset
   508
    Tests the api TestTimezoneClient::testVersion.
hgs
parents:
diff changeset
   509
*/ 
hgs
parents:
diff changeset
   510
void TestClockEngines::testVersion()
hgs
parents:
diff changeset
   511
{
hgs
parents:
diff changeset
   512
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   513
    if (KErrNone == errorCode) {        
hgs
parents:
diff changeset
   514
        TVersion testVersion = mClockServerCltHandle->Version();
hgs
parents:
diff changeset
   515
        mClockServerCltHandle->Close();
hgs
parents:
diff changeset
   516
        
hgs
parents:
diff changeset
   517
        QVERIFY(KClockServerBuildVN == testVersion.iBuild);
hgs
parents:
diff changeset
   518
        QVERIFY(KClockServerMajorVN == testVersion.iMajor);
hgs
parents:
diff changeset
   519
        QVERIFY(KClockServerMinorVN == testVersion.iMinor);        
hgs
parents:
diff changeset
   520
    }                        
hgs
parents:
diff changeset
   521
}
hgs
parents:
diff changeset
   522
hgs
parents:
diff changeset
   523
/*!
hgs
parents:
diff changeset
   524
    Tests the api TestTimezoneClient::testCreatePluginInstance.
hgs
parents:
diff changeset
   525
*/ 
hgs
parents:
diff changeset
   526
void TestClockEngines::testCreatePluginInstance()
hgs
parents:
diff changeset
   527
{
hgs
parents:
diff changeset
   528
    mClkTimeUpdaterInterface = CClockTimeSourceInterface::NewL(TUid::Uid(KNitzPluginId), this);
hgs
parents:
diff changeset
   529
    Q_ASSERT(mClkTimeUpdaterInterface);
hgs
parents:
diff changeset
   530
    delete mClkTimeUpdaterInterface;        
hgs
parents:
diff changeset
   531
}
hgs
parents:
diff changeset
   532
hgs
parents:
diff changeset
   533
/*!
hgs
parents:
diff changeset
   534
    Tests the api TestTimezoneClient::testGetNitzData.
hgs
parents:
diff changeset
   535
*/ 
hgs
parents:
diff changeset
   536
void TestClockEngines::testGetNitzData()
hgs
parents:
diff changeset
   537
{
hgs
parents:
diff changeset
   538
    mNitzInfo.iUtcDateTime = TTime(KErrNotFound).DateTime();
hgs
parents:
diff changeset
   539
    mNitzInfo.iTimeZoneOffset = KErrNotFound;
hgs
parents:
diff changeset
   540
    mNitzInfo.iDstOffset = KErrNotFound;
hgs
parents:
diff changeset
   541
    
hgs
parents:
diff changeset
   542
    mClkTimeUpdaterInterface = CClockTimeSourceInterface::NewL(TUid::Uid(KNitzPluginId), this);
hgs
parents:
diff changeset
   543
    
hgs
parents:
diff changeset
   544
    Q_ASSERT(mClkTimeUpdaterInterface);
hgs
parents:
diff changeset
   545
    if (NULL != mClkTimeUpdaterInterface) {            
hgs
parents:
diff changeset
   546
        mClkTimeUpdaterInterface->GetTimeInformationL(EUTCTime, &mNitzInfo);
hgs
parents:
diff changeset
   547
        mClkTimeUpdaterInterface->GetTimeInformationL(ETZOffset, &mNitzInfo);                                    
hgs
parents:
diff changeset
   548
        mClkTimeUpdaterInterface->GetTimeInformationL(EDSTOffset, &mNitzInfo);
hgs
parents:
diff changeset
   549
                   
hgs
parents:
diff changeset
   550
        qDebug() << "UtcDate: " << QDate(mNitzInfo.iUtcDateTime.Year(),mNitzInfo.iUtcDateTime.Month(),mNitzInfo.iUtcDateTime.Day());
hgs
parents:
diff changeset
   551
        qDebug() << "UtcTime: " << QTime(mNitzInfo.iUtcDateTime.Hour(),mNitzInfo.iUtcDateTime.Minute(),mNitzInfo.iUtcDateTime.Second());
hgs
parents:
diff changeset
   552
        qDebug() << "Timzone Offset: " << mNitzInfo.iTimeZoneOffset.Int();
hgs
parents:
diff changeset
   553
        qDebug() << "DST Offset: " << mNitzInfo.iDstOffset.Int();
hgs
parents:
diff changeset
   554
hgs
parents:
diff changeset
   555
       delete mClkTimeUpdaterInterface;
hgs
parents:
diff changeset
   556
    }           
hgs
parents:
diff changeset
   557
}
hgs
parents:
diff changeset
   558
hgs
parents:
diff changeset
   559
/*!
hgs
parents:
diff changeset
   560
    Tests the api TestTimezoneClient::testInvalidPlugin.
hgs
parents:
diff changeset
   561
*/ 
hgs
parents:
diff changeset
   562
void TestClockEngines::testInvalidPlugin()
hgs
parents:
diff changeset
   563
{        
hgs
parents:
diff changeset
   564
    mClkTimeUpdaterInterface = CClockTimeSourceInterface::NewL(KInvalidID, this);
hgs
parents:
diff changeset
   565
    QVERIFY(NULL == mClkTimeUpdaterInterface);                
hgs
parents:
diff changeset
   566
}
hgs
parents:
diff changeset
   567
hgs
parents:
diff changeset
   568
/*!
hgs
parents:
diff changeset
   569
    Tests the api TestTimezoneClient::testTimeUpdateOn.
hgs
parents:
diff changeset
   570
*/ 
hgs
parents:
diff changeset
   571
void TestClockEngines::testTimeUpdateOn()
hgs
parents:
diff changeset
   572
{
hgs
parents:
diff changeset
   573
    // First connect and test for it.
hgs
parents:
diff changeset
   574
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   575
    
hgs
parents:
diff changeset
   576
    if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   577
        int timeUpdateOn( EFalse );
hgs
parents:
diff changeset
   578
        
hgs
parents:
diff changeset
   579
        // Activate Nitz plugin.
hgs
parents:
diff changeset
   580
        errorCode = mClockServerCltHandle->ActivateProtocol(KNitzPluginId);
hgs
parents:
diff changeset
   581
        if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   582
           // Check if auto time update is on.
hgs
parents:
diff changeset
   583
           errorCode = mClockServerCltHandle->IsAutoTimeUpdateOn(timeUpdateOn);
hgs
parents:
diff changeset
   584
           QVERIFY(true == timeUpdateOn);
hgs
parents:
diff changeset
   585
        }
hgs
parents:
diff changeset
   586
        mClockServerCltHandle->Close();
hgs
parents:
diff changeset
   587
    }               
hgs
parents:
diff changeset
   588
}
hgs
parents:
diff changeset
   589
hgs
parents:
diff changeset
   590
/*!
hgs
parents:
diff changeset
   591
    Tests the api TestTimezoneClient::testInvalidPlugin.
hgs
parents:
diff changeset
   592
*/ 
hgs
parents:
diff changeset
   593
void TestClockEngines::testTimeUpdateOff()
hgs
parents:
diff changeset
   594
{
hgs
parents:
diff changeset
   595
    // First connect and test for it.
hgs
parents:
diff changeset
   596
    int errorCode = mClockServerCltHandle->Connect();
hgs
parents:
diff changeset
   597
    
hgs
parents:
diff changeset
   598
    if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   599
        int timeUpdateOn( ETrue );
hgs
parents:
diff changeset
   600
        
hgs
parents:
diff changeset
   601
        // Activate Nitz plugin.
hgs
parents:
diff changeset
   602
        errorCode = mClockServerCltHandle->DeActivateProtocol(KNitzPluginId);
hgs
parents:
diff changeset
   603
        if (KErrNone == errorCode) {
hgs
parents:
diff changeset
   604
           // Check if auto time update is on.
hgs
parents:
diff changeset
   605
           errorCode = mClockServerCltHandle->IsAutoTimeUpdateOn(timeUpdateOn);
hgs
parents:
diff changeset
   606
           QVERIFY(false == timeUpdateOn);
hgs
parents:
diff changeset
   607
        }
hgs
parents:
diff changeset
   608
        mClockServerCltHandle->Close();
hgs
parents:
diff changeset
   609
    }               
hgs
parents:
diff changeset
   610
}
hgs
parents:
diff changeset
   611
hgs
parents:
diff changeset
   612
QTEST_MAIN(TestClockEngines)
hgs
parents:
diff changeset
   613
hgs
parents:
diff changeset
   614
// End of file	--Don't remove this.