homescreenapp/stateplugins/hsapplibrarystateplugin/tsrc/t_applibrarystate/src/t_applibrarystate.cpp
author hgs
Mon, 20 Sep 2010 10:19:07 +0300
changeset 90 3ac3aaebaee5
child 97 66b5fe3c07fd
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
90
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 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 "Eclipse Public 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.eclipse.org/legal/epl-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:  Main test class for hsHomeScreenStatePlugin library.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <hbmainwindow.h>
hgs
parents:
diff changeset
    19
#include <hbinstance.h>
hgs
parents:
diff changeset
    20
#include <hbview.h>
hgs
parents:
diff changeset
    21
#include <hblistview.h>
hgs
parents:
diff changeset
    22
#include <hbaction.h>
hgs
parents:
diff changeset
    23
#include <hblistviewitem.h>
hgs
parents:
diff changeset
    24
#include <qscopedpointer>
hgs
parents:
diff changeset
    25
#include <hbmessagebox.h>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
#include "hsapplibrarystate.h"
hgs
parents:
diff changeset
    28
#include "hscollectionstate.h"
hgs
parents:
diff changeset
    29
#include "caentry.h"
hgs
parents:
diff changeset
    30
#include "caitemmodel.h"
hgs
parents:
diff changeset
    31
#include "hsmenuview.h"
hgs
parents:
diff changeset
    32
#include "hsmenuevent.h"
hgs
parents:
diff changeset
    33
#include "hsallcollectionsstate.h"
hgs
parents:
diff changeset
    34
#include "hsmenueventtransition.h"
hgs
parents:
diff changeset
    35
#include "hsallappsstate.h"
hgs
parents:
diff changeset
    36
#include "hsinstalledappsstate.h"
hgs
parents:
diff changeset
    37
#include "hsoperatorhandler_p.h"
hgs
parents:
diff changeset
    38
#include "hsoperatorhandler.h"
hgs
parents:
diff changeset
    39
#include "hsmenuservice.h"
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
#include "t_hsaddtohomescreenmockstate.h"
hgs
parents:
diff changeset
    42
#include "t_hsmockmodel.h"
hgs
parents:
diff changeset
    43
#include "t_applibrarystate.h"
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
#include "hsmenumodetransition.h"
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
#ifdef QT_EXTENSIONS
hgs
parents:
diff changeset
    48
#include <XQSettingsManager>
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
const int IncludeOperatorStore      = 0x00000001;
hgs
parents:
diff changeset
    51
const int RemoveOviStore            = 0x00000008;
hgs
parents:
diff changeset
    52
//const char *operatorStoreIconPath
hgs
parents:
diff changeset
    53
