videocollection/videocollectionwrapper/tsrc/testvideomodel_p/src/testvideomodel_p.cpp
author hgs
Thu, 01 Apr 2010 23:22:15 +0300
changeset 34 bbb98528c666
parent 30 4f111d64a341
child 35 3738fe97f027
permissions -rw-r--r--
201009
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
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 "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: 
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// INCLUDES
hgs
parents:
diff changeset
    19
#include <mpxmediageneraldefs.h>
hgs
parents:
diff changeset
    20
#include <mpxmediaarray.h>
hgs
parents:
diff changeset
    21
#include <mpxmedia.h>
hgs
parents:
diff changeset
    22
#include <vcxmyvideosdefs.h>
hgs
parents:
diff changeset
    23
#include <qabstractitemmodel.h>
34
hgs
parents: 30
diff changeset
    24
#include "testvideomodel_p.h"
hgs
parents: 30
diff changeset
    25
30
hgs
parents:
diff changeset
    26
#include "videocollectionutils.h"
hgs
parents:
diff changeset
    27
#include "videothumbnaildata.h"
hgs
parents:
diff changeset
    28
#include "videolistdatamodel.h"
34
hgs
parents: 30
diff changeset
    29
30
hgs
parents:
diff changeset
    30
#include "mediaobjectfactory.h"
hgs
parents:
diff changeset
    31
#include "videocollectioncommon.h"
hgs
parents:
diff changeset
    32
#include "videocollectionutils.h"
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
#define private public
hgs
parents:
diff changeset
    35
#include "videolistdatamodel_p.h"
hgs
parents:
diff changeset
    36
#undef private
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
const int MEDIA_COUNT = 10;
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
inline uint qHash(TMPXItemId key) 
hgs
parents:
diff changeset
    41
{ 
hgs
parents:
diff changeset
    42
    QPair<uint, uint> keyPair(key.iId1, key.iId2); 
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
    return qHash(keyPair);
hgs
parents:
diff changeset
    45
}
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
int main(int argc, char *argv[])
hgs
parents:
diff changeset
    49
{
hgs
parents:
diff changeset
    50
    Q_UNUSED(argc);
hgs
parents:
diff changeset
    51
    
hgs
parents:
diff changeset
    52
    TestVideoModel_p tv;
hgs
parents:
diff changeset
    53
34
hgs
parents: 30
diff changeset
    54
    int res;
hgs
parents: 30
diff changeset
    55
    if(argc > 1)
hgs
parents: 30
diff changeset
    56
    {   
hgs
parents: 30
diff changeset
    57
        res = QTest::qExec(&tv, argc, argv);
hgs
parents: 30
diff changeset
    58
    }
hgs
parents: 30
diff changeset
    59
    else
hgs
parents: 30
diff changeset
    60
    {
hgs
parents: 30
diff changeset
    61
        char *pass[3];
hgs
parents: 30
diff changeset
    62
        pass[0] = argv[0];
hgs
parents: 30
diff changeset
    63
        pass[1] = "-o";
hgs
parents: 30
diff changeset
    64
        pass[2] = "c:\\data\\testvideomodel_p.txt";
hgs
parents: 30
diff changeset
    65
        res = QTest::qExec(&tv, 3, pass);
hgs
parents: 30
diff changeset
    66
    }    
30
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
    return res;
hgs
parents:
diff changeset
    69
}
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    72
// initTestCase
hgs
parents:
diff changeset
    73
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    74
//
34
hgs
parents: 30
diff changeset
    75
30
hgs
parents:
diff changeset
    76
void TestVideoModel_p::initTestCase()
hgs
parents:
diff changeset
    77
{
34
hgs
parents: 30
diff changeset
    78
    qRegisterMetaType<TMPXItemId>("TMPXItemId");
30
hgs
parents:
diff changeset
    79
    mTestObject = 0;
hgs
parents:
diff changeset
    80
    mMediaFactory = new MediaObjectFactory();
hgs
parents:
diff changeset
    81
    
hgs
parents:
diff changeset
    82
    mStubModel = new VideoListDataModel();
hgs
parents:
diff changeset
    83
}
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    86
// init
hgs
parents:
diff changeset
    87
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    88
//
hgs
parents:
diff changeset
    89
void TestVideoModel_p::init()
hgs
parents:
diff changeset
    90
{
hgs
parents:
diff changeset
    91
    qRegisterMetaType<QModelIndex>("QModelIndex");
hgs
parents:
diff changeset
    92
    mTestObject = new VideoListDataModelPrivate(mStubModel);
hgs
parents:
diff changeset
    93
    QVERIFY(mTestObject);
hgs
parents:
diff changeset
    94
    VideoCollectionUtils::mPrepareLengthStringReturnValue = "test duration";
34
hgs
parents: 30
diff changeset
    95
    VideoCollectionUtils::mPrepareSizeStringReturnValue = "test size";   
30
hgs
parents:
diff changeset
    96
}
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    99
// cleanup
hgs
parents:
diff changeset
   100
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   101
//
hgs
parents:
diff changeset
   102
void TestVideoModel_p::cleanup()
hgs
parents:
diff changeset
   103
{
hgs
parents:
diff changeset
   104
    if(mTestObject)
hgs
parents:
diff changeset
   105
    {
hgs
parents:
diff changeset
   106
        delete mTestObject;
hgs
parents:
diff changeset
   107
        mTestObject = 0;
hgs
parents:
diff changeset
   108
    }  
hgs
parents:
diff changeset
   109
}
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   112
// cleanupTestCase
hgs
parents:
diff changeset
   113
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   114
//
hgs
parents:
diff changeset
   115
void TestVideoModel_p::cleanupTestCase()
hgs
parents:
diff changeset
   116
{
hgs
parents:
diff changeset
   117
    delete mMediaFactory;
hgs
parents:
diff changeset
   118
    delete mStubModel;
hgs
parents:
diff changeset
   119
}
hgs
parents:
diff changeset
   120
hgs
parents:
diff changeset
   121
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   122
// testInitTNFails
hgs
parents:
diff changeset
   123
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   124
//
34
hgs
parents: 30
diff changeset
   125
30
hgs
parents:
diff changeset
   126
void TestVideoModel_p::testInitialize()
hgs
parents:
diff changeset
   127
{   
hgs
parents:
diff changeset
   128
    // Succeeds.
hgs
parents:
diff changeset
   129
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   130
    
hgs
parents:
diff changeset
   131
    // Initialize already called.
hgs
parents:
diff changeset
   132
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   133
}
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   136
// testItemCount
hgs
parents:
diff changeset
   137
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   138
//
hgs
parents:
diff changeset
   139
void TestVideoModel_p::testItemCount()
hgs
parents:
diff changeset
   140
{    
hgs
parents:
diff changeset
   141
    QVERIFY(mTestObject->getVideoCount() == 0);
hgs
parents:
diff changeset
   142
    
hgs
parents:
diff changeset
   143
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));    
hgs
parents:
diff changeset
   144
    
hgs
parents:
diff changeset
   145
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   146
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   147
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   148
        
hgs
parents:
diff changeset
   149
    QVERIFY( mTestObject->getVideoCount() == MEDIA_COUNT);
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   152
}
hgs
parents:
diff changeset
   153
hgs
parents:
diff changeset
   154
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   155
// testGetMediaIdFromIndex
hgs
parents:
diff changeset
   156
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   157
//
hgs
parents:
diff changeset
   158
void TestVideoModel_p::testGetMediaIdFromIndex()
hgs
parents:
diff changeset
   159
{
hgs
parents:
diff changeset
   160
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == -1);
hgs
parents:
diff changeset
   161
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == -1);
hgs
parents:
diff changeset
   162
    
hgs
parents:
diff changeset
   163
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   164
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
   165
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   166
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   167
    
hgs
parents:
diff changeset
   168
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == -1);
hgs
parents:
diff changeset
   169
    
hgs
parents:
diff changeset
   170
    QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT) == -1);
hgs
parents:
diff changeset
   171
    
hgs
parents:
diff changeset
   172
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == 0);
hgs
parents:
diff changeset
   173
    
hgs
parents:
diff changeset
   174
    QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT - 1);
hgs
parents:
diff changeset
   175
    
hgs
parents:
diff changeset
   176
    // no data
34
hgs
parents: 30
diff changeset
   177
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   178
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   179
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataNone);    
hgs
parents:
diff changeset
   180
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   181
    
hgs
parents:
diff changeset
   182
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == -1);
hgs
parents:
diff changeset
   183
        
hgs
parents:
diff changeset
   184
    QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT) == -1);
hgs
parents:
diff changeset
   185
    
hgs
parents:
diff changeset
   186
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == -1);
hgs
parents:
diff changeset
   187
    
hgs
parents:
diff changeset
   188
    QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT - 1) == - 1);
hgs
parents:
diff changeset
   189
       
