videocollection/videocollectionview/tsrc/testvideocollectionuiloader/src/testvideocollectionuiloader.cpp
author hgs
Tue, 05 Oct 2010 09:26:49 +0300
changeset 66 adb51f74b890
parent 58 d2b028fd1f7d
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36
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:   tester for methods in VideoCollectionUiLoader
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <hbdocumentloader.h>
hgs
parents:
diff changeset
    19
#include <hbgroupbox.h>
hgs
parents:
diff changeset
    20
#include <hbaction.h>
hgs
parents:
diff changeset
    21
#include <hbapplication.h>
hgs
parents:
diff changeset
    22
#include <hbmainwindow.h>
hgs
parents:
diff changeset
    23
#include <hbinstance.h>
hgs
parents:
diff changeset
    24
#include <hbview.h>
hgs
parents:
diff changeset
    25
#include <qhash.h>
hgs
parents:
diff changeset
    26
#include <qmap.h>
hgs
parents:
diff changeset
    27
#include <qset.h>
hgs
parents:
diff changeset
    28
#include <qdebug.h>
hgs
parents:
diff changeset
    29
58
hgs
parents: 44
diff changeset
    30
#include "videolistwidgetdata.h"
36
hgs
parents:
diff changeset
    31
#include "testvideocollectionuiloader.h"
hgs
parents:
diff changeset
    32
#include "videocollectionwrapperdata.h"
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
#define private public
hgs
parents:
diff changeset
    35
#include "videocollectionuiloader.h"
hgs
parents:
diff changeset
    36
#include "videocollectionuiloaderdef.h"
hgs
parents:
diff changeset
    37
#undef private
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
int main(int argc, char *argv[])
hgs
parents:
diff changeset
    40
{
hgs
parents:
diff changeset
    41
    HbApplication app(argc, argv);
hgs
parents:
diff changeset
    42
    HbMainWindow window;
hgs
parents:
diff changeset
    43
    TestVideoCollectionUiLoader tv;
hgs
parents:
diff changeset
    44
    int res;
hgs
parents:
diff changeset
    45
    if (argc > 1)
hgs
parents:
diff changeset
    46
    {   
hgs
parents:
diff changeset
    47
        res = QTest::qExec(&tv, argc, argv);
hgs
parents:
diff changeset
    48
    }
hgs
parents:
diff changeset
    49
    else
hgs
parents:
diff changeset
    50
    {
hgs
parents:
diff changeset
    51
        char *pass[3];
hgs
parents:
diff changeset
    52
        pass[0] = argv[0];
hgs
parents:
diff changeset
    53
        pass[1] = "-o";
hgs
parents:
diff changeset
    54
        pass[2] = "c:\\data\\testvideocollectionuiloader.txt";
hgs
parents:
diff changeset
    55
        res = QTest::qExec(&tv, 3, pass);
hgs
parents:
diff changeset
    56
    }
hgs
parents:
diff changeset
    57
    
hgs
parents:
diff changeset
    58
    return res;
hgs
parents:
diff changeset
    59
}
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
TestVideoCollectionUiLoader::TestVideoCollectionUiLoader():
hgs
parents:
diff changeset
    62
    mTestObject(0)
hgs
parents:
diff changeset
    63
{
hgs
parents:
diff changeset
    64
    
hgs
parents:
diff changeset
    65
}
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
TestVideoCollectionUiLoader::~TestVideoCollectionUiLoader()
hgs
parents:
diff changeset
    68
{
hgs
parents:
diff changeset
    69
    cleanup();
hgs
parents:
diff changeset
    70
}
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    73
// init
hgs
parents:
diff changeset
    74
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
//
hgs
parents:
diff changeset
    76
void TestVideoCollectionUiLoader::init()
hgs
parents:
diff changeset
    77
{
hgs
parents:
diff changeset
    78
    // create test object
hgs
parents:
diff changeset
    79
    if (!mTestObject)
hgs
parents:
diff changeset
    80
    {
hgs
parents:
diff changeset
    81
        mTestObject = new VideoCollectionUiLoader;
hgs
parents:
diff changeset
    82
    }
hgs
parents:
diff changeset
    83
    
hgs
parents:
diff changeset
    84
    // clear object list
hgs
parents:
diff changeset
    85
    mObjects.clear();
hgs
parents:
diff changeset
    86
    
hgs
parents:
diff changeset
    87
    HbDocumentLoader::cleanup();
hgs
parents:
diff changeset
    88
}
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    91
// cleanup
hgs
parents:
diff changeset
    92
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    93
//
hgs
parents:
diff changeset
    94
void TestVideoCollectionUiLoader::cleanup()
hgs
parents:
diff changeset
    95
{
hgs
parents:
diff changeset
    96
    // delete test object
hgs
parents:
diff changeset
    97
    delete mTestObject;
hgs
parents:
diff changeset
    98
    mTestObject = 0;
hgs
parents:
diff changeset
    99
}
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
// TEST CASES START ----------------------------------------------------------
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   104
// testAddData
hgs
parents:
diff changeset
   105
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   106
//
hgs
parents:
diff changeset
   107