//        = "z:/private/20022F35/customsvg/operatorstore.svg";
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
void MenuStatesTest::OperatorHandler_storesPresent()
hgs
parents:
diff changeset
    56
{
hgs
parents:
diff changeset
    57
    HsOperatorHandler oviHandler;
hgs
parents:
diff changeset
    58
    XQSettingsManager man;
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
    bool value = oviHandler.m_q->storeValue(&man, IncludeOperatorStore);
hgs
parents:
diff changeset
    61
    oviHandler.m_q->mOperatorStorePresent = value;
hgs
parents:
diff changeset
    62
    QCOMPARE(oviHandler.operatorStorePresent(), value);
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
    bool value1 = !oviHandler.m_q->storeValue(&man, RemoveOviStore);
hgs
parents:
diff changeset
    65
    oviHandler.m_q->mOviStorePresent = value1;
hgs
parents:
diff changeset
    66
    QCOMPARE(oviHandler.oviStorePresent(), value1);
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
}
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
void MenuStatesTest::OperatorHandler_first()
hgs
parents:
diff changeset
    71
{
hgs
parents:
diff changeset
    72
    HsOperatorHandler oviHandler;
hgs
parents:
diff changeset
    73
    XQSettingsManager man;
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
    bool value = oviHandler.m_q->operatorStoreFirst(&man);
hgs
parents:
diff changeset
    76
    oviHandler.m_q->mOperatorStoreFirst = value;
hgs
parents:
diff changeset
    77
    QCOMPARE(oviHandler.operatorStoreFirst(), value);
hgs
parents:
diff changeset
    78
}
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
void MenuStatesTest::OperatorHandler_type()
hgs
parents:
diff changeset
    81
{
hgs
parents:
diff changeset
    82
    HsOperatorHandler oviHandler;
hgs
parents:
diff changeset
    83
    XQSettingsManager man;
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
    HsOperatorHandlerPrivate::HsStoreType value
hgs
parents:
diff changeset
    86
            = oviHandler.m_q->operatorStoreType(&man);
hgs
parents:
diff changeset
    87
    QVERIFY(value == HsOperatorHandlerPrivate::ApplicationType
hgs
parents:
diff changeset
    88
            || value == HsOperatorHandlerPrivate::UrlType
hgs
parents:
diff changeset
    89
            || value == HsOperatorHandlerPrivate::NoneType);
hgs
parents:
diff changeset
    90
}
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
void MenuStatesTest::OperatorHandler_createAction()
hgs
parents:
diff changeset
    93
{
hgs
parents:
diff changeset
    94
    HsOperatorHandler oviHandler;
hgs
parents:
diff changeset
    95
    oviHandler.m_q->mIcon = HbIcon();
hgs
parents:
diff changeset
    96
    HbAction *action = oviHandler.prepareOperatorStoreAction(new HbAction);
hgs
parents:
diff changeset
    97
    QVERIFY(action->icon().isNull());
hgs
parents:
diff changeset
    98
}
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
#endif//QT_EXTENSIONS
hgs
parents:
diff changeset
   101
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
hgs
parents:
diff changeset
   105
class HsMainWindowMock : public HsMainWindow
hgs
parents:
diff changeset
   106
{
hgs
parents:
diff changeset
   107
    virtual void setCurrentView(HbView *view);
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
};
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
void HsMainWindowMock::setCurrentView(HbView *view)
hgs
parents:
diff changeset
   112
{
hgs
parents:
diff changeset
   113
    Q_UNUSED(view);
hgs
parents:
diff changeset
   114
    // do nothing
hgs
parents:
diff changeset
   115
}
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
void MenuStatesTest::cleanup()
hgs
parents:
diff changeset
   118
{
hgs
parents:
diff changeset
   119
    qApp->processEvents();
hgs
parents:
diff changeset
   120
}
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   123
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   124
//
hgs
parents:
diff changeset
   125
void MenuStatesTest::ApplicationLibraryState_construction()
hgs
parents:
diff changeset
   126
{
hgs
parents:
diff changeset
   127
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   128
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   129
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   130
    __UHEAP_MARK;
hgs
parents:
diff changeset
   131
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   132
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   133
    {
hgs
parents:
diff changeset
   134
        QString qApplications(hbTrId("txt_applib_title_applications"));
hgs
parents:
diff changeset
   135
hgs
parents:
diff changeset
   136
        QScopedPointer<HsAppLibraryState > appLibraryState(new HsAppLibraryState);
hgs
parents:
diff changeset
   137
hgs
parents:
diff changeset
   138
        QCOMPARE(appLibraryState->mMenuViewBuilder.currentView()->title(),
hgs
parents:
diff changeset
   139
            qApplications);
hgs
parents:
diff changeset
   140
        QVERIFY(appLibraryState->mAllAppsState);
hgs
parents:
diff changeset
   141
        QVERIFY(appLibraryState->mAllCollectionsState);
hgs
parents:
diff changeset
   142
    }
hgs
parents:
diff changeset
   143
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   144
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   145
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   146
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   147
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   148
}
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   151
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   152
//
hgs
parents:
diff changeset
   153