hgs
parents:
diff changeset
   190
              
hgs
parents:
diff changeset
   191
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   192
}
hgs
parents:
diff changeset
   193
hgs
parents:
diff changeset
   194
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   195
// testGetVideoNameFromIndex
hgs
parents:
diff changeset
   196
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   197
//
hgs
parents:
diff changeset
   198
void TestVideoModel_p::testGetVideoNameFromIndex()
hgs
parents:
diff changeset
   199
{
hgs
parents:
diff changeset
   200
    QString expectedName = "";
hgs
parents:
diff changeset
   201
        
hgs
parents:
diff changeset
   202
    QVERIFY(mTestObject->getVideoNameFromIndex(0) == expectedName);
hgs
parents:
diff changeset
   203
    QVERIFY(mTestObject->getVideoNameFromIndex(-1) == expectedName);
hgs
parents:
diff changeset
   204
    
hgs
parents:
diff changeset
   205
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   206
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
   207
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   208
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   209
    
hgs
parents:
diff changeset
   210
    QVERIFY(mTestObject->getVideoNameFromIndex(-1) == expectedName);
hgs
parents:
diff changeset
   211
            
hgs
parents:
diff changeset
   212
    QVERIFY(mTestObject->getVideoNameFromIndex(MEDIA_COUNT) == expectedName);
hgs
parents:
diff changeset
   213
    
hgs
parents:
diff changeset
   214
    expectedName = gQTMediaNamePrefix + "0";
hgs
parents:
diff changeset
   215
    QVERIFY(mTestObject->getVideoNameFromIndex(0) == expectedName);
hgs
parents:
diff changeset
   216
    
hgs
parents:
diff changeset
   217
    expectedName = gQTMediaNamePrefix + QString::number(MEDIA_COUNT - 1);
hgs
parents:
diff changeset
   218
    QVERIFY(mTestObject->getVideoNameFromIndex(MEDIA_COUNT - 1) == expectedName);
hgs
parents:
diff changeset
   219
    
hgs
parents:
diff changeset
   220
    // no data
hgs
parents:
diff changeset
   221
    expectedName = "";
34
hgs
parents: 30
diff changeset
   222
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   223
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   224
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   225
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   226
    
hgs
parents:
diff changeset
   227
    QVERIFY(mTestObject->getVideoNameFromIndex(-1) == expectedName);
hgs
parents:
diff changeset
   228
        
hgs
parents:
diff changeset
   229
    QVERIFY(mTestObject->getVideoNameFromIndex(MEDIA_COUNT) == expectedName);
hgs
parents:
diff changeset
   230
    
hgs
parents:
diff changeset
   231
    QVERIFY(mTestObject->getVideoNameFromIndex(0) == expectedName);
hgs
parents:
diff changeset
   232
    
hgs
parents:
diff changeset
   233
    QVERIFY(mTestObject->getVideoNameFromIndex(MEDIA_COUNT - 1) == expectedName);
hgs
parents:
diff changeset
   234
    
hgs
parents:
diff changeset
   235
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
hgs
parents:
diff changeset
   236
}
hgs
parents:
diff changeset
   237
hgs
parents:
diff changeset
   238
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   239
// testGetVideoThumbnailFromIndex
hgs
parents:
diff changeset
   240
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   241
//
hgs
parents:
diff changeset
   242
void TestVideoModel_p::testGetVideoThumbnailFromIndex()
hgs
parents:
diff changeset
   243
{
hgs
parents:
diff changeset
   244
    // TODO:
hgs
parents:
diff changeset
   245
    // no thumbnail data
hgs
parents:
diff changeset
   246
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(0) == 0);
hgs
parents:
diff changeset
   247
    
hgs
parents:
diff changeset
   248
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   249
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
   250
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   251
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   252
    
hgs
parents:
diff changeset
   253
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   254
    
hgs
parents:
diff changeset
   255
    // invalid indexes
hgs
parents:
diff changeset
   256
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(-1) == 0);
hgs
parents:
diff changeset
   257
    
hgs
parents:
diff changeset
   258
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   259
    
hgs
parents:
diff changeset
   260
    // correct indexes
hgs
parents:
diff changeset
   261
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(0) != 0);
hgs
parents:
diff changeset
   262
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(MEDIA_COUNT/2) != 0);
hgs
parents:
diff changeset
   263
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(MEDIA_COUNT - 1) != 0);
hgs
parents:
diff changeset
   264
      
hgs
parents:
diff changeset
   265
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
hgs
parents:
diff changeset
   266
}
hgs
parents:
diff changeset
   267
hgs
parents:
diff changeset
   268
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   269
// testGetVideoSizeFromIndex
hgs
parents:
diff changeset
   270
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   271
//
hgs
parents:
diff changeset
   272
void TestVideoModel_p::testGetVideoSizeFromIndex()
hgs
parents:
diff changeset
   273
{
hgs
parents:
diff changeset
   274
    QVERIFY(mTestObject->getVideoSizeFromIndex(0) == 0);
hgs
parents:
diff changeset
   275
    QVERIFY(mTestObject->getVideoSizeFromIndex(-1) == 0);
hgs
parents:
diff changeset
   276
    
hgs
parents:
diff changeset
   277
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   278
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   279
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   280
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   281
    
hgs
parents:
diff changeset
   282
    QVERIFY(mTestObject->getVideoSizeFromIndex(-1) == 0);
hgs
parents:
diff changeset
   283
        
hgs
parents:
diff changeset
   284
    QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   285
    
hgs
parents:
diff changeset
   286
    QVERIFY(mTestObject->getVideoSizeFromIndex(0) == 1);
hgs
parents:
diff changeset
   287
    
hgs
parents:
diff changeset
   288
    QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT);
hgs
parents:
diff changeset
   289
    
hgs
parents:
diff changeset
   290
    // data does not exist
34
hgs
parents: 30
diff changeset
   291
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   292
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   293
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   294
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   295
    
hgs
parents:
diff changeset
   296
    QVERIFY(mTestObject->getVideoSizeFromIndex(-1) == 0);
hgs
parents:
diff changeset
   297
            
hgs
parents:
diff changeset
   298
    QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   299
    
hgs
parents:
diff changeset
   300
    QVERIFY(mTestObject->getVideoSizeFromIndex(0) == 0);
hgs
parents:
diff changeset
   301
    
hgs
parents:
diff changeset
   302
    QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT - 1) == 0);
hgs
parents:
diff changeset
   303
    
hgs
parents:
diff changeset
   304
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   305
}
hgs
parents:
diff changeset
   306
hgs
parents:
diff changeset
   307
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   308
// testGetVideoAgeProfileFromIndex
hgs
parents:
diff changeset
   309
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   310
//
hgs
parents:
diff changeset
   311
void TestVideoModel_p::testGetVideoAgeProfileFromIndex()
hgs
parents:
diff changeset
   312
{
hgs
parents:
diff changeset
   313
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(0) == 0);
hgs
parents:
diff changeset
   314
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(-1) == 0);
hgs
parents:
diff changeset
   315
    
hgs
parents:
diff changeset
   316
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   317
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   318
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   319
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   320
        
hgs
parents:
diff changeset
   321
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(-1) == 0);
hgs
parents:
diff changeset
   322
            
hgs
parents:
diff changeset
   323
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   324
    
hgs
parents:
diff changeset
   325
    quint32 excepted = (0%5) + 1;
hgs
parents:
diff changeset
   326
    
hgs
parents:
diff changeset
   327
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(0) == excepted);
hgs
parents:
diff changeset
   328
    
hgs
parents:
diff changeset
   329
    excepted = ((MEDIA_COUNT - 1)%5) + 1;
hgs
parents:
diff changeset
   330
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT - 1) == excepted);
hgs
parents:
diff changeset
   331
    
hgs
parents:
diff changeset
   332
    // data does not exist
34
hgs
parents: 30
diff changeset
   333
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   334
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   335
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   336
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   337
    
hgs
parents:
diff changeset
   338
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(-1) == 0);
hgs
parents:
diff changeset
   339
                
hgs
parents:
diff changeset
   340
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   341
    
hgs
parents:
diff changeset
   342
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(0) == 0);
hgs
parents:
diff changeset
   343
hgs
parents:
diff changeset
   344
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT - 1) == 0);
hgs
parents:
diff changeset
   345
         
hgs
parents:
diff changeset
   346
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   347
}
hgs
parents:
diff changeset
   348
hgs
parents:
diff changeset
   349
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   350
// testGetVideodurationFromIndex
hgs
parents:
diff changeset
   351
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   352
//
hgs
parents:
diff changeset
   353