void TestVideoCollectionUiLoader::testAddData()
hgs
parents:
diff changeset
   108
{
hgs
parents:
diff changeset
   109
    VideoCollectionUiLoaderParam banner(
hgs
parents:
diff changeset
   110
        DOCML_NAME_VC_HEADINGBANNER,
hgs
parents:
diff changeset
   111
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   112
        true,
hgs
parents:
diff changeset
   113
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   114
    VideoCollectionUiLoaderParam collectionWidget(
hgs
parents:
diff changeset
   115
        DOCML_NAME_VC_COLLECTIONWIDGET,
hgs
parents:
diff changeset
   116
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   117
        DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
hgs
parents:
diff changeset
   118
        true,
hgs
parents:
diff changeset
   119
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   120
    VideoCollectionUiLoaderParam collectionContentWidget(
hgs
parents:
diff changeset
   121
        DOCML_NAME_VC_COLLECTIONCONTENTWIDGET,
hgs
parents:
diff changeset
   122
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   123
        DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
hgs
parents:
diff changeset
   124
        true,
hgs
parents:
diff changeset
   125
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   126
    const int COUNT = 3;
hgs
parents:
diff changeset
   127
    
hgs
parents:
diff changeset
   128
    // add items
hgs
parents:
diff changeset
   129
    QList<VideoCollectionUiLoaderParam> params;
hgs
parents:
diff changeset
   130
    params.append(banner);
hgs
parents:
diff changeset
   131
    params.append(collectionWidget);
hgs
parents:
diff changeset
   132
    params.append(collectionContentWidget);
hgs
parents:
diff changeset
   133
    mTestObject->addData(params,
hgs
parents:
diff changeset
   134
        this,
hgs
parents:
diff changeset
   135
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   136
    QVERIFY(mTestObject->mQueue.count() == COUNT);
hgs
parents:
diff changeset
   137
    QVERIFY(mTestObject->mQueue.contains(banner));
hgs
parents:
diff changeset
   138
    QVERIFY(mTestObject->mQueue.contains(collectionWidget));
hgs
parents:
diff changeset
   139
    QVERIFY(mTestObject->mQueue.contains(collectionContentWidget));
hgs
parents:
diff changeset
   140
    
hgs
parents:
diff changeset
   141
    // add duplicate items
hgs
parents:
diff changeset
   142
    mTestObject->addData(params,
hgs
parents:
diff changeset
   143
        this,
hgs
parents:
diff changeset
   144
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   145
    QVERIFY(mTestObject->mQueue.count() == COUNT);
hgs
parents:
diff changeset
   146
    QVERIFY(mTestObject->mQueue.contains(banner));
hgs
parents:
diff changeset
   147
    QVERIFY(mTestObject->mQueue.contains(collectionWidget));
hgs
parents:
diff changeset
   148
    QVERIFY(mTestObject->mQueue.contains(collectionContentWidget));
hgs
parents:
diff changeset
   149
    
hgs
parents:
diff changeset
   150
    // load first phase and add duplicate items
hgs
parents:
diff changeset
   151
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   152
    QTest::qWait(1000); // wait 1 second
hgs
parents:
diff changeset
   153
    mTestObject->addData(params,
hgs
parents:
diff changeset
   154
        this,
hgs
parents:
diff changeset
   155
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   156
    QCOMPARE(mTestObject->mQueue.count(), 0);
hgs
parents:
diff changeset
   157
}
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   160
// testFindWidget
hgs
parents:
diff changeset
   161
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   162
//
hgs
parents:
diff changeset
   163
void TestVideoCollectionUiLoader::testFindWidget()
hgs
parents:
diff changeset
   164
{
hgs
parents:
diff changeset
   165
    HbDocumentLoader::cleanup();
hgs
parents:
diff changeset
   166
    
hgs
parents:
diff changeset
   167
    QList<VideoCollectionUiLoaderParam> params;
hgs
parents:
diff changeset
   168
    VideoCollectionUiLoaderParam banner(
hgs
parents:
diff changeset
   169
        DOCML_NAME_VC_HEADINGBANNER,
hgs
parents:
diff changeset
   170
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   171
        true,
hgs
parents:
diff changeset
   172
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   173
    
hgs
parents:
diff changeset
   174
    // pre-load widget asynchronously and find widget
hgs
parents:
diff changeset
   175
    params.append(banner);
hgs
parents:
diff changeset
   176
    mTestObject->addData(params,
hgs
parents:
diff changeset
   177
        this,
hgs
parents:
diff changeset
   178
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   179
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   180
    QTest::qWait(1000); // wait 1 second
hgs
parents:
diff changeset
   181
    HbGroupBox *bannerWidget =
hgs
parents:
diff changeset
   182
        mTestObject->findWidget<HbGroupBox>(
hgs
parents:
diff changeset
   183
            DOCML_NAME_VC_HEADINGBANNER);
hgs
parents:
diff changeset
   184
    QVERIFY(bannerWidget);
hgs
parents:
diff changeset
   185
    QVERIFY(mObjects.contains(DOCML_NAME_VC_HEADINGBANNER));
hgs
parents:
diff changeset
   186
    params.clear();
hgs
parents:
diff changeset
   187
    cleanup();
hgs
parents:
diff changeset
   188
    init();
hgs
parents:
diff changeset
   189
hgs
parents:
diff changeset
   190
    // do not pre-load widget and load it, docml not loaded
hgs
parents:
diff changeset
   191
    HbDocumentLoader::mFindWidgetFails = true;
hgs
parents:
diff changeset
   192
    bannerWidget =
hgs
parents:
diff changeset
   193
        mTestObject->findWidget<HbGroupBox>(
hgs
parents:
diff changeset
   194
            DOCML_NAME_VC_HEADINGBANNER);
hgs
parents:
diff changeset
   195
    QVERIFY(!bannerWidget);
hgs
parents:
diff changeset
   196
    QVERIFY(!mObjects.contains(DOCML_NAME_VC_HEADINGBANNER));
hgs
parents:
diff changeset
   197
    cleanup();
hgs
parents:
diff changeset
   198
    init();
hgs
parents:
diff changeset
   199
hgs
parents:
diff changeset
   200
    // do not pre-load widget but add it in queue, docml loaded
hgs
parents:
diff changeset
   201
    bool ok = false;
hgs
parents:
diff changeset
   202
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   203
    QVERIFY(ok);
hgs
parents:
diff changeset
   204
    params.append(banner);
hgs
parents:
diff changeset
   205
    mTestObject->addData(params,
hgs
parents:
diff changeset
   206
        this,
hgs
parents:
diff changeset
   207
        SLOT(handleObjectReady(QObject*, const QString&)));
38
hgs
parents: 36
diff changeset
   208
    
hgs
parents: 36
diff changeset
   209
    // first test the findWidget with loadIfNotFound == false.
hgs
parents: 36
diff changeset
   210
    bannerWidget =
hgs
parents: 36
diff changeset
   211
        mTestObject->findWidget<HbGroupBox>(
hgs
parents: 36
diff changeset
   212
            DOCML_NAME_VC_HEADINGBANNER, false);
hgs
parents: 36
diff changeset
   213
    QVERIFY(!bannerWidget);
hgs
parents: 36
diff changeset
   214
    QVERIFY(!mObjects.contains(DOCML_NAME_VC_HEADINGBANNER));
hgs
parents: 36
diff changeset
   215
    
hgs
parents: 36
diff changeset
   216
    // then with default value.
36
hgs
parents:
diff changeset
   217
    bannerWidget =
hgs
parents:
diff changeset
   218
        mTestObject->findWidget<HbGroupBox>(
hgs
parents:
diff changeset
   219
            DOCML_NAME_VC_HEADINGBANNER);
hgs
parents:
diff changeset
   220
    QVERIFY(bannerWidget);
hgs
parents:
diff changeset
   221
    QVERIFY(mObjects.contains(DOCML_NAME_VC_HEADINGBANNER));
hgs
parents:
diff changeset
   222
    params.clear();
hgs
parents:
diff changeset
   223
    cleanup();
hgs
parents:
diff changeset
   224
    init();
hgs
parents:
diff changeset
   225
hgs
parents:
diff changeset
   226
    // do not pre-load widget, docml loaded
hgs
parents:
diff changeset
   227
    ok = false;
hgs
parents:
diff changeset
   228
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   229
    QVERIFY(ok);
hgs
parents:
diff changeset
   230
    bannerWidget =
hgs
parents:
diff changeset
   231
        mTestObject->findWidget<HbGroupBox>(
hgs
parents:
diff changeset
   232
            DOCML_NAME_VC_HEADINGBANNER);
hgs
parents:
diff changeset
   233
    QVERIFY(bannerWidget);
hgs
parents:
diff changeset
   234
    QVERIFY(!mObjects.contains(DOCML_NAME_VC_HEADINGBANNER));
hgs
parents:
diff changeset
   235
    cleanup();
hgs
parents:
diff changeset
   236
    init();
hgs
parents:
diff changeset
   237
}
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   240
// testFindObject
hgs
parents:
diff changeset
   241
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   242
//
hgs
parents:
diff changeset
   243
void TestVideoCollectionUiLoader::testFindObject()
hgs
parents:
diff changeset
   244
{
hgs
parents:
diff changeset
   245
    HbDocumentLoader::cleanup();
hgs
parents:
diff changeset
   246
    
hgs
parents:
diff changeset
   247
    QList<VideoCollectionUiLoaderParam> params;
hgs
parents:
diff changeset
   248
    VideoCollectionUiLoaderParam addToCollectionParam(
hgs
parents:
diff changeset
   249
        DOCML_NAME_ADD_TO_COLLECTION,
hgs
parents:
diff changeset
   250
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   251
        false,
hgs
parents:
diff changeset
   252
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   253
    
hgs
parents:
diff changeset
   254
    // find object:
hgs
parents:
diff changeset
   255
    // -docml not loaded
hgs
parents:
diff changeset
   256
    // -object not added in loading queue
hgs
parents:
diff changeset
   257
    HbDocumentLoader::mFindObjectFails = true;
hgs
parents:
diff changeset
   258
    HbAction *addToCollection = mTestObject->findObject<HbAction>(DOCML_NAME_ADD_TO_COLLECTION);
hgs
parents:
diff changeset
   259
    QVERIFY(!addToCollection);
hgs
parents:
diff changeset
   260
    QVERIFY(!mObjects.contains(DOCML_NAME_ADD_TO_COLLECTION));
hgs
parents:
diff changeset
   261
    cleanup();
hgs
parents:
diff changeset
   262
    init();
hgs
parents:
diff changeset
   263
hgs
parents:
diff changeset
   264
    // find object:
hgs
parents:
diff changeset
   265
    // -docml not loaded
hgs
parents:
diff changeset
   266
    // -object added in loading queue
hgs
parents:
diff changeset
   267
    params.append(addToCollectionParam);
hgs
parents:
diff changeset
   268
    mTestObject->addData(params, this, SLOT(handleObjectReady(QObject*, const QString&)));
38
hgs
parents: 36
diff changeset
   269
    
hgs
parents: 36
diff changeset
   270
    // first test with loadIfNotFound == false
hgs
parents: 36
diff changeset
   271
    addToCollection = mTestObject->findObject<HbAction>(DOCML_NAME_ADD_TO_COLLECTION, false);
hgs
parents: 36
diff changeset
   272
    QVERIFY(!addToCollection);
hgs
parents: 36
diff changeset
   273
    QVERIFY(!mObjects.contains(DOCML_NAME_ADD_TO_COLLECTION));
hgs
parents: 36
diff changeset
   274
    
hgs
parents: 36
diff changeset
   275
    // then with default value.
36
hgs
parents:
diff changeset
   276
    addToCollection = mTestObject->findObject<HbAction>(DOCML_NAME_ADD_TO_COLLECTION);
hgs
parents:
diff changeset
   277
    QVERIFY(addToCollection);
hgs
parents:
diff changeset
   278
    QVERIFY(mObjects.contains(DOCML_NAME_ADD_TO_COLLECTION));
hgs
parents:
diff changeset
   279
    params.clear();
hgs
parents:
diff changeset
   280
    cleanup();
hgs
parents:
diff changeset
   281
    init();
hgs
parents:
diff changeset
   282
hgs
parents:
diff changeset
   283
    // find object:
hgs
parents:
diff changeset
   284
    // -docml loaded
hgs
parents:
diff changeset
   285
    // -object not added in loading queue
hgs
parents:
diff changeset
   286
    bool ok = false;
hgs
parents:
diff changeset
   287
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   288
    QVERIFY(ok);
hgs
parents:
diff changeset
   289
    addToCollection = mTestObject->findObject<HbAction>(DOCML_NAME_ADD_TO_COLLECTION);
hgs
parents:
diff changeset
   290
    QVERIFY(addToCollection);
hgs
parents:
diff changeset
   291
    QVERIFY(!mObjects.contains(DOCML_NAME_ADD_TO_COLLECTION));
hgs
parents:
diff changeset
   292
    cleanup();
hgs
parents:
diff changeset
   293
    init();
hgs
parents:
diff changeset
   294
hgs
parents:
diff changeset
   295
    // find object:
hgs
parents:
diff changeset
   296
    // -docml loaded
hgs
parents:
diff changeset
   297
    // -object added in loading queue
hgs
parents:
diff changeset
   298
    ok = false;
hgs
parents:
diff changeset
   299
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   300
    QVERIFY(ok);
hgs
parents:
diff changeset
   301
    params.append(addToCollectionParam);
hgs
parents:
diff changeset
   302
    mTestObject->addData(params, this, SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   303
    addToCollection = mTestObject->findObject<HbAction>(DOCML_NAME_ADD_TO_COLLECTION);
hgs
parents:
diff changeset
   304
    QVERIFY(addToCollection);
hgs
parents:
diff changeset
   305
    QVERIFY(mObjects.contains(DOCML_NAME_ADD_TO_COLLECTION));
hgs
parents:
diff changeset
   306
    params.clear();
hgs
parents:
diff changeset
   307
}
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   310
// testIsService
hgs
parents:
diff changeset
   311
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   312
//
hgs
parents:
diff changeset
   313
void TestVideoCollectionUiLoader::testIsService()
hgs
parents:
diff changeset
   314
{
hgs
parents:
diff changeset
   315
    // is service:
hgs
parents:
diff changeset
   316
    // -service flag set
hgs
parents:
diff changeset
   317
    mTestObject->setIsService(true);
hgs
parents:
diff changeset
   318
    QVERIFY(mTestObject->mIsService);
hgs
parents:
diff changeset
   319
    cleanup();
hgs
parents:
diff changeset
   320
    init();
hgs
parents:
diff changeset
   321
    
hgs
parents:
diff changeset
   322
    // is service:
hgs
parents:
diff changeset
   323
    // -service flag not set    
hgs
parents:
diff changeset
   324
    mTestObject->setIsService(false);
hgs
parents:
diff changeset
   325
    QVERIFY(!mTestObject->mIsService);
hgs
parents:
diff changeset
   326
}
hgs
parents:
diff changeset
   327
hgs
parents:
diff changeset
   328
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   329
// testLoadDocml
hgs
parents:
diff changeset
   330
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   331
//
hgs
parents:
diff changeset
   332
void TestVideoCollectionUiLoader::testLoadDocml()
hgs
parents:
diff changeset
   333
{
hgs
parents:
diff changeset
   334
    HbDocumentLoader::mLoadReturns.append(new QObject());
hgs
parents:
diff changeset
   335
    
hgs
parents:
diff changeset
   336
    // load docml:
hgs
parents:
diff changeset
   337
    // -correct docml once
hgs
parents:
diff changeset
   338
    bool ok = false;
hgs
parents:
diff changeset
   339
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   340
    QVERIFY(ok);
hgs
parents:
diff changeset
   341
    QVERIFY(mTestObject->mDocmls.contains(DOCML_VIDEOCOLLECTIONVIEW_FILE));
hgs
parents:
diff changeset
   342
    cleanup();
hgs
parents:
diff changeset
   343
    init();
hgs
parents:
diff changeset
   344
    
hgs
parents:
diff changeset
   345
    // load docml:
hgs
parents:
diff changeset
   346
    // -two correct docmls
hgs
parents:
diff changeset
   347
    ok = false;
hgs
parents:
diff changeset
   348
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   349
    QVERIFY(ok);
hgs
parents:
diff changeset
   350
    QVERIFY(mTestObject->mDocmls.contains(DOCML_VIDEOCOLLECTIONVIEW_FILE));
hgs
parents:
diff changeset
   351
    mTestObject->load(DOCML_VIDEOSELECTIONDIALOG_FILE, &ok);
hgs
parents:
diff changeset
   352
    QVERIFY(ok);
hgs
parents:
diff changeset
   353
    QVERIFY(mTestObject->mDocmls.contains(DOCML_VIDEOSELECTIONDIALOG_FILE));
hgs
parents:
diff changeset
   354
    cleanup();
hgs
parents:
diff changeset
   355
    init();
hgs
parents:
diff changeset
   356
hgs
parents:
diff changeset
   357
    // load docml:
hgs
parents:
diff changeset
   358
    // -same docml twice
hgs
parents:
diff changeset
   359
    ok = false;
hgs
parents:
diff changeset
   360
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   361
    QVERIFY(ok);
hgs
parents:
diff changeset
   362
    QVERIFY(mTestObject->mDocmls.contains(DOCML_VIDEOCOLLECTIONVIEW_FILE));
hgs
parents:
diff changeset
   363
    int objectCount = mTestObject->mOrphans.count();
hgs
parents:
diff changeset
   364
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   365
    QVERIFY(ok);
hgs
parents:
diff changeset
   366
    QVERIFY(mTestObject->mDocmls.contains(DOCML_VIDEOCOLLECTIONVIEW_FILE));
hgs
parents:
diff changeset
   367
    QVERIFY(objectCount == mTestObject->mOrphans.count());
hgs
parents:
diff changeset
   368
    cleanup();
hgs
parents:
diff changeset
   369
    init();
hgs
parents:
diff changeset
   370
hgs
parents:
diff changeset
   371
    // load docml:
hgs
parents:
diff changeset
   372
    // -incorrect docml
hgs
parents:
diff changeset
   373
    const char *INVALID_DOCML = "invalid docml";
hgs
parents:
diff changeset
   374
    ok = false;
hgs
parents:
diff changeset
   375
    HbDocumentLoader::mLoadFails = true;
hgs
parents:
diff changeset
   376
    mTestObject->load(INVALID_DOCML, &ok);
hgs
parents:
diff changeset
   377
    QVERIFY(!ok);
hgs
parents:
diff changeset
   378
    QVERIFY(!mTestObject->mDocmls.contains(INVALID_DOCML));
hgs
parents:
diff changeset
   379
}
hgs
parents:
diff changeset
   380
hgs
parents:
diff changeset
   381
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   382
// testLoadSection
hgs
parents:
diff changeset
   383
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   384
//
hgs
parents:
diff changeset
   385
void TestVideoCollectionUiLoader::testLoadSection()
hgs
parents:
diff changeset
   386
{
hgs
parents:
diff changeset
   387
    HbDocumentLoader::cleanup();
hgs
parents:
diff changeset
   388
    
hgs
parents:
diff changeset
   389
    // load section:
hgs
parents:
diff changeset
   390
    // -docml loaded
hgs
parents:
diff changeset
   391
    // -correct section once
hgs
parents:
diff changeset
   392
    bool ok = false;
hgs
parents:
diff changeset
   393
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   394
    QVERIFY(ok);
hgs
parents:
diff changeset
   395
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST, &ok);
hgs
parents:
diff changeset
   396
    QVERIFY(ok);
hgs
parents:
diff changeset
   397
    QVERIFY(mTestObject->mSections.contains(DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST));
hgs
parents:
diff changeset
   398
    cleanup();
hgs
parents:
diff changeset
   399
    init();
hgs
parents:
diff changeset
   400
hgs
parents:
diff changeset
   401
    // load section:
hgs
parents:
diff changeset
   402
    // -docml loaded
hgs
parents:
diff changeset
   403
    // -same section twice
hgs
parents:
diff changeset
   404
    ok = false;
hgs
parents:
diff changeset
   405
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   406
    QVERIFY(ok);
hgs
parents:
diff changeset
   407
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST, &ok);
hgs
parents:
diff changeset
   408
    QVERIFY(ok);
hgs
parents:
diff changeset
   409
    QVERIFY(mTestObject->mSections.contains(DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST));
hgs
parents:
diff changeset
   410
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST, &ok);
hgs
parents:
diff changeset
   411
    int sectionCount = mTestObject->mSections.count();
hgs
parents:
diff changeset
   412
    QVERIFY(ok);
hgs
parents:
diff changeset
   413
    QVERIFY(mTestObject->mSections.contains(DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST));
hgs
parents:
diff changeset
   414
    QVERIFY(sectionCount == mTestObject->mSections.count());
hgs
parents:
diff changeset
   415
    cleanup();
hgs
parents:
diff changeset
   416
    init();
hgs
parents:
diff changeset
   417
hgs
parents:
diff changeset
   418
    // load section:
hgs
parents:
diff changeset
   419
    // -docml not loaded
hgs
parents:
diff changeset
   420
    // -correct section once
hgs
parents:
diff changeset
   421
    ok = false;
hgs
parents:
diff changeset
   422
    HbDocumentLoader::mLoadFails = true;
hgs
parents:
diff changeset
   423
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST, &ok);
hgs
parents:
diff changeset
   424
    QVERIFY(!ok);
hgs
parents:
diff changeset
   425
    QVERIFY(!mTestObject->mSections.contains(DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST));
hgs
parents:
diff changeset
   426
    cleanup();
hgs
parents:
diff changeset
   427
    init();
hgs
parents:
diff changeset
   428
}
hgs
parents:
diff changeset
   429
hgs
parents:
diff changeset
   430
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   431
// testLoadPhase
hgs
parents:
diff changeset
   432
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   433
//
hgs
parents:
diff changeset
   434
void TestVideoCollectionUiLoader::testLoadPhase()
hgs
parents:
diff changeset
   435
{
hgs
parents:
diff changeset
   436
    HbDocumentLoader::cleanup();
hgs
parents:
diff changeset
   437
    
hgs
parents:
diff changeset
   438
    // load phase:
hgs
parents:
diff changeset
   439
    // -add first phase items in queue
hgs
parents:
diff changeset
   440
    // -load first phase
hgs
parents:
diff changeset
   441
    VideoCollectionUiLoaderParam videoWidgetParam(
hgs
parents:
diff changeset
   442
        DOCML_NAME_VC_VIDEOLISTWIDGET,
hgs
parents:
diff changeset
   443
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   444
        true,
hgs
parents:
diff changeset
   445
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   446
    VideoCollectionUiLoaderParam collectionWidgetParam(
hgs
parents:
diff changeset
   447
        DOCML_NAME_VC_COLLECTIONWIDGET,
hgs
parents:
diff changeset
   448
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   449
        DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
hgs
parents:
diff changeset
   450
        true,
hgs
parents:
diff changeset
   451
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   452
    VideoCollectionUiLoaderParam collectionContentWidgetParam(
hgs
parents:
diff changeset
   453
        DOCML_NAME_VC_COLLECTIONCONTENTWIDGET,
hgs
parents:
diff changeset
   454
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   455
        DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
hgs
parents:
diff changeset
   456
        true,
hgs
parents:
diff changeset
   457
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   458
    QList<VideoCollectionUiLoaderParam> params;
hgs
parents:
diff changeset
   459
    params.append(videoWidgetParam);
hgs
parents:
diff changeset
   460
    params.append(collectionWidgetParam);
hgs
parents:
diff changeset
   461
    params.append(collectionContentWidgetParam);
hgs
parents:
diff changeset
   462
    mTestObject->addData(params,
hgs
parents:
diff changeset
   463
        this,
hgs
parents:
diff changeset
   464
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   465
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   466
    QTest::qWait(1000); // wait 1 second
hgs
parents:
diff changeset
   467
    QVERIFY(mTestObject->mPhases.contains(VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   468
    QCOMPARE(mTestObject->mObjects.count(), 3);
hgs
parents:
diff changeset
   469
    QVERIFY(mTestObject->mObjects.contains(DOCML_NAME_VC_VIDEOLISTWIDGET));
hgs
parents:
diff changeset
   470
    QVERIFY(mTestObject->mObjects.contains(DOCML_NAME_VC_COLLECTIONWIDGET));
hgs
parents:
diff changeset
   471
    QVERIFY(mTestObject->mObjects.contains(DOCML_NAME_VC_COLLECTIONCONTENTWIDGET));
hgs
parents:
diff changeset
   472
    params.clear();
hgs
parents:
diff changeset
   473
    cleanup();
hgs
parents:
diff changeset
   474
    init();
hgs
parents:
diff changeset
   475
hgs
parents:
diff changeset
   476
    // load phase:
hgs
parents:
diff changeset
   477
    // -add second phase items in queue
hgs
parents:
diff changeset
   478
    // -load first phase
hgs
parents:
diff changeset
   479
    // -load second phase
hgs
parents:
diff changeset
   480
    VideoCollectionUiLoaderParam addToCollectionParam(
hgs
parents:
diff changeset
   481
        DOCML_NAME_ADD_TO_COLLECTION,
hgs
parents:
diff changeset
   482
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   483
        false,
hgs
parents:
diff changeset
   484
        VideoCollectionUiLoaderParam::LoadPhaseSecondary);
hgs
parents:
diff changeset
   485
    VideoCollectionUiLoaderParam createCollectionParam(
hgs
parents:
diff changeset
   486
        DOCML_NAME_CREATE_COLLECTION,
hgs
parents:
diff changeset
   487
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   488
        false,
hgs
parents:
diff changeset
   489
        VideoCollectionUiLoaderParam::LoadPhaseSecondary);
hgs
parents:
diff changeset
   490
    VideoCollectionUiLoaderParam deleteMultipleParam(
hgs
parents:
diff changeset
   491
        DOCML_NAME_DELETE_MULTIPLE,
hgs
parents:
diff changeset
   492
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   493
        false,
hgs
parents:
diff changeset
   494
        VideoCollectionUiLoaderParam::LoadPhaseSecondary);
hgs
parents:
diff changeset
   495
    params.append(addToCollectionParam);
hgs
parents:
diff changeset
   496
    params.append(createCollectionParam);
hgs
parents:
diff changeset
   497
    params.append(deleteMultipleParam);
hgs
parents:
diff changeset
   498
    mTestObject->addData(params,
hgs
parents:
diff changeset
   499
        this,
hgs
parents:
diff changeset
   500
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   501
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   502
    QTest::qWait(1000); // wait 1 second
hgs
parents:
diff changeset
   503
    QVERIFY(mTestObject->mPhases.contains(VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   504
    QVERIFY(mTestObject->mObjects.count() == 0);
hgs
parents:
diff changeset
   505
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhaseSecondary);
hgs
parents:
diff changeset
   506
    QTest::qWait(1000); // wait 1 second
hgs
parents:
diff changeset
   507
    QVERIFY(mTestObject->mPhases.contains(VideoCollectionUiLoaderParam::LoadPhaseSecondary));
hgs
parents:
diff changeset
   508
    QCOMPARE(mTestObject->mObjects.count(), 3);
hgs
parents:
diff changeset
   509
    QVERIFY(mTestObject->mObjects.contains(DOCML_NAME_ADD_TO_COLLECTION));
hgs
parents:
diff changeset
   510
    QVERIFY(mTestObject->mObjects.contains(DOCML_NAME_CREATE_COLLECTION));
hgs
parents:
diff changeset
   511
    QVERIFY(mTestObject->mObjects.contains(DOCML_NAME_DELETE_MULTIPLE));
hgs
parents:
diff changeset
   512
    params.clear();
hgs
parents:
diff changeset
   513
    cleanup();
hgs
parents:
diff changeset
   514
    init();
hgs
parents:
diff changeset
   515
hgs
parents:
diff changeset
   516
    // load phase:
hgs
parents:
diff changeset
   517
    // -add first phase items in queue
hgs
parents:
diff changeset
   518
    // -add second phase items in queue
hgs
parents:
diff changeset
   519
    // -load first phase
hgs
parents:
diff changeset
   520
    // -load second phase
hgs
parents:
diff changeset
   521
    params.append(videoWidgetParam);
hgs
parents:
diff changeset
   522
    params.append(addToCollectionParam);
hgs
parents:
diff changeset
   523
    mTestObject->addData(params,
hgs
parents:
diff changeset
   524
        this,
hgs
parents:
diff changeset
   525
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   526
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   527
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhaseSecondary);
hgs
parents:
diff changeset
   528
    QTest::qWait(1000); // wait 1 second
hgs
parents:
diff changeset
   529
    QVERIFY(mTestObject->mPhases.contains(VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   530
    QVERIFY(mTestObject->mPhases.contains(VideoCollectionUiLoaderParam::LoadPhaseSecondary));
hgs
parents:
diff changeset
   531
    QCOMPARE(mTestObject->mObjects.count(), 2);
hgs
parents:
diff changeset
   532
    QVERIFY(mTestObject->mObjects.contains(DOCML_NAME_VC_VIDEOLISTWIDGET));
hgs
parents:
diff changeset
   533
    QVERIFY(mTestObject->mObjects.contains(DOCML_NAME_ADD_TO_COLLECTION));
hgs
parents:
diff changeset
   534
    params.clear();
hgs
parents:
diff changeset
   535
    cleanup();
hgs
parents:
diff changeset
   536
    init();
hgs
parents:
diff changeset
   537
}
hgs
parents:
diff changeset
   538
hgs
parents:
diff changeset
   539
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   540
// testLoadPhase_2
hgs
parents:
diff changeset
   541
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   542
//
hgs
parents:
diff changeset
   543
void TestVideoCollectionUiLoader::testLoadPhase_2()
hgs
parents:
diff changeset
   544
{
hgs
parents:
diff changeset
   545
    // load phase:
hgs
parents:
diff changeset
   546
    // -add all items
hgs
parents:
diff changeset
   547
    // -load all items
hgs
parents:
diff changeset
   548
    QList<VideoCollectionUiLoaderParam> params;
hgs
parents:
diff changeset
   549
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   550
        DOCML_NAME_VIEW,
hgs
parents:
diff changeset
   551
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   552
        true,
hgs
parents:
diff changeset
   553
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   554
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   555
        DOCML_NAME_VC_HEADINGBANNER,
hgs
parents:
diff changeset
   556
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   557
        true,
hgs
parents:
diff changeset
   558
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   559
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   560
        DOCML_NAME_VC_COLLECTIONWIDGET,
hgs
parents:
diff changeset
   561
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   562
        DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
hgs
parents:
diff changeset
   563
        true,
hgs
parents:
diff changeset
   564
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   565
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   566
        DOCML_NAME_VC_COLLECTIONCONTENTWIDGET,
hgs
parents:
diff changeset
   567
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   568
        DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
hgs
parents:
diff changeset
   569
        true,
hgs
parents:
diff changeset
   570
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   571
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   572
        DOCML_NAME_VC_VIDEOLISTWIDGET,
hgs
parents:
diff changeset
   573
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   574
        true,
hgs
parents:
diff changeset
   575
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   576
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   577
        DOCML_NAME_OPTIONS_MENU,
hgs
parents:
diff changeset
   578
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   579
        true,
hgs
parents:
diff changeset
   580
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   581
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   582
        DOCML_NAME_SORT_MENU,
hgs
parents:
diff changeset
   583
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   584
        true,
hgs
parents:
diff changeset
   585
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   586
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   587
        DOCML_NAME_SORT_BY_DATE,
hgs
parents:
diff changeset
   588
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   589
        false,
hgs
parents:
diff changeset
   590
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   591
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   592
        DOCML_NAME_SORT_BY_NAME,
hgs
parents:
diff changeset
   593
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   594
        false,
hgs
parents:
diff changeset
   595
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   596
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   597
        DOCML_NAME_SORT_BY_NUMBER_OF_ITEMS,
hgs
parents:
diff changeset
   598
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   599
        false,
hgs
parents:
diff changeset
   600
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   601
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   602
        DOCML_NAME_SORT_BY_SIZE,
hgs
parents:
diff changeset
   603
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   604
        false,
hgs
parents:
diff changeset
   605
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   606
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   607
        DOCML_NAME_ADD_TO_COLLECTION,
hgs
parents:
diff changeset
   608
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   609
        false,
hgs
parents:
diff changeset
   610
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   611
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   612
        DOCML_NAME_CREATE_COLLECTION,
hgs
parents:
diff changeset
   613
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   614
        false,
hgs
parents:
diff changeset
   615
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   616
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   617
        DOCML_NAME_DELETE_MULTIPLE,
hgs
parents:
diff changeset
   618
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   619
        false,
hgs
parents:
diff changeset
   620
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   621
    params.append(VideoCollectionUiLoaderParam(
66
hgs
parents: 58
diff changeset
   622
        DOCML_NAME_NO_CONTENT_LABEL,
36
hgs
parents:
diff changeset
   623
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   624
        true,
hgs
parents:
diff changeset
   625
        VideoCollectionUiLoaderParam::LoadPhasePrimary));
hgs
parents:
diff changeset
   626
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   627
        DOCML_NAME_DIALOG,
hgs
parents:
diff changeset
   628
        DOCML_VIDEOSELECTIONDIALOG_FILE,
hgs
parents:
diff changeset
   629
        true,
hgs
parents:
diff changeset
   630
        VideoCollectionUiLoaderParam::LoadPhaseSecondary));
hgs
parents:
diff changeset
   631
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   632
        DOCML_NAME_DLG_HEADINGLBL,
hgs
parents:
diff changeset
   633
        DOCML_VIDEOSELECTIONDIALOG_FILE,
hgs
parents:
diff changeset
   634
        true,
hgs
parents:
diff changeset
   635
        VideoCollectionUiLoaderParam::LoadPhaseSecondary));
hgs
parents:
diff changeset
   636
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   637
        DOCML_NAME_CHECK_CONTAINER,
hgs
parents:
diff changeset
   638
        DOCML_VIDEOSELECTIONDIALOG_FILE,
hgs
parents:
diff changeset
   639
        true,
hgs
parents:
diff changeset
   640
        VideoCollectionUiLoaderParam::LoadPhaseSecondary));
hgs
parents:
diff changeset
   641
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   642
        DOCML_NAME_MARKALL,
hgs
parents:
diff changeset
   643
        DOCML_VIDEOSELECTIONDIALOG_FILE,
hgs
parents:
diff changeset
   644
        true,
hgs
parents:
diff changeset
   645
        VideoCollectionUiLoaderParam::LoadPhaseSecondary));
hgs
parents:
diff changeset
   646
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   647
        DOCML_NAME_LBL_SELECTION,
hgs
parents:
diff changeset
   648
        DOCML_VIDEOSELECTIONDIALOG_FILE,
hgs
parents:
diff changeset
   649
        true,
hgs
parents:
diff changeset
   650
        VideoCollectionUiLoaderParam::LoadPhaseSecondary));
hgs
parents:
diff changeset
   651
    params.append(VideoCollectionUiLoaderParam(
hgs
parents:
diff changeset
   652
        DOCML_NAME_LIST_CONTAINER,
hgs
parents:
diff changeset
   653
        DOCML_VIDEOSELECTIONDIALOG_FILE,
hgs
parents:
diff changeset
   654
        true,
hgs
parents:
diff changeset
   655
        VideoCollectionUiLoaderParam::LoadPhaseSecondary));
hgs
parents:
diff changeset
   656
    mTestObject->addData(params,
hgs
parents:
diff changeset
   657
        this,
hgs
parents:
diff changeset
   658
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   659
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   660
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhaseSecondary);
hgs
parents:
diff changeset
   661
    QTest::qWait(5000); // 5 seconds
hgs
parents:
diff changeset
   662
    QCOMPARE(mObjects.count(), params.count());
hgs
parents:
diff changeset
   663
    QHash<QString, QObject*>::const_iterator i = mObjects.constBegin();
hgs
parents:
diff changeset
   664
    while (i != mObjects.constEnd())
hgs
parents:
diff changeset
   665
    {
hgs
parents:
diff changeset
   666
        bool found = false;
hgs
parents:
diff changeset
   667
        foreach (const VideoCollectionUiLoaderParam &param, params)
hgs
parents:
diff changeset
   668
        {
hgs
parents:
diff changeset
   669
            if (param == i.key())
hgs
parents:
diff changeset
   670
            {
hgs
parents:
diff changeset
   671
                found = true;
hgs
parents:
diff changeset
   672
                break;
hgs
parents:
diff changeset
   673
            }
hgs
parents:
diff changeset
   674
        }
hgs
parents:
diff changeset
   675
        QVERIFY(found);
hgs
parents:
diff changeset
   676
        i++;
hgs
parents:
diff changeset
   677
    }
58
hgs
parents: 44
diff changeset
   678
    QCOMPARE(VideoListWidgetData::mInitializeCount, 3);
36
hgs
parents:
diff changeset
   679
    
hgs
parents:
diff changeset
   680
    // Getting proxymodel fails.
hgs
parents:
diff changeset
   681
    cleanup();
hgs
parents:
diff changeset
   682
    init();
hgs
parents:
diff changeset
   683
    mTestObject->addData(params,
hgs
parents:
diff changeset
   684
        this,
hgs
parents:
diff changeset
   685
        SLOT(handleObjectReady(QObject*, const QString&)));
58
hgs
parents: 44
diff changeset
   686
    VideoCollectionWrapperData::mGetAllVideosModelFails = true;
hgs
parents: 44
diff changeset
   687
    VideoCollectionWrapperData::mGetCollectionsModelFails = true;
hgs
parents: 44
diff changeset
   688
    VideoCollectionWrapperData::mGetCollectionContentModelFails = true;
36
hgs
parents:
diff changeset
   689
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   690
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhaseSecondary);
hgs
parents:
diff changeset
   691
    QTest::qWait(5000); // 5 seconds
hgs
parents:
diff changeset
   692
    QCOMPARE(mObjects.count(), params.count());
hgs
parents:
diff changeset
   693
    i = mObjects.constBegin();
hgs
parents:
diff changeset
   694
    while (i != mObjects.constEnd())
hgs
parents:
diff changeset
   695
    {
hgs
parents:
diff changeset
   696
        bool found = false;
hgs
parents:
diff changeset
   697
        foreach (const VideoCollectionUiLoaderParam &param, params)
hgs
parents:
diff changeset
   698
        {
hgs
parents:
diff changeset
   699
            if (param == i.key())
hgs
parents:
diff changeset
   700
            {
hgs
parents:
diff changeset
   701
                found = true;
hgs
parents:
diff changeset
   702
                break;
hgs
parents:
diff changeset
   703
            }
hgs
parents:
diff changeset
   704
        }
hgs
parents:
diff changeset
   705
        QVERIFY(found);
hgs
parents:
diff changeset
   706
        i++;
hgs
parents:
diff changeset
   707
    }
hgs
parents:
diff changeset
   708
    params.clear();
58
hgs
parents: 44
diff changeset
   709
    QCOMPARE(VideoListWidgetData::mInitializeCount, 0);
36
hgs
parents:
diff changeset
   710
}
hgs
parents:
diff changeset
   711
hgs
parents:
diff changeset
   712
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   713
// testDelete
hgs
parents:
diff changeset
   714
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   715
//
hgs
parents:
diff changeset
   716
void TestVideoCollectionUiLoader::testDelete()
hgs
parents:
diff changeset
   717
{
hgs
parents:
diff changeset
   718
    VideoCollectionWrapperData::reset();
hgs
parents:
diff changeset
   719
    
hgs
parents:
diff changeset
   720
    // delete:
hgs
parents:
diff changeset
   721
    // -load docml
hgs
parents:
diff changeset
   722
    // -delete one "root" item
hgs
parents:
diff changeset
   723
    bool ok = false;
hgs
parents:
diff changeset
   724
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   725
    QVERIFY(ok);
hgs
parents:
diff changeset
   726
    HbAction *addToCollection = mTestObject->findObject<HbAction>(DOCML_NAME_ADD_TO_COLLECTION);
hgs
parents:
diff changeset
   727
    HbAction *tempAction = addToCollection;
hgs
parents:
diff changeset
   728
    delete addToCollection;
hgs
parents:
diff changeset
   729
    QVERIFY(!mTestObject->mOrphans.contains(tempAction));
hgs
parents:
diff changeset
   730
    cleanup();
hgs
parents:
diff changeset
   731
    init();
hgs
parents:
diff changeset
   732
hgs
parents:
diff changeset
   733
    // delete:
hgs
parents:
diff changeset
   734
    // -load docml
hgs
parents:
diff changeset
   735
    // -delete all items
hgs
parents:
diff changeset
   736
    ok = false;
hgs
parents:
diff changeset
   737
    mTestObject->load(DOCML_VIDEOCOLLECTIONVIEW_FILE, &ok);
hgs
parents:
diff changeset
   738
    foreach (QObject *object, mTestObject->mOrphans)
hgs
parents:
diff changeset
   739
    {
hgs
parents:
diff changeset
   740
        delete object;
hgs
parents:
diff changeset
   741
    }
hgs
parents:
diff changeset
   742
    QVERIFY(!mTestObject->mOrphans.count());
hgs
parents:
diff changeset
   743
    QVERIFY(ok);
hgs
parents:
diff changeset
   744
}
hgs
parents:
diff changeset
   745
hgs
parents:
diff changeset
   746
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   747
// testRemoveOrphanFromList
hgs
parents:
diff changeset
   748
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   749
//
hgs
parents:
diff changeset
   750
void TestVideoCollectionUiLoader::testRemoveOrphanFromList()
hgs
parents:
diff changeset
   751
{
hgs
parents:
diff changeset
   752
    QObject *obj = 0;
hgs
parents:
diff changeset
   753
    
hgs
parents:
diff changeset
   754
    // Nothing in the object lists.
hgs
parents:
diff changeset
   755
    cleanup();
hgs
parents:
diff changeset
   756
    init();
hgs
parents:
diff changeset
   757
    connect(this, SIGNAL(testSignal(QObject *)), mTestObject, SLOT(removeOrphanFromList(QObject *)));
hgs
parents:
diff changeset
   758
    emit testSignal(obj);
hgs
parents:
diff changeset
   759
    disconnect(this, SIGNAL(testSignal(QObject *)), mTestObject, SLOT(removeOrphanFromList(QObject *)));
hgs
parents:
diff changeset
   760
    QCOMPARE(mTestObject->mOrphans.count(), 0);
hgs
parents:
diff changeset
   761
    QCOMPARE(mTestObject->mObjects.count(), 0);
hgs
parents:
diff changeset
   762
    
hgs
parents:
diff changeset
   763
    // Orphans and objects contain the object.
hgs
parents:
diff changeset
   764
    cleanup();
hgs
parents:
diff changeset
   765
    init();
hgs
parents:
diff changeset
   766
    connect(this, SIGNAL(testSignal(QObject *)), mTestObject, SLOT(removeOrphanFromList(QObject *)));
hgs
parents:
diff changeset
   767
    obj = new QObject();
hgs
parents:
diff changeset
   768
    mTestObject->mOrphans.append(obj);
hgs
parents:
diff changeset
   769
    mTestObject->mObjects.insert("test", obj); 
hgs
parents:
diff changeset
   770
    emit testSignal(obj);
hgs
parents:
diff changeset
   771
    disconnect(this, SIGNAL(testSignal(QObject *)), mTestObject, SLOT(removeOrphanFromList(QObject *)));
hgs
parents:
diff changeset
   772
    QCOMPARE(mTestObject->mOrphans.count(), 0);
hgs
parents:
diff changeset
   773
    QCOMPARE(mTestObject->mObjects.count(), 0);
hgs
parents:
diff changeset
   774
    delete obj;
hgs
parents:
diff changeset
   775
hgs
parents:
diff changeset
   776
    // Orphans contain the object, objects has different
hgs
parents:
diff changeset
   777
    cleanup();
hgs
parents:
diff changeset
   778
    init();
hgs
parents:
diff changeset
   779
    connect(this, SIGNAL(testSignal(QObject *)), mTestObject, SLOT(removeOrphanFromList(QObject *)));
hgs
parents:
diff changeset
   780
    obj = new QObject();
hgs
parents:
diff changeset
   781
    mTestObject->mOrphans.append(obj);
hgs
parents:
diff changeset
   782
    mTestObject->mObjects.insert("test", new QObject()); 
hgs
parents:
diff changeset
   783
    emit testSignal(obj);
hgs
parents:
diff changeset
   784
    disconnect(this, SIGNAL(testSignal(QObject *)), mTestObject, SLOT(removeOrphanFromList(QObject *)));
hgs
parents:
diff changeset
   785
    QCOMPARE(mTestObject->mOrphans.count(), 0);
hgs
parents:
diff changeset
   786
    QCOMPARE(mTestObject->mObjects.count(), 1);
hgs
parents:
diff changeset
   787
    delete obj;
hgs
parents:
diff changeset
   788
}
hgs
parents:
diff changeset
   789
hgs
parents:
diff changeset
   790
// TEST CASES END -------------------------------------------------------------
hgs
parents:
diff changeset
   791
hgs
parents:
diff changeset
   792
void TestVideoCollectionUiLoader::handleObjectReady(QObject *object, const QString &name)
hgs
parents:
diff changeset
   793
{
hgs
parents:
diff changeset
   794
    qDebug() << "Received object :" << name;
hgs
parents:
diff changeset
   795
    
hgs
parents:
diff changeset
   796
    if (object)
hgs
parents:
diff changeset
   797
    {
hgs
parents:
diff changeset
   798
        if (name == DOCML_NAME_VIEW)
hgs
parents:
diff changeset
   799
        {
39
hgs
parents: 38
diff changeset
   800
            if(hbInstance->allMainWindows().count())
36
hgs
parents:
diff changeset
   801
            {
39
hgs
parents: 38
diff changeset
   802
                HbMainWindow *window = hbInstance->allMainWindows().at(0);
36
hgs
parents:
diff changeset
   803
                HbView *view = qobject_cast<HbView*>(object);
hgs
parents:
diff changeset
   804
                if (view)
hgs
parents:
diff changeset
   805
                {
hgs
parents:
diff changeset
   806
                    window->setCurrentView(view);
hgs
parents:
diff changeset
   807
                }
hgs
parents:
diff changeset
   808
            }
hgs
parents:
diff changeset
   809
        }
hgs
parents:
diff changeset
   810
        mObjects.insert(name, object);
hgs
parents:
diff changeset
   811
    }
hgs
parents:
diff changeset
   812
}
hgs
parents:
diff changeset
   813
hgs
parents:
diff changeset
   814
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   815
// testPrepareDocmlAndSection
hgs
parents:
diff changeset
   816
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   817
//
hgs
parents:
diff changeset
   818
void TestVideoCollectionUiLoader::testPrepareDocmlAndSection()
hgs
parents:
diff changeset
   819
{
hgs
parents:
diff changeset
   820
    VideoCollectionUiLoaderParam banner(
hgs
parents:
diff changeset
   821
        DOCML_NAME_VC_HEADINGBANNER,
hgs
parents:
diff changeset
   822
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   823
        DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
hgs
parents:
diff changeset
   824
        true,
hgs
parents:
diff changeset
   825
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   826
    VideoCollectionUiLoaderParam collectionWidget(
hgs
parents:
diff changeset
   827
        DOCML_NAME_VC_COLLECTIONWIDGET,
hgs
parents:
diff changeset
   828
        DOCML_VIDEOCOLLECTIONVIEW_FILE,
hgs
parents:
diff changeset
   829
        0,
hgs
parents:
diff changeset
   830
        true,
hgs
parents:
diff changeset
   831
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   832
    VideoCollectionUiLoaderParam collectionContentWidget(
hgs
parents:
diff changeset
   833
        DOCML_NAME_VC_COLLECTIONCONTENTWIDGET,
hgs
parents:
diff changeset
   834
        0,
hgs
parents:
diff changeset
   835
        DOCML_VIDEOCOLLECTIONVIEW_SECTION_LIST,
hgs
parents:
diff changeset
   836
        true,
hgs
parents:
diff changeset
   837
        VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   838
    const int COUNT = 3;
hgs
parents:
diff changeset
   839
    
hgs
parents:
diff changeset
   840
    // add items
hgs
parents:
diff changeset
   841
    QList<VideoCollectionUiLoaderParam> params;
hgs
parents:
diff changeset
   842
    params.append(banner);
hgs
parents:
diff changeset
   843
    params.append(collectionWidget);
hgs
parents:
diff changeset
   844
    params.append(collectionContentWidget);
hgs
parents:
diff changeset
   845
    
hgs
parents:
diff changeset
   846
    cleanup();
hgs
parents:
diff changeset
   847
    init();
hgs
parents:
diff changeset
   848
    HbDocumentLoader::mFindWidgetFails = true;
hgs
parents:
diff changeset
   849
    mTestObject->addData(params,
hgs
parents:
diff changeset
   850
        this,
hgs
parents:
diff changeset
   851
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   852
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   853
    QTest::qWait(1000); // wait 1 second
hgs
parents:
diff changeset
   854
    QVERIFY(mTestObject->mQueue.count() == 0);
hgs
parents:
diff changeset
   855
    QVERIFY(!mTestObject->mQueue.contains(banner));
hgs
parents:
diff changeset
   856
    QVERIFY(!mTestObject->mQueue.contains(collectionWidget));
hgs
parents:
diff changeset
   857
    QVERIFY(!mTestObject->mQueue.contains(collectionContentWidget));
hgs
parents:
diff changeset
   858
    QCOMPARE(mTestObject->mQueue.count(), 0);    
hgs
parents:
diff changeset
   859
hgs
parents:
diff changeset
   860
    cleanup();
hgs
parents:
diff changeset
   861
    init();
hgs
parents:
diff changeset
   862
    HbDocumentLoader::mFindWidgetFails = true;
hgs
parents:
diff changeset
   863
    HbDocumentLoader::mLoadFails = true;
hgs
parents:
diff changeset
   864
    mTestObject->addData(params,
hgs
parents:
diff changeset
   865
        this,
hgs
parents:
diff changeset
   866
        SLOT(handleObjectReady(QObject*, const QString&)));
hgs
parents:
diff changeset
   867
    mTestObject->loadPhase(VideoCollectionUiLoaderParam::LoadPhasePrimary);
hgs
parents:
diff changeset
   868
    QTest::qWait(1000); // wait 1 second
hgs
parents:
diff changeset
   869
    QVERIFY(mTestObject->mQueue.count() == 0);
hgs
parents:
diff changeset
   870
    QVERIFY(!mTestObject->mQueue.contains(banner));
hgs
parents:
diff changeset
   871
    QVERIFY(!mTestObject->mQueue.contains(collectionWidget));
hgs
parents:
diff changeset
   872
    QVERIFY(!mTestObject->mQueue.contains(collectionContentWidget));
hgs
parents:
diff changeset
   873
    QCOMPARE(mTestObject->mQueue.count(), 0);    
hgs
parents:
diff changeset
   874
}
hgs
parents:
diff changeset
   875
hgs
parents:
diff changeset
   876
// end of file