void MenuStatesTest::ApplicationLibraryState_historySlots()
hgs
parents:
diff changeset
   154
{
hgs
parents:
diff changeset
   155
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   156
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   157
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   158
    __UHEAP_MARK;
hgs
parents:
diff changeset
   159
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   160
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   161
    {
hgs
parents:
diff changeset
   162
        HsAppLibraryState appLibrary;
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
        appLibrary.allCollectionsStateEntered();
hgs
parents:
diff changeset
   165
        QCOMPARE(qobject_cast<QAbstractState *>(appLibrary.mAllCollectionsState),
hgs
parents:
diff changeset
   166
            appLibrary.mHistoryTransaction->targetState());
hgs
parents:
diff changeset
   167
        QCOMPARE(appLibrary.mInstalledAppsState->transitions().length(), 1);
hgs
parents:
diff changeset
   168
        QCOMPARE(appLibrary.mInstalledAppsState->transitions()[0]->sourceState(),
hgs
parents:
diff changeset
   169
            qobject_cast<QState *>(appLibrary.mInstalledAppsState));
hgs
parents:
diff changeset
   170
        QCOMPARE(appLibrary.mInstalledAppsState->transitions()[0]->targetState(),
hgs
parents:
diff changeset
   171
            qobject_cast<QAbstractState *>(appLibrary.mAllCollectionsState));
hgs
parents:
diff changeset
   172
hgs
parents:
diff changeset
   173
        appLibrary.allAppsStateEntered();
hgs
parents:
diff changeset
   174
        QCOMPARE(qobject_cast<QAbstractState *>(appLibrary.mAllAppsState),
hgs
parents:
diff changeset
   175
            appLibrary.mHistoryTransaction->targetState());
hgs
parents:
diff changeset
   176
        QCOMPARE(appLibrary.mInstalledAppsState->transitions().length(), 1);
hgs
parents:
diff changeset
   177
        QCOMPARE(appLibrary.mInstalledAppsState->transitions()[0]->sourceState(),
hgs
parents:
diff changeset
   178
            qobject_cast<QState *>(appLibrary.mInstalledAppsState));
hgs
parents:
diff changeset
   179
        QCOMPARE(appLibrary.mInstalledAppsState->transitions()[0]->targetState(),
hgs
parents:
diff changeset
   180
            qobject_cast<QAbstractState *>(appLibrary.mAllAppsState));
hgs
parents:
diff changeset
   181
hgs
parents:
diff changeset
   182
        appLibrary.collectionStateEntered();
hgs
parents:
diff changeset
   183
        QCOMPARE(appLibrary.mInstalledAppsState->transitions().length(), 1);
hgs
parents:
diff changeset
   184
        QCOMPARE(appLibrary.mInstalledAppsState->transitions()[0]->sourceState(),
hgs
parents:
diff changeset
   185
            qobject_cast<QState *>(appLibrary.mInstalledAppsState));
hgs
parents:
diff changeset
   186
        QCOMPARE(appLibrary.mInstalledAppsState->transitions()[0]->targetState(),
hgs
parents:
diff changeset
   187
            qobject_cast<QAbstractState *>(appLibrary.mCollectionState));
hgs
parents:
diff changeset
   188
hgs
parents:
diff changeset
   189
    }
hgs
parents:
diff changeset
   190
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   191
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   192
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   193
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   194
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   195
}
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   199
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   200
//
hgs
parents:
diff changeset
   201