void TestVideoModel_p::testGetVideodurationFromIndex()
hgs
parents:
diff changeset
   354
{
hgs
parents:
diff changeset
   355
    QVERIFY(mTestObject->getVideodurationFromIndex(0) == 0);
hgs
parents:
diff changeset
   356
    QVERIFY(mTestObject->getVideodurationFromIndex(-1) == 0);
hgs
parents:
diff changeset
   357
    
hgs
parents:
diff changeset
   358
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   359
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   360
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   361
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   362
    
hgs
parents:
diff changeset
   363
    QVERIFY(mTestObject->getVideodurationFromIndex(-1) == 0);
hgs
parents:
diff changeset
   364
        
hgs
parents:
diff changeset
   365
    QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   366
    
hgs
parents:
diff changeset
   367
    QVERIFY(mTestObject->getVideodurationFromIndex(0) == 1);
hgs
parents:
diff changeset
   368
    
hgs
parents:
diff changeset
   369
    QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT );
hgs
parents:
diff changeset
   370
    
hgs
parents:
diff changeset
   371
    // data does not exist
34
hgs
parents: 30
diff changeset
   372
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   373
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   374
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   375
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   376
    
hgs
parents:
diff changeset
   377
    QVERIFY(mTestObject->getVideodurationFromIndex(-1) == 0);
hgs
parents:
diff changeset
   378
            
hgs
parents:
diff changeset
   379
    QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   380
    
hgs
parents:
diff changeset
   381
    QVERIFY(mTestObject->getVideodurationFromIndex(0) == 0);
hgs
parents:
diff changeset
   382
    
hgs
parents:
diff changeset
   383
    QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT - 1) == 0);
hgs
parents:
diff changeset
   384
    
hgs
parents:
diff changeset
   385
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   386
}
hgs
parents:
diff changeset
   387
hgs
parents:
diff changeset
   388
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   389
// testGetVideoDateFromIndex
hgs
parents:
diff changeset
   390
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   391
//
hgs
parents:
diff changeset
   392
void TestVideoModel_p::testGetVideoDateFromIndex()
hgs
parents:
diff changeset
   393
{
hgs
parents:
diff changeset
   394
    QDateTime excepted;
hgs
parents:
diff changeset
   395
    QVERIFY(mTestObject->getVideoDateFromIndex(0) == excepted);
hgs
parents:
diff changeset
   396
    QVERIFY(mTestObject->getVideoDateFromIndex(-1) == excepted);
hgs
parents:
diff changeset
   397
  
hgs
parents:
diff changeset
   398
    // test when data exists
hgs
parents:
diff changeset
   399
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   400
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
   401
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   402
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   403
      
hgs
parents:
diff changeset
   404
    QVERIFY(mTestObject->getVideoDateFromIndex(-1) == excepted);
hgs
parents:
diff changeset
   405
          
hgs
parents:
diff changeset
   406
    QVERIFY(mTestObject->getVideoDateFromIndex(MEDIA_COUNT) == excepted);
hgs
parents:
diff changeset
   407
  
hgs
parents:
diff changeset
   408
    excepted = QDateTime(QDate(2009, 1, 1), QTime(1,1,1,1));
hgs
parents:
diff changeset
   409
  
hgs
parents:
diff changeset
   410
    QCOMPARE(mTestObject->getVideoDateFromIndex(0), excepted);
hgs
parents:
diff changeset
   411
  
hgs
parents:
diff changeset
   412
    excepted = QDateTime(QDate(2009, MEDIA_COUNT, MEDIA_COUNT), QTime(MEDIA_COUNT,MEDIA_COUNT,MEDIA_COUNT,MEDIA_COUNT));
hgs
parents:
diff changeset
   413
    
hgs
parents:
diff changeset
   414
    QCOMPARE(mTestObject->getVideoDateFromIndex(MEDIA_COUNT - 1), excepted);
hgs
parents:
diff changeset
   415
  
hgs
parents:
diff changeset
   416
    // data does not exist
34
hgs
parents: 30
diff changeset
   417
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   418
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   419
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   420
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   421
    
hgs
parents:
diff changeset
   422
    excepted = QDateTime();
hgs
parents:
diff changeset
   423
    QVERIFY(mTestObject->getVideoDateFromIndex(-1) == excepted);         
hgs
parents:
diff changeset
   424
    QVERIFY(mTestObject->getVideoDateFromIndex(MEDIA_COUNT) == excepted);
hgs
parents:
diff changeset
   425
    QVERIFY(mTestObject->getVideoDateFromIndex(0) == excepted);
hgs
parents:
diff changeset
   426
    QVERIFY(mTestObject->getVideoDateFromIndex(MEDIA_COUNT - 1) == excepted);
hgs
parents:
diff changeset
   427
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   428
}
hgs
parents:
diff changeset
   429
hgs
parents:
diff changeset
   430
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   431
// testGetMetaDataFromIndex
hgs
parents:
diff changeset
   432
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   433
//
hgs
parents:
diff changeset
   434
void TestVideoModel_p::testGetMetaDataFromIndex()
hgs
parents:
diff changeset
   435
{
hgs
parents:
diff changeset
   436
    using namespace VideoCollectionCommon;
hgs
parents:
diff changeset
   437
    QMap<QString, QVariant> map = mTestObject->getMetaDataFromIndex(0);
hgs
parents:
diff changeset
   438
    QVERIFY(map.isEmpty());
hgs
parents:
diff changeset
   439
    map = mTestObject->getMetaDataFromIndex(-1);
hgs
parents:
diff changeset
   440
    QVERIFY(map.isEmpty());
hgs
parents:
diff changeset
   441
    
hgs
parents:
diff changeset
   442
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   443
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   444
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   445
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   446
        
hgs
parents:
diff changeset
   447
    map = mTestObject->getMetaDataFromIndex(-1);
hgs
parents:
diff changeset
   448
    QVERIFY(map.isEmpty());
hgs
parents:
diff changeset
   449
    
hgs
parents:
diff changeset
   450
    map = mTestObject->getMetaDataFromIndex(-1);
hgs
parents:
diff changeset
   451
    QVERIFY(map.isEmpty());
hgs
parents:
diff changeset
   452
    
hgs
parents:
diff changeset
   453
    map = mTestObject->getMetaDataFromIndex(0);
hgs
parents:
diff changeset
   454
    
hgs
parents:
diff changeset
   455
    QVERIFY(map.contains(MetaKeyDate));
hgs
parents:
diff changeset
   456
    QVERIFY(map.contains(MetaKeyDurationString));
hgs
parents:
diff changeset
   457
    QVERIFY(map.contains(MetaKeySizeString));
hgs
parents:
diff changeset
   458
    QVERIFY(map.contains(MetaKeyStarRating));
hgs
parents:
diff changeset
   459
    QVERIFY(map.contains(MetaKeyDescription));
hgs
parents:
diff changeset
   460
    QVERIFY(map.contains(MetaKeyModifiedDate));
hgs
parents:
diff changeset
   461
    QVERIFY(map.contains(MetaKeyAuthor));
hgs
parents:
diff changeset
   462
    QVERIFY(map.contains(MetaKeyCopyright));
hgs
parents:
diff changeset
   463
    QVERIFY(map.contains(MetaKeyLanguageString));
hgs
parents:
diff changeset
   464
    QVERIFY(map.contains(MetaKeyFormat));
hgs
parents:
diff changeset
   465
    
hgs
parents:
diff changeset
   466
    // one or several of these will fail, when rest of the metadata is implemented.
hgs
parents:
diff changeset
   467
    QVERIFY(map.contains(MetaKeyDRMInfo) == false);
hgs
parents:
diff changeset
   468
    QVERIFY(map.contains(MetaKeyServiceURL) == false);
hgs
parents:
diff changeset
   469
    QVERIFY(map.contains(MetaKeyShotLocation) == false);
hgs
parents:
diff changeset
   470
    QVERIFY(map.contains(MetaKeyAudioType) == false);
hgs
parents:
diff changeset
   471
    QVERIFY(map.contains(MetaKeyKeywords) == false);
hgs
parents:
diff changeset
   472
    QVERIFY(map.contains(MetaKeyVideoResolutionString) == false);
hgs
parents:
diff changeset
   473
    QVERIFY(map.contains(MetaKeyBitRate) == false);
hgs
parents:
diff changeset
   474
    
hgs
parents:
diff changeset
   475
    QCOMPARE(map[MetaKeyDate].toDate(), QDate(2009, 1, 1));
hgs
parents:
diff changeset
   476
    QVERIFY(map[MetaKeyDurationString].toString().isEmpty() == false);
hgs
parents:
diff changeset
   477
    QVERIFY(map[MetaKeySizeString].toString().isEmpty() == false);
hgs
parents:
diff changeset
   478
    QCOMPARE(map[MetaKeyStarRating].toUInt(), (uint)1);
hgs
parents:
diff changeset
   479
    QCOMPARE(map[MetaKeyDescription].toString(), gQTMediaDescPrefix + "0");
hgs
parents:
diff changeset
   480
    QCOMPARE(map[MetaKeyModifiedDate].toDate(), QDate::currentDate().addDays(2));
hgs
parents:
diff changeset
   481
    QCOMPARE(map[MetaKeyAuthor].toString(), gQTMediaAuthorPrefix + "0");
hgs
parents:
diff changeset
   482
    QCOMPARE(map[MetaKeyCopyright].toString(), gQTMediaCopyrightPrefix + "0");
hgs
parents:
diff changeset
   483
    QCOMPARE(map[MetaKeyLanguageString].toString(), gQTMediaLanguagePrefix + "0");
hgs
parents:
diff changeset
   484
    QCOMPARE(map[MetaKeyFormat].toString(), gQTMediaFormatPrefix + "0");
hgs
parents:
diff changeset
   485
    
hgs
parents:
diff changeset
   486
    // data does not exist
34
hgs
parents: 30
diff changeset
   487
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   488
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   489
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   490
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   491
    VideoCollectionUtils::mPrepareLengthStringReturnValue = "";
hgs
parents:
diff changeset
   492
    VideoCollectionUtils::mPrepareSizeStringReturnValue = "";
hgs
parents:
diff changeset
   493
    
hgs
parents:
diff changeset
   494
    map = mTestObject->getMetaDataFromIndex(-1);
hgs
parents:
diff changeset
   495
    QVERIFY(map.isEmpty());
hgs
parents:
diff changeset
   496
    
hgs
parents:
diff changeset
   497
    map = mTestObject->getMetaDataFromIndex(MEDIA_COUNT);
hgs
parents:
diff changeset
   498
    QVERIFY(map.isEmpty());
hgs
parents:
diff changeset
   499
    
hgs
parents:
diff changeset
   500
    map = mTestObject->getMetaDataFromIndex(0);
hgs
parents:
diff changeset
   501
    QCOMPARE(map.count(), 0); 
hgs
parents:
diff changeset
   502
    
hgs
parents:
diff changeset
   503
    map = mTestObject->getMetaDataFromIndex(MEDIA_COUNT - 1);
hgs
parents:
diff changeset
   504
    QCOMPARE(map.count(), 0);
hgs
parents:
diff changeset
   505
    
hgs
parents:
diff changeset
   506
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   507
}
hgs
parents:
diff changeset
   508
hgs
parents:
diff changeset
   509
// -----------------------------------------------------------------------------
34
hgs
parents: 30
diff changeset
   510
// testVideoMarkAndRestoreDeleted
hgs
parents: 30
diff changeset
   511
// -----------------------------------------------------------------------------
hgs
parents: 30
diff changeset
   512
//
hgs
parents: 30
diff changeset
   513
void TestVideoModel_p::testVideoMarkAndRestoreDeleted()
hgs
parents: 30
diff changeset
   514
{
hgs
parents: 30
diff changeset
   515
    
hgs
parents: 30
diff changeset
   516
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));   
hgs
parents: 30
diff changeset
   517
    mMediaFactory->removeArray();
hgs
parents: 30
diff changeset
   518
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents: 30
diff changeset
   519
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 30
diff changeset
   520
    
hgs
parents: 30
diff changeset
   521
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   522
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   523
    QList<TMPXItemId> idsToRestore;
hgs
parents: 30
diff changeset
   524
    // mark few items to be removed then restore them 
hgs
parents: 30
diff changeset
   525
    // NOTE: since item marking decreases item count by one,
hgs
parents: 30
diff changeset
   526
    //       we need to mark items starting from biggest index,
hgs
parents: 30
diff changeset
   527
    //       otherwise we might end up to mark invalid items
hgs
parents: 30
diff changeset
   528
    QModelIndex index = mStubModel->index(MEDIA_COUNT-1, 0, QModelIndex());
hgs
parents: 30
diff changeset
   529
    idsToRestore.append(mTestObject->markVideoRemoved(index));    
hgs
parents: 30
diff changeset
   530
    index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
hgs
parents: 30
diff changeset
   531
    idsToRestore.append(mTestObject->markVideoRemoved(index));
hgs
parents: 30
diff changeset
   532
    index = mStubModel->index(0, 0, QModelIndex());
hgs
parents: 30
diff changeset
   533
    idsToRestore.append(mTestObject->markVideoRemoved(index));
hgs
parents: 30
diff changeset
   534
    
hgs
parents: 30
diff changeset
   535
    QVERIFY(mTestObject->getVideoCount() == (MEDIA_COUNT - 3) );
hgs
parents: 30
diff changeset
   536
    
hgs
parents: 30
diff changeset
   537
    mTestObject->restoreRemoved(&idsToRestore);
hgs
parents: 30
diff changeset
   538
    QVERIFY(VideoListDataModel::mFirstInserted == MEDIA_COUNT - 3);
hgs
parents: 30
diff changeset
   539
    QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
hgs
parents: 30
diff changeset
   540
    QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT);
hgs
parents: 30
diff changeset
   541
    
hgs
parents: 30
diff changeset
   542
    idsToRestore.clear();
hgs
parents: 30
diff changeset
   543
    mMediaFactory->removeArray();
hgs
parents: 30
diff changeset
   544
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents: 30
diff changeset
   545
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 30
diff changeset
   546
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   547
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   548
    
hgs
parents: 30
diff changeset
   549
    // mark few items to be removed then restore them 
hgs
parents: 30
diff changeset
   550
    index = mStubModel->index(MEDIA_COUNT-1, 0, QModelIndex());
hgs
parents: 30
diff changeset
   551
    idsToRestore.append(mTestObject->markVideoRemoved(index));    
hgs
parents: 30
diff changeset
   552
    index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
hgs
parents: 30
diff changeset
   553
    idsToRestore.append(mTestObject->markVideoRemoved(index));
hgs
parents: 30
diff changeset
   554
    index = mStubModel->index(0, 0, QModelIndex());
hgs
parents: 30
diff changeset
   555
    idsToRestore.append(mTestObject->markVideoRemoved(index));
hgs
parents: 30
diff changeset
   556
 
hgs
parents: 30
diff changeset
   557
    QVERIFY(mTestObject->getVideoCount() == (MEDIA_COUNT - 3) );
hgs
parents: 30
diff changeset
   558
    mTestObject->restoreRemoved(&idsToRestore);
hgs
parents: 30
diff changeset
   559
    QVERIFY(VideoListDataModel::mFirstInserted == MEDIA_COUNT - 3);
hgs
parents: 30
diff changeset
   560
    QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
hgs
parents: 30
diff changeset
   561
    
hgs
parents: 30
diff changeset
   562
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   563
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   564
    idsToRestore.clear();
hgs
parents: 30
diff changeset
   565
    index = mStubModel->index(MEDIA_COUNT, 0, QModelIndex());
hgs
parents: 30
diff changeset
   566
    idsToRestore.append(mTestObject->markVideoRemoved(index));    
hgs
parents: 30
diff changeset
   567
    mTestObject->restoreRemoved(&idsToRestore);
hgs
parents: 30
diff changeset
   568
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   569
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   570
    
hgs
parents: 30
diff changeset
   571
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents: 30
diff changeset
   572
}
hgs
parents: 30
diff changeset
   573
hgs
parents: 30
diff changeset
   574
// -----------------------------------------------------------------------------
30
hgs
parents:
diff changeset
   575
// testGetFilePathFromIndex
hgs
parents:
diff changeset
   576
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   577
//
34
hgs
parents: 30
diff changeset
   578
30
hgs
parents:
diff changeset
   579
void TestVideoModel_p::testGetFilePathFromIndex()
hgs
parents:
diff changeset
   580
{
hgs
parents:
diff changeset
   581
    QString path = mTestObject->getFilePathFromIndex(0);
hgs
parents:
diff changeset
   582
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   583
    path = mTestObject->getFilePathFromIndex(-1);
hgs
parents:
diff changeset
   584
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   585
    
hgs
parents:
diff changeset
   586
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   587
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   588
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   589
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   590
    
hgs
parents:
diff changeset
   591
    path = mTestObject->getFilePathFromIndex(-1);
hgs
parents:
diff changeset
   592
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   593
    
hgs
parents:
diff changeset
   594
    path = mTestObject->getFilePathFromIndex(0);
hgs
parents:
diff changeset
   595
    QCOMPARE(path, gQTMediaPathPrefix + "0");
hgs
parents:
diff changeset
   596
    
hgs
parents:
diff changeset
   597
    // data does not exist
34
hgs
parents: 30
diff changeset
   598
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   599
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   600
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   601
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   602
    
hgs
parents:
diff changeset
   603
    path = mTestObject->getFilePathFromIndex(0);
hgs
parents:
diff changeset
   604
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   605
    
hgs
parents:
diff changeset
   606
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   607
}
hgs
parents:
diff changeset
   608
hgs
parents:
diff changeset
   609
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   610
// testGetFilePathForId
hgs
parents:
diff changeset
   611
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   612
//
hgs
parents:
diff changeset
   613