void MenuStatesTest::ApplicationLibraryState_backSteppingAction()
hgs
parents:
diff changeset
   202
{
hgs
parents:
diff changeset
   203
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   204
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   205
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   206
    __UHEAP_MARK;
hgs
parents:
diff changeset
   207
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   208
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   209
    {
hgs
parents:
diff changeset
   210
        QScopedPointer<HbMainWindow> wind(new HbMainWindow);
hgs
parents:
diff changeset
   211
        //create statemachine to perform transitions
hgs
parents:
diff changeset
   212
        QScopedPointer<QStateMachine> machine(new QStateMachine(0));
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
        HsAppLibraryState *appLibrary = new HsAppLibraryState(machine.data());
hgs
parents:
diff changeset
   215
hgs
parents:
diff changeset
   216
        machine->setInitialState(appLibrary);
hgs
parents:
diff changeset
   217
hgs
parents:
diff changeset
   218
        machine->start();
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
        qApp->sendPostedEvents();
hgs
parents:
diff changeset
   221
        //initiate transition from collection state
hgs
parents:
diff changeset
   222
        appLibrary->mCollectionState->openAppLibrary();
hgs
parents:
diff changeset
   223
hgs
parents:
diff changeset
   224
        qApp->sendPostedEvents();
hgs
parents:
diff changeset
   225
hgs
parents:
diff changeset
   226
        QVERIFY(appLibrary->mAllAppsState->mMenuView->view()->menu());
hgs
parents:
diff changeset
   227
        machine->stop();
hgs
parents:
diff changeset
   228
        qApp->removePostedEvents(0);
hgs
parents:
diff changeset
   229
        disconnect(appLibrary,SIGNAL(initialize()),this,SLOT(appLibraryEntered()));
hgs
parents:
diff changeset
   230
hgs
parents:
diff changeset
   231
        qApp->processEvents();
hgs
parents:
diff changeset
   232
    }
hgs
parents:
diff changeset
   233
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   234
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   235
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   236
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   237
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   238
}
hgs
parents:
diff changeset
   239
hgs
parents:
diff changeset
   240
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   241
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   242
//
hgs
parents:
diff changeset
   243
void MenuStatesTest::ApplicationLibraryState_clearToolbarLatch()
hgs
parents:
diff changeset
   244
{
hgs
parents:
diff changeset
   245
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   246
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   247
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   248
    __UHEAP_MARK;
hgs
parents:
diff changeset
   249
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   250
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   251
    {
hgs
parents:
diff changeset
   252
        HsAppLibraryState appLibrary;
hgs
parents:
diff changeset
   253
        appLibrary.mMenuViewBuilder.allAppsAction()->setChecked(true);
hgs
parents:
diff changeset
   254
        appLibrary.mMenuViewBuilder.toolBarActionGroup()->checkedAction()->setChecked(true);
hgs
parents:
diff changeset
   255
        appLibrary.clearToolbarLatch();
hgs
parents:
diff changeset
   256
        QVERIFY(appLibrary.mMenuViewBuilder.toolBarActionGroup()->checkedAction() == NULL);
hgs
parents:
diff changeset
   257
    }
hgs
parents:
diff changeset
   258
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   259
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   260
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   261
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   262
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   263
}
hgs
parents:
diff changeset
   264
hgs
parents:
diff changeset
   265
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   266
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   267
//
hgs
parents:
diff changeset
   268
#ifdef QT_EXTENSIONS
hgs
parents:
diff changeset
   269
void MenuStatesTest::ApplicationLibraryState_oviStoreAction()
hgs
parents:
diff changeset
   270
{
hgs
parents:
diff changeset
   271
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   272
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   273
    __UHEAP_MARK;
hgs
parents:
diff changeset
   274
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   275
    {
hgs
parents:
diff changeset
   276
        HsAppLibraryState appLibrary;
hgs
parents:
diff changeset
   277
        QVERIFY(appLibrary.oviStoreAction()==0);
hgs
parents:
diff changeset
   278
    }
hgs
parents:
diff changeset
   279
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   280
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   281
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   282
}
hgs
parents:
diff changeset
   283
hgs
parents:
diff changeset
   284
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   285
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   286
//
hgs
parents:
diff changeset
   287
void MenuStatesTest::OperatorHandler_icon()
hgs
parents:
diff changeset
   288
{
hgs
parents:
diff changeset
   289
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   290
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   291
    __UHEAP_MARK;
hgs
parents:
diff changeset
   292
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   293
    {
hgs
parents:
diff changeset
   294
        HsOperatorHandler oviHandler;
hgs
parents:
diff changeset
   295
        XQSettingsManager man;
hgs
parents:
diff changeset
   296
        HbIcon testIcon = oviHandler.m_q->createIcon(&man);
hgs
parents:
diff changeset
   297
        oviHandler.m_q->mIcon = testIcon;
hgs
parents:
diff changeset
   298
        QCOMPARE(oviHandler.icon(), testIcon);
hgs
parents:
diff changeset
   299
    }
hgs
parents:
diff changeset
   300
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   301
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   302
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   303
}
hgs
parents:
diff changeset
   304
hgs
parents:
diff changeset
   305
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   306
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   307
//
hgs
parents:
diff changeset
   308
void MenuStatesTest::OperatorHandler_text()
hgs
parents:
diff changeset
   309
{
hgs
parents:
diff changeset
   310
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   311
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   312
    __UHEAP_MARK;
hgs
parents:
diff changeset
   313
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   314
    {
hgs
parents:
diff changeset
   315
        HsOperatorHandler oviHandler;
hgs
parents:
diff changeset
   316
        XQSettingsManager man;
hgs
parents:
diff changeset
   317
hgs
parents:
diff changeset
   318
        QString testText = oviHandler.m_q->operatorStoreTitle(&man);
hgs
parents:
diff changeset
   319
        oviHandler.m_q->mOperatorStoreTitle = testText;
hgs
parents:
diff changeset
   320
        QCOMPARE(oviHandler.text(), testText);
hgs
parents:
diff changeset
   321
    }
hgs
parents:
diff changeset
   322
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   323
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   324
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   325
}
hgs
parents:
diff changeset
   326
hgs
parents:
diff changeset
   327
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   328
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   329
//
hgs
parents:
diff changeset
   330
void MenuStatesTest::OperatorHandler_action()
hgs
parents:
diff changeset
   331
{
hgs
parents:
diff changeset
   332
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   333
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   334
    __UHEAP_MARK;
hgs
parents:
diff changeset
   335
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   336
    {
hgs
parents:
diff changeset
   337
        HsOperatorHandler oviHandler;
hgs
parents:
diff changeset
   338
        HbIcon testIcon;
hgs
parents:
diff changeset
   339
        oviHandler.m_q->mIcon = testIcon;
hgs
parents:
diff changeset
   340
        oviHandler.m_q->mOperatorEntry = new CaEntry;;
hgs
parents:
diff changeset
   341
        QCOMPARE(oviHandler.icon(), testIcon);
hgs
parents:
diff changeset
   342
        oviHandler.action();
hgs
parents:
diff changeset
   343
        QCOMPARE(oviHandler.icon(), testIcon);
hgs
parents:
diff changeset
   344
    }
hgs
parents:
diff changeset
   345
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   346
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   347
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   348
}
hgs
parents:
diff changeset
   349
hgs
parents:
diff changeset
   350
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   351
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   352
//
hgs
parents:
diff changeset
   353
void MenuStatesTest::OperatorHandler_entry()
hgs
parents:
diff changeset
   354
{
hgs
parents:
diff changeset
   355
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   356
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   357
    __UHEAP_MARK;
hgs
parents:
diff changeset
   358
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   359
    {
hgs
parents:
diff changeset
   360
        HsOperatorHandler oviHandler;
hgs
parents:
diff changeset
   361
        XQSettingsManager man;
hgs
parents:
diff changeset
   362
hgs
parents:
diff changeset
   363
        CaEntry *testAppEntry = oviHandler.m_q->createAppEntry(&man);
hgs
parents:
diff changeset
   364
        oviHandler.m_q->mOperatorEntry = testAppEntry;
hgs
parents:
diff changeset
   365
        //if entry is NULL then tahts because there were no key in CR
hgs
parents:
diff changeset
   366
        //if it is not NULL then it must be application
hgs
parents:
diff changeset
   367
        QVERIFY(!testAppEntry || testAppEntry->entryTypeName() ==
hgs
parents:
diff changeset
   368
                Hs::applicationTypeName);
hgs
parents:
diff changeset
   369
hgs
parents:
diff changeset
   370
        CaEntry *testUrlEntry = oviHandler.m_q->createUrlEntry(&man);
hgs
parents:
diff changeset
   371
        oviHandler.m_q->mOperatorEntry = testUrlEntry;
hgs
parents:
diff changeset
   372
        //similar as for application above
hgs
parents:
diff changeset
   373
        QVERIFY(!testUrlEntry || testUrlEntry->entryTypeName() ==
hgs
parents:
diff changeset
   374
                Hs::urlTypeName);
hgs
parents:
diff changeset
   375
hgs
parents:
diff changeset
   376
    }
hgs
parents:
diff changeset
   377
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   378
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   379
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   380
}
hgs
parents:
diff changeset
   381