void TestVideoModel_p::testGetFilePathForId()
hgs
parents:
diff changeset
   614
{
hgs
parents:
diff changeset
   615
    QString path = mTestObject->getFilePathForId(TMPXItemId(0,0));
hgs
parents:
diff changeset
   616
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   617
    path = mTestObject->getFilePathForId(TMPXItemId::InvalidId());
hgs
parents:
diff changeset
   618
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   619
    
hgs
parents:
diff changeset
   620
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   621
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   622
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   623
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   624
    
hgs
parents:
diff changeset
   625
    path = mTestObject->getFilePathForId(TMPXItemId::InvalidId());
hgs
parents:
diff changeset
   626
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   627
    
hgs
parents:
diff changeset
   628
    path = mTestObject->getFilePathForId(TMPXItemId(0,0));
hgs
parents:
diff changeset
   629
    QCOMPARE(path, gQTMediaPathPrefix + "0");
hgs
parents:
diff changeset
   630
    
hgs
parents:
diff changeset
   631
    // data does not exist
34
hgs
parents: 30
diff changeset
   632
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   633
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   634
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   635
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   636
    
hgs
parents:
diff changeset
   637
    path = mTestObject->getFilePathForId(TMPXItemId(0,0));
hgs
parents:
diff changeset
   638
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   639
    
hgs
parents:
diff changeset
   640
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   641
}
hgs
parents:
diff changeset
   642
hgs
parents:
diff changeset
   643
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   644
// testThumbnailsFetchedSlot
hgs
parents:
diff changeset
   645
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   646
//
hgs
parents:
diff changeset
   647
void TestVideoModel_p::testThumbnailsFetchedSlot()
hgs
parents:
diff changeset
   648
{
hgs
parents:
diff changeset
   649
    QVERIFY(connect(this, SIGNAL(signalThumbnailsFetched(QList<TMPXItemId>)), mTestObject, SLOT(thumbnailsFetchedSlot(QList<TMPXItemId>))));      
hgs
parents:
diff changeset
   650
    
hgs
parents:
diff changeset
   651
    QSignalSpy spysignal(mTestObject, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)));
hgs
parents:
diff changeset
   652
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   653
    
hgs
parents:
diff changeset
   654
    QList<TMPXItemId> mediaIds;
hgs
parents:
diff changeset
   655
    
hgs
parents:
diff changeset
   656
    // test no videos
hgs
parents:
diff changeset
   657
    mediaIds.append(TMPXItemId(0, 0));
hgs
parents:
diff changeset
   658
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   659
    QVERIFY(spysignal.count() == 0);
hgs
parents:
diff changeset
   660
    mediaIds.clear();
hgs
parents:
diff changeset
   661
hgs
parents:
diff changeset
   662
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   663
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   664
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   665
    
hgs
parents:
diff changeset
   666
    // test invalid ids
hgs
parents:
diff changeset
   667
    mediaIds.append(TMPXItemId::InvalidId());
hgs
parents:
diff changeset
   668
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   669
    QVERIFY(spysignal.count() == 0);
hgs
parents:
diff changeset
   670
    spysignal.clear();
hgs
parents:
diff changeset
   671
    mediaIds.clear();
hgs
parents:
diff changeset
   672
    mediaIds.append(TMPXItemId(MEDIA_COUNT, 0));
hgs
parents:
diff changeset
   673
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   674
    QVERIFY(spysignal.count() == 0);
hgs
parents:
diff changeset
   675
    mediaIds.clear();
hgs
parents:
diff changeset
   676
    mediaIds.append(TMPXItemId(MEDIA_COUNT + 1, 0));
hgs
parents:
diff changeset
   677
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   678
    QVERIFY(spysignal.count() == 0);
hgs
parents:
diff changeset
   679
    mediaIds.clear();
hgs
parents:
diff changeset
   680
    
hgs
parents:
diff changeset
   681
    // test correct ids
hgs
parents:
diff changeset
   682
    mediaIds.append(TMPXItemId(0, 0));
hgs
parents:
diff changeset
   683
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   684
    QVERIFY(spysignal.count() == 1);
hgs
parents:
diff changeset
   685
    QVERIFY(spysignal.value(0).at(0).toInt() == 0);
hgs
parents:
diff changeset
   686
    spysignal.clear();
hgs
parents:
diff changeset
   687
    mediaIds.clear();
hgs
parents:
diff changeset
   688
    mediaIds.append(TMPXItemId(1, 0));
hgs
parents:
diff changeset
   689
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   690
    QVERIFY(spysignal.count() == 1);
hgs
parents:
diff changeset
   691
    spysignal.clear();
hgs
parents:
diff changeset
   692
    mediaIds.clear();
hgs
parents:
diff changeset
   693
    
hgs
parents:
diff changeset
   694
    mediaIds.append(TMPXItemId(MEDIA_COUNT/2, 0));
hgs
parents:
diff changeset
   695
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   696
    QVERIFY(spysignal.count() == 1);
hgs
parents:
diff changeset
   697
    
hgs
parents:
diff changeset
   698
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   699
    disconnect(this, SIGNAL(signalThumbnailsFetched(QList<TMPXItemId>)), mTestObject, SLOT(thumbnailsFetchedSlot(QList<TMPXItemId>)));
hgs
parents:
diff changeset
   700
}
hgs
parents:
diff changeset
   701
hgs
parents:
diff changeset
   702
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   703
// testNewVideoListSlot
hgs
parents:
diff changeset
   704
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   705
//
hgs
parents:
diff changeset
   706
void TestVideoModel_p::testNewVideoListSlot()
hgs
parents:
diff changeset
   707
{
hgs
parents:
diff changeset
   708
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   709
    
hgs
parents:
diff changeset
   710
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));      
hgs
parents:
diff changeset
   711
34
hgs
parents: 30
diff changeset
   712
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   713
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   714
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   715
    VideoListDataModel::mLastRemoved = -1;    
hgs
parents: 30
diff changeset
   716
    
30
hgs
parents:
diff changeset
   717
    QSignalSpy spyModelReady(mStubModel, SIGNAL(modelReady()));
hgs
parents:
diff changeset
   718
    
hgs
parents:
diff changeset
   719
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   720
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   721
    // media-array does not exist
hgs
parents:
diff changeset
   722
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   723
34
hgs
parents: 30
diff changeset
   724
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   725
    QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
hgs
parents: 30
diff changeset
   726
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   727
    QVERIFY(VideoListDataModel::mLastRemoved == -1); 
30
hgs
parents:
diff changeset
   728
    QCOMPARE(spyModelReady.count(), 1);
hgs
parents:
diff changeset
   729
    spyModelReady.clear();
34
hgs
parents: 30
diff changeset
   730
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   731
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   732
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   733
    VideoListDataModel::mLastRemoved = -1;   
30
hgs
parents:
diff changeset
   734
    
hgs
parents:
diff changeset
   735
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   736
    
hgs
parents:
diff changeset
   737
    // providing null videolist
hgs
parents:
diff changeset
   738
    emit signalNewVideoList(0);
34
hgs
parents: 30
diff changeset
   739
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   740
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   741
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   742
    QVERIFY(VideoListDataModel::mLastRemoved == -1); 
30
hgs
parents:
diff changeset
   743
    QCOMPARE(spyModelReady.count(), 0);
34
hgs
parents: 30
diff changeset
   744
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   745
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   746
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   747
    VideoListDataModel::mLastRemoved = -1;  
30
hgs
parents:
diff changeset
   748
    
hgs
parents:
diff changeset
   749
    // empty media-array
hgs
parents:
diff changeset
   750
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   751
    mMediaFactory->createMediaItems(0);
hgs
parents:
diff changeset
   752
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
   753
  
hgs
parents: 30
diff changeset
   754
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   755
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   756
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   757
    QVERIFY(VideoListDataModel::mLastRemoved == -1); 
30
hgs
parents:
diff changeset
   758
    QCOMPARE(spyModelReady.count(), 1);
hgs
parents:
diff changeset
   759
    spyModelReady.clear();
34
hgs
parents: 30
diff changeset
   760
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   761
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   762
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   763
    VideoListDataModel::mLastRemoved = -1;   
30
hgs
parents:
diff changeset
   764
    
hgs
parents:
diff changeset
   765
    // media-array exits
hgs
parents:
diff changeset
   766
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   767
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   768
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
   769
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   770
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   771
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   772
    QVERIFY(VideoListDataModel::mLastRemoved == -1); 
30
hgs
parents:
diff changeset
   773
    QCOMPARE(spyModelReady.count(), 1);
hgs
parents:
diff changeset
   774
    spyModelReady.clear();
34
hgs
parents: 30
diff changeset
   775
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   776
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   777
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   778
    VideoListDataModel::mLastRemoved = -1;   
30
hgs
parents:
diff changeset
   779
    
hgs
parents:
diff changeset
   780
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   781
}
hgs
parents:
diff changeset
   782
hgs
parents:
diff changeset
   783
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   784
// testAppendVideoListSlot
hgs
parents:
diff changeset
   785
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   786
//
hgs
parents:
diff changeset
   787
void TestVideoModel_p::testAppendVideoListSlot()
hgs
parents:
diff changeset
   788
{
hgs
parents:
diff changeset
   789
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   790
        
hgs
parents:
diff changeset
   791
    QVERIFY(connect(this, SIGNAL(signalAppendVideoList(CMPXMediaArray*)), mTestObject, SLOT(appendVideoListSlot(CMPXMediaArray*))));      
hgs
parents:
diff changeset
   792
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
hgs
parents:
diff changeset
   793
    
34
hgs
parents: 30
diff changeset
   794
    QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
hgs
parents: 30
diff changeset
   795
    
hgs
parents: 30
diff changeset
   796
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   797
    VideoListDataModel::mLastInserted = -1;
30
hgs
parents:
diff changeset
   798
    
hgs
parents:
diff changeset
   799
    // append null
34
hgs
parents: 30
diff changeset
   800
   emit signalAppendVideoList(0);
hgs
parents: 30
diff changeset
   801
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   802
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
   803
    QVERIFY(mTestObject->getVideoCount() == 0);
34
hgs
parents: 30
diff changeset
   804
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   805
    
hgs
parents:
diff changeset
   806
    // append empty videolist
hgs
parents:
diff changeset
   807
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   808
    mMediaFactory->createMediaItems(0);
hgs
parents:
diff changeset
   809
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   810
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   811
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
   812
    QVERIFY(mTestObject->getVideoCount() == 0);
34
hgs
parents: 30
diff changeset
   813
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   814
    
hgs
parents:
diff changeset
   815
    // send 10 videos
hgs
parents:
diff changeset
   816
    mMediaFactory->createMediaItems(10);
hgs
parents:
diff changeset
   817
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
   818
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   819
    VideoListDataModel::mLastInserted = -1;
30
hgs
parents:
diff changeset
   820
    
hgs
parents:
diff changeset
   821
    // append videolist containing less than existing
hgs
parents:
diff changeset
   822
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   823
    mMediaFactory->createMediaItems(3);
hgs
parents:
diff changeset
   824
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   825
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   826
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
   827
    QVERIFY(mTestObject->getVideoCount() == 10);
34
hgs
parents: 30
diff changeset
   828
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   829
    
hgs
parents:
diff changeset
   830
    // reset data
hgs
parents:
diff changeset
   831
    mTestObject->mMediaData.clear();
hgs
parents:
diff changeset
   832
    
hgs
parents:
diff changeset
   833
    // append items with invalid ids:
34
hgs
parents: 30
diff changeset
   834
    // signals emitted (begin inserting is called), but items are really not appended
30
hgs
parents:
diff changeset
   835
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   836
    mMediaFactory->createMediaItems(3, MediaDataNone);
34
hgs
parents: 30
diff changeset
   837
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 30
diff changeset
   838
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   839
    QVERIFY(VideoListDataModel::mLastInserted == 2);
30
hgs
parents:
diff changeset
   840
    QVERIFY(mTestObject->getVideoCount() == 0);
34
hgs
parents: 30
diff changeset
   841
    QVERIFY(spyModelChanged.count() == 1); 
hgs
parents: 30
diff changeset
   842
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
   843
hgs
parents:
diff changeset
   844
    // append items with iId2 == 1 && iId1 != KVcxMvcCategoryIdDownloads (==1) && iId1 != KVcxMvcCategoryIdCaptured (== 3)
hgs
parents:
diff changeset
   845
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   846
    mMediaFactory->createMediaItems(0);
hgs
parents:
diff changeset
   847
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(4, 1)));
hgs
parents:
diff changeset
   848
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(5, 1)));
hgs
parents:
diff changeset
   849
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   850
hgs
parents: 30
diff changeset
   851
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   852
    QVERIFY(VideoListDataModel::mLastInserted == 1);
30
hgs
parents:
diff changeset
   853
    QVERIFY(mTestObject->getVideoCount() == 0);
34
hgs
parents: 30
diff changeset
   854
    QVERIFY(spyModelChanged.count() == 1); 
hgs
parents: 30
diff changeset
   855
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
   856
    
hgs
parents:
diff changeset
   857
    // append correct items
hgs
parents:
diff changeset
   858
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   859
    mMediaFactory->createMediaItems(3);
hgs
parents:
diff changeset
   860
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   861
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   862
    QVERIFY(VideoListDataModel::mLastInserted == 2);
30
hgs
parents:
diff changeset
   863
    QVERIFY(mTestObject->getVideoCount() == 3);
34
hgs
parents: 30
diff changeset
   864
    QVERIFY(spyModelChanged.count() == 1); 
hgs
parents: 30
diff changeset
   865
    spyModelChanged.clear();   
30
hgs
parents:
diff changeset
   866
       
hgs
parents:
diff changeset
   867
    // append more to existing
hgs
parents:
diff changeset
   868
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   869
    mMediaFactory->createMediaItems(10);
hgs
parents:
diff changeset
   870
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   871
hgs
parents: 30
diff changeset
   872
    QVERIFY(VideoListDataModel::mFirstInserted == 3);
hgs
parents: 30
diff changeset
   873
    QVERIFY(VideoListDataModel::mLastInserted == 9);
hgs
parents: 30
diff changeset
   874
30
hgs
parents:
diff changeset
   875
    QVERIFY(mTestObject->getVideoCount() == 10);
34
hgs
parents: 30
diff changeset
   876
    QVERIFY(spyModelChanged.count() == 1); 
hgs
parents: 30
diff changeset
   877
    spyModelChanged.clear();
hgs
parents: 30
diff changeset
   878
  
30
hgs
parents:
diff changeset
   879
      
hgs
parents:
diff changeset
   880
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   881
    disconnect(this, SIGNAL(signalAppendVideoList(CMPXMediaArray*)), mTestObject, SLOT(appendVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   882
}
hgs
parents:
diff changeset
   883
hgs
parents:
diff changeset
   884
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   885
// testNewVideoAvailableSlot
hgs
parents:
diff changeset
   886
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   887
//
hgs
parents:
diff changeset
   888
void TestVideoModel_p::testNewVideoAvailableSlot()
hgs
parents:
diff changeset
   889
{
hgs
parents:
diff changeset
   890
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   891
    
34
hgs
parents: 30
diff changeset
   892
    connect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*)));
hgs
parents: 30
diff changeset
   893
    connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
30
hgs
parents:
diff changeset
   894
    
34
hgs
parents: 30
diff changeset
   895
    QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
30
hgs
parents:
diff changeset
   896
    
34
hgs
parents: 30
diff changeset
   897
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   898
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   899
 
30
hgs
parents:
diff changeset
   900
    CMPXMedia *media = mMediaFactory->getMedia(MEDIA_COUNT + 100);
34
hgs
parents: 30
diff changeset
   901
    // succeed insert
30
hgs
parents:
diff changeset
   902
    emit signalNewVideoAvailable(media);
34
hgs
parents: 30
diff changeset
   903
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   904
    QVERIFY(VideoListDataModel::mLastInserted == 0);
hgs
parents: 30
diff changeset
   905
    QVERIFY(spyModelChanged.count() == 1);
30
hgs
parents:
diff changeset
   906
    
hgs
parents:
diff changeset
   907
    QVERIFY(mTestObject->getVideoCount() == 1);
hgs
parents:
diff changeset
   908
    delete media;
hgs
parents:
diff changeset
   909
    media = 0;
34
hgs
parents: 30
diff changeset
   910
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   911
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   912
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
   913
    
hgs
parents:
diff changeset
   914
    // null pointer provided
hgs
parents:
diff changeset
   915
    emit signalNewVideoAvailable(media);
34
hgs
parents: 30
diff changeset
   916
    QVERIFY(spyModelChanged.count() == 0);
hgs
parents: 30
diff changeset
   917
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   918
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
   919
    QVERIFY(mTestObject->getVideoCount() == 1);
34
hgs
parents: 30
diff changeset
   920
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
   921
    
hgs
parents:
diff changeset
   922
    // invalid item
hgs
parents:
diff changeset
   923
    media = mMediaFactory->getMedia(MEDIA_COUNT + 100, MediaDataNone);
hgs
parents:
diff changeset
   924
    emit signalNewVideoAvailable(media);
34
hgs
parents: 30
diff changeset
   925
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   926
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
   927
    QVERIFY(mTestObject->getVideoCount() == 1);
34
hgs
parents: 30
diff changeset
   928
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   929
    delete media;
hgs
parents:
diff changeset
   930
    media = 0;
34
hgs
parents: 30
diff changeset
   931
    spyModelChanged.clear();
hgs
parents: 30
diff changeset
   932
    
hgs
parents: 30
diff changeset
   933
    // item without name