hgs
parents:
diff changeset
   382
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   383
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   384
//
hgs
parents:
diff changeset
   385
void MenuStatesTest::OperatorHandler_noCrWriteAccess()
hgs
parents:
diff changeset
   386
{
hgs
parents:
diff changeset
   387
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   388
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   389
    __UHEAP_MARK;
hgs
parents:
diff changeset
   390
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   391
    {
hgs
parents:
diff changeset
   392
//        XQSettingsManager *crManager = new XQSettingsManager;
hgs
parents:
diff changeset
   393
//        XQCentralRepositorySettingsKey urlKey(AppLibUid, OperatorUrl);
hgs
parents:
diff changeset
   394
//        QVariant urlVarian = crManager->readItemValue(
hgs
parents:
diff changeset
   395
//                                 urlKey, XQSettingsManager::TypeString);
hgs
parents:
diff changeset
   396
//        QString dbg = urlVarian.toString();
hgs
parents:
diff changeset
   397
//        bool result = crManager->writeItemValue(urlKey, QVariant("test"));
hgs
parents:
diff changeset
   398
//        QCOMPARE(result, false);
hgs
parents:
diff changeset
   399
    }
hgs
parents:
diff changeset
   400
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   401
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   402
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   403
}
hgs
parents:
diff changeset
   404
#endif//QT_EXTENSIONS
hgs
parents:
diff changeset
   405
hgs
parents:
diff changeset
   406
hgs
parents:
diff changeset
   407
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   408
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   409
//
hgs
parents:
diff changeset
   410
void MenuStatesTest::HsBaseViewState_createApplicationLaunchFailMessage()
hgs
parents:
diff changeset
   411
{
hgs
parents:
diff changeset
   412
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   413
    User::ResetInactivityTime();//it should help for Viewserver11 panic
hgs
parents:
diff changeset
   414
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   415
    __UHEAP_MARK;
hgs
parents:
diff changeset
   416
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   417
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   418
    {
hgs
parents:
diff changeset
   419
        HsMenuViewBuilder menuViewBuilder;
hgs
parents:
diff changeset
   420
        HsMenuModeWrapper menuMode;
hgs
parents:
diff changeset
   421
        HsMainWindow mainWindow;
hgs
parents:
diff changeset
   422
hgs
parents:
diff changeset
   423
        HsAllAppsState viewState(menuViewBuilder, menuMode, mainWindow);
hgs
parents:
diff changeset
   424
hgs
parents:
diff changeset
   425
        int errCode = -333;
hgs
parents:
diff changeset
   426
        int dummyItemId = 555;
hgs
parents:
diff changeset
   427
        viewState.createApplicationLaunchFailMessage(errCode,dummyItemId);
hgs
parents:
diff changeset
   428
        QVERIFY(!viewState.mApplicationLaunchFailMessage.isNull());
hgs
parents:
diff changeset
   429
hgs
parents:
diff changeset
   430
        QVERIFY(viewState.mApplicationLaunchFailMessage->close());
hgs
parents:
diff changeset
   431
        QTest::qWait(2000);
hgs
parents:
diff changeset
   432
    }
hgs
parents:
diff changeset
   433
#ifdef Q_OS_SYMBIAN
hgs
parents:
diff changeset
   434
#ifdef UT_MEMORY_CHECK
hgs
parents:
diff changeset
   435
    __UHEAP_MARKEND;
hgs
parents:
diff changeset
   436
#endif//UT_MEMORY_CHECK
hgs
parents:
diff changeset
   437
#endif//Q_OS_SYMBIAN
hgs
parents:
diff changeset
   438
}
hgs
parents:
diff changeset
   439
hgs
parents:
diff changeset
   440
hgs
parents:
diff changeset
   441
QTEST_MAIN(MenuStatesTest)