hgs
parents: 30
diff changeset
   934
    media = mMediaFactory->getMedia(MEDIA_COUNT + 100, MediaDataId);
hgs
parents: 30
diff changeset
   935
    emit signalNewVideoAvailable(media);
hgs
parents: 30
diff changeset
   936
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   937
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   938
    QVERIFY(mTestObject->getVideoCount() == 1);
hgs
parents: 30
diff changeset
   939
    QVERIFY(spyModelChanged.count() == 0);
hgs
parents: 30
diff changeset
   940
    delete media;
hgs
parents: 30
diff changeset
   941
    media = 0;
hgs
parents: 30
diff changeset
   942
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
   943
    
hgs
parents:
diff changeset
   944
    delete mTestObject;
hgs
parents:
diff changeset
   945
    mTestObject = new VideoListDataModelPrivate(mStubModel);
hgs
parents:
diff changeset
   946
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   947
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
hgs
parents:
diff changeset
   948
    QVERIFY(connect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*))));
hgs
parents:
diff changeset
   949
hgs
parents:
diff changeset
   950
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   951
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   952
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
   953
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   954
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   955
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
   956
    
hgs
parents:
diff changeset
   957
    // succeed case
hgs
parents:
diff changeset
   958
    CMPXMedia *media3 = mMediaFactory->getMedia(MEDIA_COUNT + 103 );
hgs
parents:
diff changeset
   959
    emit signalNewVideoAvailable(media3);
34
hgs
parents: 30
diff changeset
   960
    QVERIFY(VideoListDataModel::mFirstInserted == mTestObject->getVideoCount() - 1);
hgs
parents: 30
diff changeset
   961
    QVERIFY(VideoListDataModel::mLastInserted == mTestObject->getVideoCount() - 1);
hgs
parents: 30
diff changeset
   962
    QVERIFY(spyModelChanged.count() == 1);
30
hgs
parents:
diff changeset
   963
    QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT + 1);
hgs
parents:
diff changeset
   964
    
hgs
parents:
diff changeset
   965
    disconnect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*)));
hgs
parents:
diff changeset
   966
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
hgs
parents:
diff changeset
   967
}
hgs
parents:
diff changeset
   968
hgs
parents:
diff changeset
   969
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   970
// testVideoDeletedSlot
hgs
parents:
diff changeset
   971
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   972
//
hgs
parents:
diff changeset
   973
void TestVideoModel_p::testVideoDeletedSlot()
hgs
parents:
diff changeset
   974
{
34
hgs
parents: 30
diff changeset
   975
    mTestObject->initialize();
30
hgs
parents:
diff changeset
   976
    mMediaFactory->removeArray();
34
hgs
parents: 30
diff changeset
   977
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   978
    VideoListDataModel::mLastRemoved = -1;
hgs
parents: 30
diff changeset
   979
    QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
30
hgs
parents:
diff changeset
   980
    
hgs
parents:
diff changeset
   981
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
34
hgs
parents: 30
diff changeset
   982
    QVERIFY(connect(this, SIGNAL(signalDeleteVideo(TMPXItemId)), mTestObject, SLOT(itemDeletedSlot(TMPXItemId))));  
hgs
parents: 30
diff changeset
   983
    
30
hgs
parents:
diff changeset
   984
    // no videos
hgs
parents:
diff changeset
   985
    emit signalDeleteVideo(TMPXItemId(0,0));
34
hgs
parents: 30
diff changeset
   986
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   987
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   988
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   989
    
34
hgs
parents: 30
diff changeset
   990
    // invalid id
hgs
parents: 30
diff changeset
   991
    emit signalDeleteVideo(TMPXItemId::InvalidId());
hgs
parents: 30
diff changeset
   992
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   993
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   994
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   995
    
hgs
parents:
diff changeset
   996
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   997
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   998
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
   999
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
  1000
    VideoListDataModel::mLastRemoved = -1;
hgs
parents: 30
diff changeset
  1001
    spyModelChanged.clear();
hgs
parents: 30
diff changeset
  1002
    
hgs
parents: 30
diff changeset
  1003
    // not marked as removed
hgs
parents: 30
diff changeset
  1004
    emit signalDeleteVideo(TMPXItemId(MEDIA_COUNT / 2,0));
hgs
parents: 30
diff changeset
  1005
    QVERIFY(VideoListDataModel::mFirstRemoved == MEDIA_COUNT / 2);
hgs
parents: 30
diff changeset
  1006
    QVERIFY(VideoListDataModel::mFirstRemoved == MEDIA_COUNT / 2);
hgs
parents: 30
diff changeset
  1007
    QVERIFY(spyModelChanged.count() == 1);
hgs
parents: 30
diff changeset
  1008
    
hgs
parents: 30
diff changeset
  1009
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
  1010
    VideoListDataModel::mLastRemoved = -1;
hgs
parents: 30
diff changeset
  1011
    spyModelChanged.clear();
hgs
parents: 30
diff changeset
  1012
    
hgs
parents: 30
diff changeset
  1013
    QModelIndex index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
hgs
parents: 30
diff changeset
  1014
    TMPXItemId id = mTestObject->markVideoRemoved(index);
30
hgs
parents:
diff changeset
  1015
    
34
hgs
parents: 30
diff changeset
  1016
    // marked as removed
hgs
parents: 30
diff changeset
  1017
    emit signalDeleteVideo(id);
hgs
parents: 30
diff changeset
  1018
    // item already removed from container, no notifications
hgs
parents: 30
diff changeset
  1019
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1020
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1021
    QVERIFY(spyModelChanged.count() == 0);
hgs
parents: 30
diff changeset
  1022
    
hgs
parents: 30
diff changeset
  1023
    // no thumbnail data (tested for coverity)
hgs
parents: 30
diff changeset
  1024
    VideoThumbnailData *tmp = mTestObject->mVideoThumbnailData;
hgs
parents: 30
diff changeset
  1025
    mTestObject->mVideoThumbnailData = 0;
30
hgs
parents:
diff changeset
  1026
    
34
hgs
parents: 30
diff changeset
  1027
    index = mStubModel->index(mTestObject->getVideoCount() - 1, 0, QModelIndex());
hgs
parents: 30
diff changeset
  1028
    id = mTestObject->markVideoRemoved(index);
hgs
parents: 30
diff changeset
  1029
    emit signalDeleteVideo(id);
hgs
parents: 30
diff changeset
  1030
    // item already removed from container, no notifications
hgs
parents: 30
diff changeset
  1031
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1032
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1033
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
  1034
    
34
hgs
parents: 30
diff changeset
  1035
    mTestObject->mVideoThumbnailData = tmp;
hgs
parents: 30
diff changeset
  1036
    
hgs
parents: 30
diff changeset
  1037
    disconnect(this, SIGNAL(signalDeleteVideo(TMPXItemId)), mTestObject, SLOT(itemDeletedSlot(TMPXItemId)));
30
hgs
parents:
diff changeset
  1038
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
34
hgs
parents: 30
diff changeset
  1039
    
30
hgs
parents:
diff changeset
  1040
}
hgs
parents:
diff changeset
  1041
hgs
parents:
diff changeset
  1042
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1043
// testVideoDeleteCompletedSlot
hgs
parents:
diff changeset
  1044
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1045
//
34
hgs
parents: 30
diff changeset
  1046
30
hgs
parents:
diff changeset
  1047
void TestVideoModel_p::testVideoDeleteCompletedSlot()
hgs
parents:
diff changeset
  1048
{
hgs
parents:
diff changeset
  1049
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
hgs
parents:
diff changeset
  1050
    QVERIFY(connect(this, SIGNAL(signalDeleteCompleted(int, QList<TMPXItemId>*)), mTestObject, SLOT(videoDeleteCompletedSlot(int, QList<TMPXItemId>*))));  
34
hgs
parents: 30
diff changeset
  1051
   
hgs
parents: 30
diff changeset
  1052
    mMediaFactory->removeArray();
30
hgs
parents:
diff changeset
  1053
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
  1054
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
  1055
34
hgs
parents: 30
diff changeset
  1056
    QSignalSpy spysignal(mStubModel, SIGNAL(modelChanged()));
hgs
parents: 30
diff changeset
  1057
    VideoListDataModel::mStatus = -1;
hgs
parents: 30
diff changeset
  1058
    VideoListDataModel::mStatusData = QVariant();
hgs
parents: 30
diff changeset
  1059
    
hgs
parents: 30
diff changeset
  1060
    QList<TMPXItemId> idList;
hgs
parents: 30
diff changeset
  1061
    
hgs
parents: 30
diff changeset
  1062
    // null list
30
hgs
parents:
diff changeset
  1063
    emit signalDeleteCompleted(0, 0);
hgs
parents:
diff changeset
  1064
    QVERIFY(spysignal.count() == 0);
34
hgs
parents: 30
diff changeset
  1065
    QVERIFY(VideoListDataModel::mStatus == -1);
hgs
parents: 30
diff changeset
  1066
    QVERIFY(!VideoListDataModel::mStatusData.isValid());
30
hgs
parents:
diff changeset
  1067
    
34
hgs
parents: 30
diff changeset
  1068
    // empty list
hgs
parents: 30
diff changeset
  1069
    emit signalDeleteCompleted(0, &idList);
hgs
parents: 30
diff changeset
  1070
    int count =spysignal.count();
hgs
parents: 30
diff changeset
  1071
    QVERIFY(spysignal.count() == 1);
hgs
parents: 30
diff changeset
  1072
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusDeleteSucceed);
hgs
parents: 30
diff changeset
  1073
    QVERIFY(!VideoListDataModel::mStatusData.isValid());
hgs
parents: 30
diff changeset
  1074
    VideoListDataModel::mStatus = -1;
hgs
parents: 30
diff changeset
  1075
    VideoListDataModel::mStatusData = QVariant();
hgs
parents: 30
diff changeset
  1076
    spysignal.clear();
30
hgs
parents:
diff changeset
  1077
    
34
hgs
parents: 30
diff changeset
  1078
    // one failed (no item)
hgs
parents: 30
diff changeset
  1079
    idList.append(TMPXItemId(0,0));
hgs
parents: 30
diff changeset
  1080
    emit signalDeleteCompleted(0, &idList);
30
hgs
parents:
diff changeset
  1081
    QVERIFY(spysignal.count() == 1);
34
hgs
parents: 30
diff changeset
  1082
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusSingleDeleteFail);
hgs
parents: 30
diff changeset
  1083
    QVERIFY(VideoListDataModel::mStatusData.isValid());
hgs
parents: 30
diff changeset
  1084
           
hgs
parents: 30
diff changeset
  1085
    VideoListDataModel::mStatus = -1;
hgs
parents: 30
diff changeset
  1086
    VideoListDataModel::mStatusData = QVariant();
30
hgs
parents:
diff changeset
  1087
    spysignal.clear();
34
hgs
parents: 30
diff changeset
  1088
hgs
parents: 30
diff changeset
  1089
    idList.append(TMPXItemId(1,0));
hgs
parents: 30
diff changeset
  1090
    // multiple failed
hgs
parents: 30
diff changeset
  1091
    emit signalDeleteCompleted(0, &idList);
hgs
parents: 30
diff changeset
  1092
    QVERIFY(spysignal.count() == 1);
hgs
parents: 30
diff changeset
  1093
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusMultipleDeleteFail);
hgs
parents: 30
diff changeset
  1094
    QVERIFY(VideoListDataModel::mStatusData.isValid());
30
hgs
parents:
diff changeset
  1095
    
hgs
parents:
diff changeset
  1096
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
  1097
    disconnect(this, SIGNAL(signalDeleteCompleted(int, QList<TMPXItemId>*)), mTestObject, SLOT(videoDeleteCompletedSlot(int, QList<TMPXItemId>*)));
34
hgs
parents: 30
diff changeset
  1098
30
hgs
parents:
diff changeset
  1099
}
hgs
parents:
diff changeset
  1100
hgs
parents:
diff changeset
  1101
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1102
// testVideoDetailsCompletedSlot
hgs
parents:
diff changeset
  1103
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1104
//
34
hgs
parents: 30
diff changeset
  1105
30
hgs
parents:
diff changeset
  1106
void TestVideoModel_p::testVideoDetailsCompletedSlot()
hgs
parents:
diff changeset
  1107
{
hgs
parents:
diff changeset
  1108
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
  1109
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
hgs
parents:
diff changeset
  1110
    QVERIFY(connect(this, SIGNAL(signalVideoDetailsCompleted(TMPXItemId)), mTestObject, SLOT(videoDetailsCompletedSlot(TMPXItemId))));      
hgs
parents:
diff changeset
  1111
    
34
hgs
parents: 30
diff changeset
  1112
    QSignalSpy spysignal(mTestObject, SIGNAL(videoDetailsReady(TMPXItemId)));
30
hgs
parents:
diff changeset
  1113
hgs
parents:
diff changeset
  1114
    // no videos
hgs
parents:
diff changeset
  1115
    emit signalVideoDetailsCompleted(TMPXItemId(0,0));
hgs
parents:
diff changeset
  1116
    QVERIFY(spysignal.count() == 0);        
hgs
parents:
diff changeset
  1117
    
hgs
parents:
diff changeset
  1118
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
  1119
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
  1120
    
hgs
parents:
diff changeset
  1121
    // invalid id
hgs
parents:
diff changeset
  1122
    emit signalVideoDetailsCompleted(TMPXItemId::InvalidId());
hgs
parents:
diff changeset
  1123
    QVERIFY(spysignal.count() == 0); 
34
hgs
parents: 30
diff changeset
  1124
    emit signalVideoDetailsCompleted(TMPXItemId(MEDIA_COUNT,0));
30
hgs
parents:
diff changeset
  1125
    QVERIFY(spysignal.count() == 0); 
hgs
parents:
diff changeset
  1126
    
hgs
parents:
diff changeset
  1127
    // correct ids
hgs
parents:
diff changeset
  1128
    emit signalVideoDetailsCompleted(TMPXItemId(0,0));
hgs
parents:
diff changeset
  1129
    QVERIFY(spysignal.count() == 1); 
hgs
parents:
diff changeset
  1130
    QVERIFY(spysignal.value(0).at(0).toInt() == 0);
hgs
parents:
diff changeset
  1131
    spysignal.clear();
hgs
parents:
diff changeset
  1132
    emit signalVideoDetailsCompleted(TMPXItemId(MEDIA_COUNT - 1,0));
hgs
parents:
diff changeset
  1133
    QVERIFY(spysignal.count() == 1); 
hgs
parents:
diff changeset
  1134
    
hgs
parents:
diff changeset
  1135
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
  1136
    disconnect(this, SIGNAL(signalVideoDetailsCompleted(TMPXItemId)), mTestObject, SLOT(videoDetailsCompletedSlot(TMPXItemId)));
hgs
parents:
diff changeset
  1137
}
hgs
parents:
diff changeset
  1138
hgs
parents:
diff changeset
  1139
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1140
// testCollectionItemCount
hgs
parents:
diff changeset
  1141
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1142
//
hgs
parents:
diff changeset
  1143
void TestVideoModel_p::testCollectionItemCount()
hgs
parents:
diff changeset
  1144
{    
hgs
parents:
diff changeset
  1145
    QVERIFY(mTestObject->getVideoCount() == 0);
hgs
parents:
diff changeset
  1146
    
hgs
parents:
diff changeset
  1147
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));    
hgs
parents:
diff changeset
  1148
    
hgs
parents:
diff changeset
  1149
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
  1150
    mMediaFactory->createCollectionItems();
hgs
parents:
diff changeset
  1151
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
  1152
    int count = mTestObject->getVideoCount();
30
hgs
parents:
diff changeset
  1153
    QVERIFY( mTestObject->getVideoCount() == 2);
hgs
parents:
diff changeset
  1154
hgs
parents:
diff changeset
  1155
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
  1156
}
hgs
parents:
diff changeset
  1157
hgs
parents:
diff changeset
  1158
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1159
// testGetCollectionIdFromIndex
hgs
parents:
diff changeset
  1160
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1161
//
hgs
parents:
diff changeset
  1162
void TestVideoModel_p::testGetCollectionIdFromIndex()
hgs
parents:
diff changeset
  1163
{
hgs
parents:
diff changeset
  1164
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == -1);
hgs
parents:
diff changeset
  1165
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == -1);
hgs
parents:
diff changeset
  1166
    
hgs
parents:
diff changeset
  1167
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
  1168
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
  1169
    mMediaFactory->createCollectionItems();
hgs
parents:
diff changeset
  1170
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
  1171
    QVERIFY( mTestObject->getVideoCount() == 2);
30
hgs
parents:
diff changeset
  1172
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1173
    TMPXItemId id = mTestObject->getMediaIdFromIndex(0);
30
hgs
parents:
diff changeset
  1174
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == TMPXItemId(KVcxMvcCategoryIdDownloads, 1));
34
hgs
parents: 30
diff changeset
  1175
    id = mTestObject->getMediaIdFromIndex(1);
30
hgs
parents:
diff changeset
  1176
    QVERIFY(mTestObject->getMediaIdFromIndex(1) == TMPXItemId(KVcxMvcCategoryIdCaptured, 1));
hgs
parents:
diff changeset
  1177
    
hgs
parents:
diff changeset
  1178
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
  1179
}
hgs
parents:
diff changeset
  1180
hgs
parents:
diff changeset
  1181
// End of file
hgs
parents:
diff changeset
  1182
    
hgs
parents:
diff changeset
  1183
hgs
parents:
diff changeset
  1184