videocollection/videocollectionwrapper/tsrc/testvideomodel_p/src/testvideomodel_p.cpp
author hgs
Mon, 23 Aug 2010 14:27:29 +0300
changeset 55 4bfa887905cf
parent 50 21fe8338c6bf
permissions -rw-r--r--
201033
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
36
hgs
parents: 35
diff changeset
    19
#include <hbglobal.h>
hgs
parents: 35
diff changeset
    20
#include <hbextendedlocale.h>
30
hgs
parents:
diff changeset
    21
#include <mpxmediageneraldefs.h>
hgs
parents:
diff changeset
    22
#include <mpxmediaarray.h>
hgs
parents:
diff changeset
    23
#include <mpxmedia.h>
hgs
parents:
diff changeset
    24
#include <vcxmyvideosdefs.h>
hgs
parents:
diff changeset
    25
#include <qabstractitemmodel.h>
34
hgs
parents: 30
diff changeset
    26
#include "testvideomodel_p.h"
hgs
parents: 30
diff changeset
    27
30
hgs
parents:
diff changeset
    28
#include "videocollectionutils.h"
hgs
parents:
diff changeset
    29
#include "videothumbnaildata.h"
hgs
parents:
diff changeset
    30
#include "videolistdatamodel.h"
34
hgs
parents: 30
diff changeset
    31
30
hgs
parents:
diff changeset
    32
#include "mediaobjectfactory.h"
hgs
parents:
diff changeset
    33
#include "videocollectioncommon.h"
hgs
parents:
diff changeset
    34
#include "videocollectionutils.h"
36
hgs
parents: 35
diff changeset
    35
#include "metadatasignalspy.h"
30
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
#define private public
hgs
parents:
diff changeset
    38
#include "videolistdatamodel_p.h"
hgs
parents:
diff changeset
    39
#undef private
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
const int MEDIA_COUNT = 10;
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
inline uint qHash(TMPXItemId key) 
hgs
parents:
diff changeset
    44
{ 
hgs
parents:
diff changeset
    45
    QPair<uint, uint> keyPair(key.iId1, key.iId2); 
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
    return qHash(keyPair);
hgs
parents:
diff changeset
    48
}
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
int main(int argc, char *argv[])
hgs
parents:
diff changeset
    52
{
hgs
parents:
diff changeset
    53
    Q_UNUSED(argc);
hgs
parents:
diff changeset
    54
    
hgs
parents:
diff changeset
    55
    TestVideoModel_p tv;
hgs
parents:
diff changeset
    56
34
hgs
parents: 30
diff changeset
    57
    int res;
hgs
parents: 30
diff changeset
    58
    if(argc > 1)
hgs
parents: 30
diff changeset
    59
    {   
hgs
parents: 30
diff changeset
    60
        res = QTest::qExec(&tv, argc, argv);
hgs
parents: 30
diff changeset
    61
    }
hgs
parents: 30
diff changeset
    62
    else
hgs
parents: 30
diff changeset
    63
    {
hgs
parents: 30
diff changeset
    64
        char *pass[3];
hgs
parents: 30
diff changeset
    65
        pass[0] = argv[0];
hgs
parents: 30
diff changeset
    66
        pass[1] = "-o";
hgs
parents: 30
diff changeset
    67
        pass[2] = "c:\\data\\testvideomodel_p.txt";
hgs
parents: 30
diff changeset
    68
        res = QTest::qExec(&tv, 3, pass);
hgs
parents: 30
diff changeset
    69
    }    
30
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
    return res;
hgs
parents:
diff changeset
    72
}
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    75
// initTestCase
hgs
parents:
diff changeset
    76
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    77
//
34
hgs
parents: 30
diff changeset
    78
30
hgs
parents:
diff changeset
    79
void TestVideoModel_p::initTestCase()
hgs
parents:
diff changeset
    80
{
34
hgs
parents: 30
diff changeset
    81
    qRegisterMetaType<TMPXItemId>("TMPXItemId");
30
hgs
parents:
diff changeset
    82
    mTestObject = 0;
hgs
parents:
diff changeset
    83
    mMediaFactory = new MediaObjectFactory();
hgs
parents:
diff changeset
    84
    
hgs
parents:
diff changeset
    85
    mStubModel = new VideoListDataModel();
hgs
parents:
diff changeset
    86
}
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    89
// init
hgs
parents:
diff changeset
    90
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    91
//
hgs
parents:
diff changeset
    92
void TestVideoModel_p::init()
hgs
parents:
diff changeset
    93
{
hgs
parents:
diff changeset
    94
    qRegisterMetaType<QModelIndex>("QModelIndex");
hgs
parents:
diff changeset
    95
    mTestObject = new VideoListDataModelPrivate(mStubModel);
hgs
parents:
diff changeset
    96
    QVERIFY(mTestObject);
hgs
parents:
diff changeset
    97
    VideoCollectionUtils::mPrepareLengthStringReturnValue = "test duration";
34
hgs
parents: 30
diff changeset
    98
    VideoCollectionUtils::mPrepareSizeStringReturnValue = "test size";   
30
hgs
parents:
diff changeset
    99
}
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   102
// cleanup
hgs
parents:
diff changeset
   103
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   104
//
hgs
parents:
diff changeset
   105
void TestVideoModel_p::cleanup()
hgs
parents:
diff changeset
   106
{
55
hgs
parents: 50
diff changeset
   107
    disconnect();
30
hgs
parents:
diff changeset
   108
    if(mTestObject)
hgs
parents:
diff changeset
   109
    {
hgs
parents:
diff changeset
   110
        delete mTestObject;
hgs
parents:
diff changeset
   111
        mTestObject = 0;
hgs
parents:
diff changeset
   112
    }  
hgs
parents:
diff changeset
   113
}
hgs
parents:
diff changeset
   114
hgs
parents:
diff changeset
   115
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   116
// cleanupTestCase
hgs
parents:
diff changeset
   117
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   118
//
hgs
parents:
diff changeset
   119
void TestVideoModel_p::cleanupTestCase()
hgs
parents:
diff changeset
   120
{
hgs
parents:
diff changeset
   121
    delete mMediaFactory;
hgs
parents:
diff changeset
   122
    delete mStubModel;
hgs
parents:
diff changeset
   123
}
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   126
// testInitTNFails
hgs
parents:
diff changeset
   127
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   128
//
34
hgs
parents: 30
diff changeset
   129
30
hgs
parents:
diff changeset
   130
void TestVideoModel_p::testInitialize()
hgs
parents:
diff changeset
   131
{   
hgs
parents:
diff changeset
   132
    // Succeeds.
hgs
parents:
diff changeset
   133
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   134
    
hgs
parents:
diff changeset
   135
    // Initialize already called.
hgs
parents:
diff changeset
   136
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   137
}
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   140
// testItemCount
hgs
parents:
diff changeset
   141
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   142
//
hgs
parents:
diff changeset
   143
void TestVideoModel_p::testItemCount()
hgs
parents:
diff changeset
   144
{    
hgs
parents:
diff changeset
   145
    QVERIFY(mTestObject->getVideoCount() == 0);
hgs
parents:
diff changeset
   146
    
hgs
parents:
diff changeset
   147
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));    
hgs
parents:
diff changeset
   148
    
hgs
parents:
diff changeset
   149
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   150
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   151
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   152
        
hgs
parents:
diff changeset
   153
    QVERIFY( mTestObject->getVideoCount() == MEDIA_COUNT);
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   156
}
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   159
// testGetMediaIdFromIndex
hgs
parents:
diff changeset
   160
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   161
//
hgs
parents:
diff changeset
   162
void TestVideoModel_p::testGetMediaIdFromIndex()
hgs
parents:
diff changeset
   163
{
hgs
parents:
diff changeset
   164
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == -1);
hgs
parents:
diff changeset
   165
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == -1);
hgs
parents:
diff changeset
   166
    
hgs
parents:
diff changeset
   167
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   168
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
   169
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   170
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   171
    
hgs
parents:
diff changeset
   172
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == -1);
hgs
parents:
diff changeset
   173
    
hgs
parents:
diff changeset
   174
    QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT) == -1);
hgs
parents:
diff changeset
   175
    
hgs
parents:
diff changeset
   176
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == 0);
hgs
parents:
diff changeset
   177
    
hgs
parents:
diff changeset
   178
    QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT - 1);
hgs
parents:
diff changeset
   179
    
hgs
parents:
diff changeset
   180
    // no data
34
hgs
parents: 30
diff changeset
   181
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   182
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   183
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataNone);    
hgs
parents:
diff changeset
   184
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   185
    
hgs
parents:
diff changeset
   186
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == -1);
hgs
parents:
diff changeset
   187
        
hgs
parents:
diff changeset
   188
    QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT) == -1);
hgs
parents:
diff changeset
   189
    
hgs
parents:
diff changeset
   190
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == -1);
hgs
parents:
diff changeset
   191
    
hgs
parents:
diff changeset
   192
    QVERIFY(mTestObject->getMediaIdFromIndex(MEDIA_COUNT - 1) == - 1);
hgs
parents:
diff changeset
   193
       
hgs
parents:
diff changeset
   194
              
hgs
parents:
diff changeset
   195
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   196
}
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   199
// testGetVideoNameFromIndex
hgs
parents:
diff changeset
   200
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   201
//
hgs
parents:
diff changeset
   202
void TestVideoModel_p::testGetVideoNameFromIndex()
hgs
parents:
diff changeset
   203
{
hgs
parents:
diff changeset
   204
    QString expectedName = "";
hgs
parents:
diff changeset
   205
        
hgs
parents:
diff changeset
   206
    QVERIFY(mTestObject->getVideoNameFromIndex(0) == expectedName);
hgs
parents:
diff changeset
   207
    QVERIFY(mTestObject->getVideoNameFromIndex(-1) == expectedName);
hgs
parents:
diff changeset
   208
    
hgs
parents:
diff changeset
   209
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   210
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
   211
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   212
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   213
    
hgs
parents:
diff changeset
   214
    QVERIFY(mTestObject->getVideoNameFromIndex(-1) == expectedName);
hgs
parents:
diff changeset
   215
            
hgs
parents:
diff changeset
   216
    QVERIFY(mTestObject->getVideoNameFromIndex(MEDIA_COUNT) == expectedName);
hgs
parents:
diff changeset
   217
    
hgs
parents:
diff changeset
   218
    expectedName = gQTMediaNamePrefix + "0";
hgs
parents:
diff changeset
   219
    QVERIFY(mTestObject->getVideoNameFromIndex(0) == expectedName);
hgs
parents:
diff changeset
   220
    
hgs
parents:
diff changeset
   221
    expectedName = gQTMediaNamePrefix + QString::number(MEDIA_COUNT - 1);
hgs
parents:
diff changeset
   222
    QVERIFY(mTestObject->getVideoNameFromIndex(MEDIA_COUNT - 1) == expectedName);
hgs
parents:
diff changeset
   223
    
hgs
parents:
diff changeset
   224
    // no data
hgs
parents:
diff changeset
   225
    expectedName = "";
34
hgs
parents: 30
diff changeset
   226
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   227
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   228
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   229
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   230
    
hgs
parents:
diff changeset
   231
    QVERIFY(mTestObject->getVideoNameFromIndex(-1) == expectedName);
hgs
parents:
diff changeset
   232
        
hgs
parents:
diff changeset
   233
    QVERIFY(mTestObject->getVideoNameFromIndex(MEDIA_COUNT) == expectedName);
hgs
parents:
diff changeset
   234
    
hgs
parents:
diff changeset
   235
    QVERIFY(mTestObject->getVideoNameFromIndex(0) == expectedName);
hgs
parents:
diff changeset
   236
    
hgs
parents:
diff changeset
   237
    QVERIFY(mTestObject->getVideoNameFromIndex(MEDIA_COUNT - 1) == expectedName);
hgs
parents:
diff changeset
   238
    
hgs
parents:
diff changeset
   239
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
hgs
parents:
diff changeset
   240
}
hgs
parents:
diff changeset
   241
hgs
parents:
diff changeset
   242
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   243
// testGetVideoThumbnailFromIndex
hgs
parents:
diff changeset
   244
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   245
//
hgs
parents:
diff changeset
   246
void TestVideoModel_p::testGetVideoThumbnailFromIndex()
hgs
parents:
diff changeset
   247
{
hgs
parents:
diff changeset
   248
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(0) == 0);
hgs
parents:
diff changeset
   249
    
hgs
parents:
diff changeset
   250
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   251
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
   252
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   253
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   254
    
hgs
parents:
diff changeset
   255
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   256
    
hgs
parents:
diff changeset
   257
    // invalid indexes
hgs
parents:
diff changeset
   258
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(-1) == 0);
hgs
parents:
diff changeset
   259
    
hgs
parents:
diff changeset
   260
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   261
    
hgs
parents:
diff changeset
   262
    // correct indexes
hgs
parents:
diff changeset
   263
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(0) != 0);
hgs
parents:
diff changeset
   264
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(MEDIA_COUNT/2) != 0);
hgs
parents:
diff changeset
   265
    QVERIFY(mTestObject->getVideoThumbnailFromIndex(MEDIA_COUNT - 1) != 0);
hgs
parents:
diff changeset
   266
      
hgs
parents:
diff changeset
   267
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
hgs
parents:
diff changeset
   268
}
hgs
parents:
diff changeset
   269
hgs
parents:
diff changeset
   270
// -----------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
   271
// testGetCategoryVideoCountFromIndex
hgs
parents: 34
diff changeset
   272
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   273
//
hgs
parents: 34
diff changeset
   274
void TestVideoModel_p::testGetCategoryVideoCountFromIndex()
hgs
parents: 34
diff changeset
   275
{
hgs
parents: 34
diff changeset
   276
    QVERIFY(mTestObject->getCategoryVideoCountFromIndex(0) == 0);
hgs
parents: 34
diff changeset
   277
    
hgs
parents: 34
diff changeset
   278
    mMediaFactory->removeArray();
hgs
parents: 34
diff changeset
   279
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents: 34
diff changeset
   280
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataName | MediaDataId | MediaDetailCategoryVideoCount);
hgs
parents: 34
diff changeset
   281
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 34
diff changeset
   282
hgs
parents: 34
diff changeset
   283
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents: 34
diff changeset
   284
    
hgs
parents: 34
diff changeset
   285
    // invalid indexes
hgs
parents: 34
diff changeset
   286
    QVERIFY(mTestObject->getCategoryVideoCountFromIndex(-1) == 0);
hgs
parents: 34
diff changeset
   287
    
hgs
parents: 34
diff changeset
   288
    QVERIFY(mTestObject->getCategoryVideoCountFromIndex(MEDIA_COUNT) == 0);
hgs
parents: 34
diff changeset
   289
    
hgs
parents: 34
diff changeset
   290
    // correct indexes
hgs
parents: 34
diff changeset
   291
    QCOMPARE((int)(mTestObject->getCategoryVideoCountFromIndex(0)), 1);
hgs
parents: 34
diff changeset
   292
    QCOMPARE((int)(mTestObject->getCategoryVideoCountFromIndex(MEDIA_COUNT/2)), 1);
hgs
parents: 34
diff changeset
   293
    QCOMPARE((int)(mTestObject->getCategoryVideoCountFromIndex(MEDIA_COUNT - 1)), 5);
hgs
parents: 34
diff changeset
   294
hgs
parents: 34
diff changeset
   295
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
hgs
parents: 34
diff changeset
   296
}
hgs
parents: 34
diff changeset
   297
hgs
parents: 34
diff changeset
   298
// -----------------------------------------------------------------------------
30
hgs
parents:
diff changeset
   299
// testGetVideoSizeFromIndex
hgs
parents:
diff changeset
   300
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   301
//
hgs
parents:
diff changeset
   302
void TestVideoModel_p::testGetVideoSizeFromIndex()
hgs
parents:
diff changeset
   303
{
hgs
parents:
diff changeset
   304
    QVERIFY(mTestObject->getVideoSizeFromIndex(0) == 0);
hgs
parents:
diff changeset
   305
    QVERIFY(mTestObject->getVideoSizeFromIndex(-1) == 0);
hgs
parents:
diff changeset
   306
    
hgs
parents:
diff changeset
   307
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   308
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   309
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   310
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   311
    
hgs
parents:
diff changeset
   312
    QVERIFY(mTestObject->getVideoSizeFromIndex(-1) == 0);
hgs
parents:
diff changeset
   313
        
hgs
parents:
diff changeset
   314
    QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   315
    
hgs
parents:
diff changeset
   316
    QVERIFY(mTestObject->getVideoSizeFromIndex(0) == 1);
hgs
parents:
diff changeset
   317
    
hgs
parents:
diff changeset
   318
    QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT);
hgs
parents:
diff changeset
   319
    
hgs
parents:
diff changeset
   320
    // data does not exist
34
hgs
parents: 30
diff changeset
   321
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   322
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   323
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   324
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   325
    
hgs
parents:
diff changeset
   326
    QVERIFY(mTestObject->getVideoSizeFromIndex(-1) == 0);
hgs
parents:
diff changeset
   327
            
hgs
parents:
diff changeset
   328
    QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   329
    
hgs
parents:
diff changeset
   330
    QVERIFY(mTestObject->getVideoSizeFromIndex(0) == 0);
hgs
parents:
diff changeset
   331
    
hgs
parents:
diff changeset
   332
    QVERIFY(mTestObject->getVideoSizeFromIndex(MEDIA_COUNT - 1) == 0);
hgs
parents:
diff changeset
   333
    
hgs
parents:
diff changeset
   334
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   335
}
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   338
// testGetVideoAgeProfileFromIndex
hgs
parents:
diff changeset
   339
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   340
//
hgs
parents:
diff changeset
   341
void TestVideoModel_p::testGetVideoAgeProfileFromIndex()
hgs
parents:
diff changeset
   342
{
hgs
parents:
diff changeset
   343
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(0) == 0);
hgs
parents:
diff changeset
   344
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(-1) == 0);
hgs
parents:
diff changeset
   345
    
hgs
parents:
diff changeset
   346
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   347
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   348
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   349
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   350
        
hgs
parents:
diff changeset
   351
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(-1) == 0);
hgs
parents:
diff changeset
   352
            
hgs
parents:
diff changeset
   353
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   354
    
hgs
parents:
diff changeset
   355
    quint32 excepted = (0%5) + 1;
hgs
parents:
diff changeset
   356
    
hgs
parents:
diff changeset
   357
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(0) == excepted);
hgs
parents:
diff changeset
   358
    
hgs
parents:
diff changeset
   359
    excepted = ((MEDIA_COUNT - 1)%5) + 1;
hgs
parents:
diff changeset
   360
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT - 1) == excepted);
hgs
parents:
diff changeset
   361
    
hgs
parents:
diff changeset
   362
    // data does not exist
34
hgs
parents: 30
diff changeset
   363
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   364
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   365
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   366
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   367
    
hgs
parents:
diff changeset
   368
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(-1) == 0);
hgs
parents:
diff changeset
   369
                
hgs
parents:
diff changeset
   370
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   371
    
hgs
parents:
diff changeset
   372
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(0) == 0);
hgs
parents:
diff changeset
   373
hgs
parents:
diff changeset
   374
    QVERIFY(mTestObject->getVideoAgeProfileFromIndex(MEDIA_COUNT - 1) == 0);
hgs
parents:
diff changeset
   375
         
hgs
parents:
diff changeset
   376
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   377
}
hgs
parents:
diff changeset
   378
hgs
parents:
diff changeset
   379
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   380
// testGetVideodurationFromIndex
hgs
parents:
diff changeset
   381
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   382
//
hgs
parents:
diff changeset
   383
void TestVideoModel_p::testGetVideodurationFromIndex()
hgs
parents:
diff changeset
   384
{
hgs
parents:
diff changeset
   385
    QVERIFY(mTestObject->getVideodurationFromIndex(0) == 0);
hgs
parents:
diff changeset
   386
    QVERIFY(mTestObject->getVideodurationFromIndex(-1) == 0);
hgs
parents:
diff changeset
   387
    
hgs
parents:
diff changeset
   388
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   389
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   390
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   391
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   392
    
hgs
parents:
diff changeset
   393
    QVERIFY(mTestObject->getVideodurationFromIndex(-1) == 0);
hgs
parents:
diff changeset
   394
        
hgs
parents:
diff changeset
   395
    QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   396
    
hgs
parents:
diff changeset
   397
    QVERIFY(mTestObject->getVideodurationFromIndex(0) == 1);
hgs
parents:
diff changeset
   398
    
hgs
parents:
diff changeset
   399
    QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT - 1) == MEDIA_COUNT );
hgs
parents:
diff changeset
   400
    
hgs
parents:
diff changeset
   401
    // data does not exist
34
hgs
parents: 30
diff changeset
   402
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   403
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   404
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   405
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   406
    
hgs
parents:
diff changeset
   407
    QVERIFY(mTestObject->getVideodurationFromIndex(-1) == 0);
hgs
parents:
diff changeset
   408
            
hgs
parents:
diff changeset
   409
    QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT) == 0);
hgs
parents:
diff changeset
   410
    
hgs
parents:
diff changeset
   411
    QVERIFY(mTestObject->getVideodurationFromIndex(0) == 0);
hgs
parents:
diff changeset
   412
    
hgs
parents:
diff changeset
   413
    QVERIFY(mTestObject->getVideodurationFromIndex(MEDIA_COUNT - 1) == 0);
hgs
parents:
diff changeset
   414
    
hgs
parents:
diff changeset
   415
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   416
}
hgs
parents:
diff changeset
   417
hgs
parents:
diff changeset
   418
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   419
// testGetVideoDateFromIndex
hgs
parents:
diff changeset
   420
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   421
//
hgs
parents:
diff changeset
   422
void TestVideoModel_p::testGetVideoDateFromIndex()
hgs
parents:
diff changeset
   423
{
hgs
parents:
diff changeset
   424
    QDateTime excepted;
hgs
parents:
diff changeset
   425
    QVERIFY(mTestObject->getVideoDateFromIndex(0) == excepted);
hgs
parents:
diff changeset
   426
    QVERIFY(mTestObject->getVideoDateFromIndex(-1) == excepted);
hgs
parents:
diff changeset
   427
  
hgs
parents:
diff changeset
   428
    // test when data exists
hgs
parents:
diff changeset
   429
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   430
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
   431
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   432
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   433
      
hgs
parents:
diff changeset
   434
    QVERIFY(mTestObject->getVideoDateFromIndex(-1) == excepted);
hgs
parents:
diff changeset
   435
          
hgs
parents:
diff changeset
   436
    QVERIFY(mTestObject->getVideoDateFromIndex(MEDIA_COUNT) == excepted);
hgs
parents:
diff changeset
   437
  
hgs
parents:
diff changeset
   438
    excepted = QDateTime(QDate(2009, 1, 1), QTime(1,1,1,1));
hgs
parents:
diff changeset
   439
  
hgs
parents:
diff changeset
   440
    QCOMPARE(mTestObject->getVideoDateFromIndex(0), excepted);
hgs
parents:
diff changeset
   441
  
hgs
parents:
diff changeset
   442
    excepted = QDateTime(QDate(2009, MEDIA_COUNT, MEDIA_COUNT), QTime(MEDIA_COUNT,MEDIA_COUNT,MEDIA_COUNT,MEDIA_COUNT));
hgs
parents:
diff changeset
   443
    
hgs
parents:
diff changeset
   444
    QCOMPARE(mTestObject->getVideoDateFromIndex(MEDIA_COUNT - 1), excepted);
hgs
parents:
diff changeset
   445
  
hgs
parents:
diff changeset
   446
    // data does not exist
34
hgs
parents: 30
diff changeset
   447
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   448
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   449
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   450
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   451
    
hgs
parents:
diff changeset
   452
    excepted = QDateTime();
hgs
parents:
diff changeset
   453
    QVERIFY(mTestObject->getVideoDateFromIndex(-1) == excepted);         
hgs
parents:
diff changeset
   454
    QVERIFY(mTestObject->getVideoDateFromIndex(MEDIA_COUNT) == excepted);
hgs
parents:
diff changeset
   455
    QVERIFY(mTestObject->getVideoDateFromIndex(0) == excepted);
hgs
parents:
diff changeset
   456
    QVERIFY(mTestObject->getVideoDateFromIndex(MEDIA_COUNT - 1) == excepted);
hgs
parents:
diff changeset
   457
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   458
}
hgs
parents:
diff changeset
   459
hgs
parents:
diff changeset
   460
// -----------------------------------------------------------------------------
34
hgs
parents: 30
diff changeset
   461
// testVideoMarkAndRestoreDeleted
hgs
parents: 30
diff changeset
   462
// -----------------------------------------------------------------------------
hgs
parents: 30
diff changeset
   463
//
hgs
parents: 30
diff changeset
   464
void TestVideoModel_p::testVideoMarkAndRestoreDeleted()
hgs
parents: 30
diff changeset
   465
{
hgs
parents: 30
diff changeset
   466
    
hgs
parents: 30
diff changeset
   467
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));   
hgs
parents: 30
diff changeset
   468
    mMediaFactory->removeArray();
hgs
parents: 30
diff changeset
   469
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents: 30
diff changeset
   470
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 30
diff changeset
   471
    
hgs
parents: 30
diff changeset
   472
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   473
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   474
    QList<TMPXItemId> idsToRestore;
hgs
parents: 30
diff changeset
   475
    // mark few items to be removed then restore them 
hgs
parents: 30
diff changeset
   476
    // NOTE: since item marking decreases item count by one,
hgs
parents: 30
diff changeset
   477
    //       we need to mark items starting from biggest index,
hgs
parents: 30
diff changeset
   478
    //       otherwise we might end up to mark invalid items
hgs
parents: 30
diff changeset
   479
    QModelIndex index = mStubModel->index(MEDIA_COUNT-1, 0, QModelIndex());
hgs
parents: 30
diff changeset
   480
    idsToRestore.append(mTestObject->markVideoRemoved(index));    
hgs
parents: 30
diff changeset
   481
    index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
hgs
parents: 30
diff changeset
   482
    idsToRestore.append(mTestObject->markVideoRemoved(index));
hgs
parents: 30
diff changeset
   483
    index = mStubModel->index(0, 0, QModelIndex());
hgs
parents: 30
diff changeset
   484
    idsToRestore.append(mTestObject->markVideoRemoved(index));
hgs
parents: 30
diff changeset
   485
    
hgs
parents: 30
diff changeset
   486
    QVERIFY(mTestObject->getVideoCount() == (MEDIA_COUNT - 3) );
hgs
parents: 30
diff changeset
   487
    
hgs
parents: 30
diff changeset
   488
    mTestObject->restoreRemoved(&idsToRestore);
hgs
parents: 30
diff changeset
   489
    QVERIFY(VideoListDataModel::mFirstInserted == MEDIA_COUNT - 3);
hgs
parents: 30
diff changeset
   490
    QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
hgs
parents: 30
diff changeset
   491
    QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT);
hgs
parents: 30
diff changeset
   492
    
hgs
parents: 30
diff changeset
   493
    idsToRestore.clear();
hgs
parents: 30
diff changeset
   494
    mMediaFactory->removeArray();
hgs
parents: 30
diff changeset
   495
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents: 30
diff changeset
   496
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 30
diff changeset
   497
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   498
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   499
    
hgs
parents: 30
diff changeset
   500
    // mark few items to be removed then restore them 
hgs
parents: 30
diff changeset
   501
    index = mStubModel->index(MEDIA_COUNT-1, 0, QModelIndex());
hgs
parents: 30
diff changeset
   502
    idsToRestore.append(mTestObject->markVideoRemoved(index));    
hgs
parents: 30
diff changeset
   503
    index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
hgs
parents: 30
diff changeset
   504
    idsToRestore.append(mTestObject->markVideoRemoved(index));
hgs
parents: 30
diff changeset
   505
    index = mStubModel->index(0, 0, QModelIndex());
hgs
parents: 30
diff changeset
   506
    idsToRestore.append(mTestObject->markVideoRemoved(index));
hgs
parents: 30
diff changeset
   507
 
hgs
parents: 30
diff changeset
   508
    QVERIFY(mTestObject->getVideoCount() == (MEDIA_COUNT - 3) );
hgs
parents: 30
diff changeset
   509
    mTestObject->restoreRemoved(&idsToRestore);
hgs
parents: 30
diff changeset
   510
    QVERIFY(VideoListDataModel::mFirstInserted == MEDIA_COUNT - 3);
hgs
parents: 30
diff changeset
   511
    QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
hgs
parents: 30
diff changeset
   512
    
hgs
parents: 30
diff changeset
   513
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   514
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   515
    idsToRestore.clear();
hgs
parents: 30
diff changeset
   516
    index = mStubModel->index(MEDIA_COUNT, 0, QModelIndex());
hgs
parents: 30
diff changeset
   517
    idsToRestore.append(mTestObject->markVideoRemoved(index));    
hgs
parents: 30
diff changeset
   518
    mTestObject->restoreRemoved(&idsToRestore);
hgs
parents: 30
diff changeset
   519
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   520
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   521
    
hgs
parents: 30
diff changeset
   522
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents: 30
diff changeset
   523
}
hgs
parents: 30
diff changeset
   524
hgs
parents: 30
diff changeset
   525
// -----------------------------------------------------------------------------
30
hgs
parents:
diff changeset
   526
// testGetFilePathFromIndex
hgs
parents:
diff changeset
   527
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   528
//
34
hgs
parents: 30
diff changeset
   529
30
hgs
parents:
diff changeset
   530
void TestVideoModel_p::testGetFilePathFromIndex()
hgs
parents:
diff changeset
   531
{
hgs
parents:
diff changeset
   532
    QString path = mTestObject->getFilePathFromIndex(0);
hgs
parents:
diff changeset
   533
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   534
    path = mTestObject->getFilePathFromIndex(-1);
hgs
parents:
diff changeset
   535
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   536
    
hgs
parents:
diff changeset
   537
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   538
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   539
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   540
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   541
    
hgs
parents:
diff changeset
   542
    path = mTestObject->getFilePathFromIndex(-1);
hgs
parents:
diff changeset
   543
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   544
    
hgs
parents:
diff changeset
   545
    path = mTestObject->getFilePathFromIndex(0);
50
hgs
parents: 38
diff changeset
   546
    QVERIFY(!path.isEmpty());
30
hgs
parents:
diff changeset
   547
    
hgs
parents:
diff changeset
   548
    // data does not exist
34
hgs
parents: 30
diff changeset
   549
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   550
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   551
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);    
hgs
parents:
diff changeset
   552
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   553
    
hgs
parents:
diff changeset
   554
    path = mTestObject->getFilePathFromIndex(0);
hgs
parents:
diff changeset
   555
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   556
    
hgs
parents:
diff changeset
   557
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   558
}
hgs
parents:
diff changeset
   559
hgs
parents:
diff changeset
   560
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   561
// testGetFilePathForId
hgs
parents:
diff changeset
   562
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   563
//
hgs
parents:
diff changeset
   564
void TestVideoModel_p::testGetFilePathForId()
hgs
parents:
diff changeset
   565
{
hgs
parents:
diff changeset
   566
    QString path = mTestObject->getFilePathForId(TMPXItemId(0,0));
hgs
parents:
diff changeset
   567
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   568
    path = mTestObject->getFilePathForId(TMPXItemId::InvalidId());
hgs
parents:
diff changeset
   569
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   570
    
hgs
parents:
diff changeset
   571
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   572
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   573
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   574
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   575
    
hgs
parents:
diff changeset
   576
    path = mTestObject->getFilePathForId(TMPXItemId::InvalidId());
hgs
parents:
diff changeset
   577
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   578
    
hgs
parents:
diff changeset
   579
    path = mTestObject->getFilePathForId(TMPXItemId(0,0));
50
hgs
parents: 38
diff changeset
   580
    QVERIFY(!path.isEmpty());
30
hgs
parents:
diff changeset
   581
    
hgs
parents:
diff changeset
   582
    // data does not exist
34
hgs
parents: 30
diff changeset
   583
    mTestObject->mMediaData.clear();
30
hgs
parents:
diff changeset
   584
    mMediaFactory->removeArray();
36
hgs
parents: 35
diff changeset
   585
    mMediaFactory->createMediaItems(MEDIA_COUNT, MediaDataId);
30
hgs
parents:
diff changeset
   586
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   587
    
hgs
parents:
diff changeset
   588
    path = mTestObject->getFilePathForId(TMPXItemId(0,0));
hgs
parents:
diff changeset
   589
    QVERIFY(path.isNull());
hgs
parents:
diff changeset
   590
    
hgs
parents:
diff changeset
   591
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
   592
}
hgs
parents:
diff changeset
   593
hgs
parents:
diff changeset
   594
// -----------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
   595
// testBelongsToAlbum
hgs
parents: 34
diff changeset
   596
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   597
//
hgs
parents: 34
diff changeset
   598
void TestVideoModel_p::testBelongsToAlbum()
hgs
parents: 34
diff changeset
   599
{
hgs
parents: 34
diff changeset
   600
    TMPXItemId id(1,0);
hgs
parents: 34
diff changeset
   601
    // invalid id, no album setted
hgs
parents: 34
diff changeset
   602
    QVERIFY(!mTestObject->belongsToAlbum(id));
hgs
parents: 34
diff changeset
   603
    
hgs
parents: 34
diff changeset
   604
    mTestObject->setAlbumInUse(TMPXItemId(1,2));
hgs
parents: 34
diff changeset
   605
    
hgs
parents: 34
diff changeset
   606
    // invalid id, album setted
hgs
parents: 34
diff changeset
   607
    QVERIFY(!mTestObject->belongsToAlbum(id));
hgs
parents: 34
diff changeset
   608
    
hgs
parents: 34
diff changeset
   609
    QSet<TMPXItemId> items;
hgs
parents: 34
diff changeset
   610
    items.insert(id);
hgs
parents: 34
diff changeset
   611
    mTestObject->mAlbumData[TMPXItemId(1,2)] = items;
hgs
parents: 34
diff changeset
   612
    
hgs
parents: 34
diff changeset
   613
    // invalid id, album setted, items exist 
hgs
parents: 34
diff changeset
   614
    QVERIFY(mTestObject->belongsToAlbum(id));
hgs
parents: 34
diff changeset
   615
    
hgs
parents: 34
diff changeset
   616
    // no invalid id, item does not exist
hgs
parents: 34
diff changeset
   617
    QVERIFY(!mTestObject->belongsToAlbum(id, TMPXItemId(2,2)));
hgs
parents: 34
diff changeset
   618
    
hgs
parents: 34
diff changeset
   619
    // no invalid id, items exist 
hgs
parents: 34
diff changeset
   620
    QVERIFY(mTestObject->belongsToAlbum(id, TMPXItemId(1,2)));
hgs
parents: 34
diff changeset
   621
}
hgs
parents: 34
diff changeset
   622
    
hgs
parents: 34
diff changeset
   623
    
hgs
parents: 34
diff changeset
   624
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   625
// testRemoveItemsFromAlbum
hgs
parents: 34
diff changeset
   626
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   627
//
hgs
parents: 34
diff changeset
   628
void TestVideoModel_p::testRemoveItemsFromAlbum()
hgs
parents: 34
diff changeset
   629
{    
hgs
parents: 34
diff changeset
   630
    TMPXItemId albumId(1,2);
hgs
parents: 34
diff changeset
   631
    QList<TMPXItemId> ids;
hgs
parents: 34
diff changeset
   632
    // album does not exists
hgs
parents: 34
diff changeset
   633
    QVERIFY(mTestObject->removeItemsFromAlbum(albumId, ids) == 0);
hgs
parents: 34
diff changeset
   634
    
hgs
parents: 34
diff changeset
   635
    QSet<TMPXItemId> items;
hgs
parents: 34
diff changeset
   636
    items.insert(TMPXItemId(1,0));
hgs
parents: 34
diff changeset
   637
    items.insert(TMPXItemId(3,0));
hgs
parents: 34
diff changeset
   638
    mTestObject->mAlbumData[albumId] = items;
hgs
parents: 34
diff changeset
   639
    
hgs
parents: 34
diff changeset
   640
    ids.append(TMPXItemId(2,0));
hgs
parents: 34
diff changeset
   641
    ids.append(TMPXItemId(3,0));
hgs
parents: 34
diff changeset
   642
    // provided list contains and does not contain items in album
hgs
parents: 34
diff changeset
   643
    QVERIFY(mTestObject->removeItemsFromAlbum(albumId, ids) == 1);
hgs
parents: 34
diff changeset
   644
    
hgs
parents: 34
diff changeset
   645
}
hgs
parents: 34
diff changeset
   646
hgs
parents: 34
diff changeset
   647
// -----------------------------------------------------------------------------
30
hgs
parents:
diff changeset
   648
// testThumbnailsFetchedSlot
hgs
parents:
diff changeset
   649
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   650
//
hgs
parents:
diff changeset
   651
void TestVideoModel_p::testThumbnailsFetchedSlot()
hgs
parents:
diff changeset
   652
{
50
hgs
parents: 38
diff changeset
   653
    QVERIFY(connect(this, SIGNAL(signalThumbnailsFetched(QList<TMPXItemId>&)), mTestObject, SLOT(thumbnailsFetchedSlot(QList<TMPXItemId>&))));      
30
hgs
parents:
diff changeset
   654
    
50
hgs
parents: 38
diff changeset
   655
    QSignalSpy spysignal(mStubModel, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&)));
30
hgs
parents:
diff changeset
   656
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   657
    
hgs
parents:
diff changeset
   658
    QList<TMPXItemId> mediaIds;
hgs
parents:
diff changeset
   659
    
hgs
parents:
diff changeset
   660
    // test no videos
hgs
parents:
diff changeset
   661
    mediaIds.append(TMPXItemId(0, 0));
hgs
parents:
diff changeset
   662
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   663
    QVERIFY(spysignal.count() == 0);
hgs
parents:
diff changeset
   664
    mediaIds.clear();
hgs
parents:
diff changeset
   665
hgs
parents:
diff changeset
   666
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents:
diff changeset
   667
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   668
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   669
    
hgs
parents:
diff changeset
   670
    // test invalid ids
hgs
parents:
diff changeset
   671
    mediaIds.append(TMPXItemId::InvalidId());
hgs
parents:
diff changeset
   672
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   673
    QVERIFY(spysignal.count() == 0);
hgs
parents:
diff changeset
   674
    spysignal.clear();
hgs
parents:
diff changeset
   675
    mediaIds.clear();
hgs
parents:
diff changeset
   676
    mediaIds.append(TMPXItemId(MEDIA_COUNT, 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
    mediaIds.append(TMPXItemId(MEDIA_COUNT + 1, 0));
hgs
parents:
diff changeset
   681
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   682
    QVERIFY(spysignal.count() == 0);
hgs
parents:
diff changeset
   683
    mediaIds.clear();
hgs
parents:
diff changeset
   684
    
hgs
parents:
diff changeset
   685
    // test correct ids
hgs
parents:
diff changeset
   686
    mediaIds.append(TMPXItemId(0, 0));
hgs
parents:
diff changeset
   687
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   688
    QVERIFY(spysignal.count() == 1);
hgs
parents:
diff changeset
   689
    QVERIFY(spysignal.value(0).at(0).toInt() == 0);
hgs
parents:
diff changeset
   690
    spysignal.clear();
hgs
parents:
diff changeset
   691
    mediaIds.clear();
hgs
parents:
diff changeset
   692
    mediaIds.append(TMPXItemId(1, 0));
hgs
parents:
diff changeset
   693
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   694
    QVERIFY(spysignal.count() == 1);
hgs
parents:
diff changeset
   695
    spysignal.clear();
hgs
parents:
diff changeset
   696
    mediaIds.clear();
hgs
parents:
diff changeset
   697
    
hgs
parents:
diff changeset
   698
    mediaIds.append(TMPXItemId(MEDIA_COUNT/2, 0));
hgs
parents:
diff changeset
   699
    emit signalThumbnailsFetched(mediaIds);
hgs
parents:
diff changeset
   700
    QVERIFY(spysignal.count() == 1);
hgs
parents:
diff changeset
   701
    
hgs
parents:
diff changeset
   702
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
50
hgs
parents: 38
diff changeset
   703
    disconnect(this, SIGNAL(signalThumbnailsFetched(QList<TMPXItemId>&)), mTestObject, SLOT(thumbnailsFetchedSlot(QList<TMPXItemId>&)));
30
hgs
parents:
diff changeset
   704
}
hgs
parents:
diff changeset
   705
hgs
parents:
diff changeset
   706
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   707
// testNewVideoListSlot
hgs
parents:
diff changeset
   708
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   709
//
hgs
parents:
diff changeset
   710
void TestVideoModel_p::testNewVideoListSlot()
hgs
parents:
diff changeset
   711
{
hgs
parents:
diff changeset
   712
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   713
    
hgs
parents:
diff changeset
   714
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));      
hgs
parents:
diff changeset
   715
34
hgs
parents: 30
diff changeset
   716
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   717
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   718
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   719
    VideoListDataModel::mLastRemoved = -1;    
hgs
parents: 30
diff changeset
   720
    
38
hgs
parents: 36
diff changeset
   721
    QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
30
hgs
parents:
diff changeset
   722
    
hgs
parents:
diff changeset
   723
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   724
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   725
    // media-array does not exist
hgs
parents:
diff changeset
   726
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
   727
34
hgs
parents: 30
diff changeset
   728
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   729
    QVERIFY(VideoListDataModel::mLastInserted == MEDIA_COUNT - 1);
hgs
parents: 30
diff changeset
   730
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   731
    QVERIFY(VideoListDataModel::mLastRemoved == -1); 
38
hgs
parents: 36
diff changeset
   732
    QCOMPARE(spyModelChanged.count(), 1);
hgs
parents: 36
diff changeset
   733
    spyModelChanged.clear();
34
hgs
parents: 30
diff changeset
   734
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   735
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   736
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   737
    VideoListDataModel::mLastRemoved = -1;   
30
hgs
parents:
diff changeset
   738
    
hgs
parents:
diff changeset
   739
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   740
    
hgs
parents:
diff changeset
   741
    // providing null videolist
hgs
parents:
diff changeset
   742
    emit signalNewVideoList(0);
34
hgs
parents: 30
diff changeset
   743
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   744
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   745
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   746
    QVERIFY(VideoListDataModel::mLastRemoved == -1); 
38
hgs
parents: 36
diff changeset
   747
    QCOMPARE(spyModelChanged.count(), 0);
34
hgs
parents: 30
diff changeset
   748
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   749
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   750
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   751
    VideoListDataModel::mLastRemoved = -1;  
30
hgs
parents:
diff changeset
   752
    
hgs
parents:
diff changeset
   753
    // empty media-array
hgs
parents:
diff changeset
   754
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   755
    mMediaFactory->createMediaItems(0);
hgs
parents:
diff changeset
   756
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
   757
  
hgs
parents: 30
diff changeset
   758
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   759
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   760
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   761
    QVERIFY(VideoListDataModel::mLastRemoved == -1); 
38
hgs
parents: 36
diff changeset
   762
    QCOMPARE(spyModelChanged.count(), 0);
hgs
parents: 36
diff changeset
   763
    spyModelChanged.clear();
34
hgs
parents: 30
diff changeset
   764
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   765
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   766
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   767
    VideoListDataModel::mLastRemoved = -1;   
30
hgs
parents:
diff changeset
   768
    
hgs
parents:
diff changeset
   769
    // media-array exits
hgs
parents:
diff changeset
   770
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   771
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
   772
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
   773
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   774
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
   775
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
   776
    QVERIFY(VideoListDataModel::mLastRemoved == -1); 
38
hgs
parents: 36
diff changeset
   777
    QCOMPARE(spyModelChanged.count(), 0);
hgs
parents: 36
diff changeset
   778
    spyModelChanged.clear();
34
hgs
parents: 30
diff changeset
   779
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   780
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   781
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
   782
    VideoListDataModel::mLastRemoved = -1;   
30
hgs
parents:
diff changeset
   783
    
hgs
parents:
diff changeset
   784
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   785
}
hgs
parents:
diff changeset
   786
hgs
parents:
diff changeset
   787
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   788
// testAppendVideoListSlot
hgs
parents:
diff changeset
   789
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   790
//
hgs
parents:
diff changeset
   791
void TestVideoModel_p::testAppendVideoListSlot()
hgs
parents:
diff changeset
   792
{
hgs
parents:
diff changeset
   793
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   794
        
hgs
parents:
diff changeset
   795
    QVERIFY(connect(this, SIGNAL(signalAppendVideoList(CMPXMediaArray*)), mTestObject, SLOT(appendVideoListSlot(CMPXMediaArray*))));      
hgs
parents:
diff changeset
   796
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
hgs
parents:
diff changeset
   797
    
34
hgs
parents: 30
diff changeset
   798
    QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
hgs
parents: 30
diff changeset
   799
    
hgs
parents: 30
diff changeset
   800
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   801
    VideoListDataModel::mLastInserted = -1;
30
hgs
parents:
diff changeset
   802
    
hgs
parents:
diff changeset
   803
    // append null
36
hgs
parents: 35
diff changeset
   804
    emit signalAppendVideoList(0);
34
hgs
parents: 30
diff changeset
   805
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   806
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
   807
    QVERIFY(mTestObject->getVideoCount() == 0);
34
hgs
parents: 30
diff changeset
   808
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   809
    
hgs
parents:
diff changeset
   810
    // append empty videolist
hgs
parents:
diff changeset
   811
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   812
    mMediaFactory->createMediaItems(0);
hgs
parents:
diff changeset
   813
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   814
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   815
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
   816
    QVERIFY(mTestObject->getVideoCount() == 0);
34
hgs
parents: 30
diff changeset
   817
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   818
    
hgs
parents:
diff changeset
   819
    // send 10 videos
hgs
parents:
diff changeset
   820
    mMediaFactory->createMediaItems(10);
hgs
parents:
diff changeset
   821
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
38
hgs
parents: 36
diff changeset
   822
    spyModelChanged.clear();
34
hgs
parents: 30
diff changeset
   823
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   824
    VideoListDataModel::mLastInserted = -1;
30
hgs
parents:
diff changeset
   825
    
hgs
parents:
diff changeset
   826
    // append videolist containing less than existing
hgs
parents:
diff changeset
   827
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   828
    mMediaFactory->createMediaItems(3);
hgs
parents:
diff changeset
   829
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   830
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
   831
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
   832
    QVERIFY(mTestObject->getVideoCount() == 10);
34
hgs
parents: 30
diff changeset
   833
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
   834
    
hgs
parents:
diff changeset
   835
    // reset data
hgs
parents:
diff changeset
   836
    mTestObject->mMediaData.clear();
hgs
parents:
diff changeset
   837
    
hgs
parents:
diff changeset
   838
    // append items with invalid ids:
34
hgs
parents: 30
diff changeset
   839
    // signals emitted (begin inserting is called), but items are really not appended
30
hgs
parents:
diff changeset
   840
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   841
    mMediaFactory->createMediaItems(3, MediaDataNone);
34
hgs
parents: 30
diff changeset
   842
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 30
diff changeset
   843
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   844
    QVERIFY(VideoListDataModel::mLastInserted == 2);
30
hgs
parents:
diff changeset
   845
    QVERIFY(mTestObject->getVideoCount() == 0);
34
hgs
parents: 30
diff changeset
   846
    QVERIFY(spyModelChanged.count() == 1); 
hgs
parents: 30
diff changeset
   847
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
   848
hgs
parents:
diff changeset
   849
    // append items with iId2 == 1 && iId1 != KVcxMvcCategoryIdDownloads (==1) && iId1 != KVcxMvcCategoryIdCaptured (== 3)
hgs
parents:
diff changeset
   850
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   851
    mMediaFactory->createMediaItems(0);
hgs
parents:
diff changeset
   852
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(4, 1)));
hgs
parents:
diff changeset
   853
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(5, 1)));
hgs
parents:
diff changeset
   854
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   855
hgs
parents: 30
diff changeset
   856
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   857
    QVERIFY(VideoListDataModel::mLastInserted == 1);
30
hgs
parents:
diff changeset
   858
    QVERIFY(mTestObject->getVideoCount() == 0);
34
hgs
parents: 30
diff changeset
   859
    QVERIFY(spyModelChanged.count() == 1); 
hgs
parents: 30
diff changeset
   860
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
   861
    
hgs
parents:
diff changeset
   862
    // append correct items
hgs
parents:
diff changeset
   863
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   864
    mMediaFactory->createMediaItems(3);
hgs
parents:
diff changeset
   865
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   866
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
   867
    QVERIFY(VideoListDataModel::mLastInserted == 2);
30
hgs
parents:
diff changeset
   868
    QVERIFY(mTestObject->getVideoCount() == 3);
34
hgs
parents: 30
diff changeset
   869
    QVERIFY(spyModelChanged.count() == 1); 
hgs
parents: 30
diff changeset
   870
    spyModelChanged.clear();   
30
hgs
parents:
diff changeset
   871
       
hgs
parents:
diff changeset
   872
    // append more to existing
hgs
parents:
diff changeset
   873
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
   874
    mMediaFactory->createMediaItems(10);
hgs
parents:
diff changeset
   875
    emit signalAppendVideoList(mMediaFactory->copyOfMediaArray()); 
34
hgs
parents: 30
diff changeset
   876
hgs
parents: 30
diff changeset
   877
    QVERIFY(VideoListDataModel::mFirstInserted == 3);
hgs
parents: 30
diff changeset
   878
    QVERIFY(VideoListDataModel::mLastInserted == 9);
hgs
parents: 30
diff changeset
   879
30
hgs
parents:
diff changeset
   880
    QVERIFY(mTestObject->getVideoCount() == 10);
34
hgs
parents: 30
diff changeset
   881
    QVERIFY(spyModelChanged.count() == 1); 
hgs
parents: 30
diff changeset
   882
    spyModelChanged.clear();
hgs
parents: 30
diff changeset
   883
  
30
hgs
parents:
diff changeset
   884
      
hgs
parents:
diff changeset
   885
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   886
    disconnect(this, SIGNAL(signalAppendVideoList(CMPXMediaArray*)), mTestObject, SLOT(appendVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
   887
}
hgs
parents:
diff changeset
   888
hgs
parents:
diff changeset
   889
// -----------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
   890
// testAlbumListAvailableSlot
hgs
parents: 34
diff changeset
   891
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   892
//
hgs
parents: 34
diff changeset
   893
void TestVideoModel_p::testAlbumListAvailableSlot()
hgs
parents: 34
diff changeset
   894
{ 
hgs
parents: 34
diff changeset
   895
hgs
parents: 34
diff changeset
   896
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents: 34
diff changeset
   897
        
50
hgs
parents: 38
diff changeset
   898
    QVERIFY(connect(this, SIGNAL(signalAlbumListAvailable(TMPXItemId&, CMPXMediaArray*)),
hgs
parents: 38
diff changeset
   899
            mTestObject, SLOT(albumListAvailableSlot(TMPXItemId&, CMPXMediaArray*))));  
35
hgs
parents: 34
diff changeset
   900
    
hgs
parents: 34
diff changeset
   901
    TMPXItemId albumId(1,2);
hgs
parents: 34
diff changeset
   902
    
hgs
parents: 34
diff changeset
   903
    // null video array
hgs
parents: 34
diff changeset
   904
    emit signalAlbumListAvailable(albumId, 0);
hgs
parents: 34
diff changeset
   905
    QVERIFY(mTestObject->mAlbumData.count() == 0);
hgs
parents: 34
diff changeset
   906
    
hgs
parents: 34
diff changeset
   907
    mMediaFactory->removeArray();
hgs
parents: 34
diff changeset
   908
    mMediaFactory->createMediaItems(10);
hgs
parents: 34
diff changeset
   909
    // invalid album id
hgs
parents: 34
diff changeset
   910
    albumId = TMPXItemId::InvalidId();
hgs
parents: 34
diff changeset
   911
    emit signalAlbumListAvailable(albumId, mMediaFactory->mediaArray());
hgs
parents: 34
diff changeset
   912
    QVERIFY(mTestObject->mAlbumData.count() == 0);
hgs
parents: 34
diff changeset
   913
    
hgs
parents: 34
diff changeset
   914
    mMediaFactory->removeArray();
hgs
parents: 34
diff changeset
   915
    mMediaFactory->createMediaItems(0);
hgs
parents: 34
diff changeset
   916
    albumId = TMPXItemId(1,2);
hgs
parents: 34
diff changeset
   917
    
hgs
parents: 34
diff changeset
   918
    // empty videoarray
hgs
parents: 34
diff changeset
   919
    emit signalAlbumListAvailable(albumId, mMediaFactory->mediaArray());
hgs
parents: 34
diff changeset
   920
    QVERIFY(mTestObject->mAlbumData.count() == 1);
hgs
parents: 34
diff changeset
   921
    
hgs
parents: 34
diff changeset
   922
    mMediaFactory->removeArray();
hgs
parents: 34
diff changeset
   923
    mMediaFactory->createMediaItems(0);
hgs
parents: 34
diff changeset
   924
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(1, 0)));
hgs
parents: 34
diff changeset
   925
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(-1, -1)));
hgs
parents: 34
diff changeset
   926
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(2, 0)));
hgs
parents: 34
diff changeset
   927
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(3, 1)));
hgs
parents: 34
diff changeset
   928
    
hgs
parents: 34
diff changeset
   929
    // "normal" video array containing invalid ids.
hgs
parents: 34
diff changeset
   930
    emit signalAlbumListAvailable(albumId, mMediaFactory->mediaArray());
hgs
parents: 34
diff changeset
   931
    QVERIFY(mTestObject->mAlbumData.count() == 1);
hgs
parents: 34
diff changeset
   932
    QVERIFY(mTestObject->mAlbumData.find(albumId)->count() == 2);
hgs
parents: 34
diff changeset
   933
    TMPXItemId itemToCheck(1,0);
hgs
parents: 34
diff changeset
   934
    QVERIFY(mTestObject->belongsToAlbum(itemToCheck, albumId));    
hgs
parents: 34
diff changeset
   935
    
50
hgs
parents: 38
diff changeset
   936
    disconnect(this, SIGNAL(signalAlbumListAvailable(TMPXItemId&, CMPXMediaArray*)),
hgs
parents: 38
diff changeset
   937
                mTestObject, SLOT(albumListAvailableSlot(TMPXItemId&, CMPXMediaArray*)));
35
hgs
parents: 34
diff changeset
   938
}
hgs
parents: 34
diff changeset
   939
hgs
parents: 34
diff changeset
   940
// -----------------------------------------------------------------------------
36
hgs
parents: 35
diff changeset
   941
// testItemModifiedSlot
hgs
parents: 35
diff changeset
   942
// -----------------------------------------------------------------------------
hgs
parents: 35
diff changeset
   943
//
hgs
parents: 35
diff changeset
   944
void TestVideoModel_p::testItemModifiedSlot()
hgs
parents: 35
diff changeset
   945
{
hgs
parents: 35
diff changeset
   946
    mMediaFactory->removeArray();
hgs
parents: 35
diff changeset
   947
hgs
parents: 35
diff changeset
   948
    QVERIFY(connect(this, SIGNAL(signalItemModified(const TMPXItemId &)), mTestObject, SLOT(itemModifiedSlot(const TMPXItemId &))));  
hgs
parents: 35
diff changeset
   949
    
50
hgs
parents: 38
diff changeset
   950
    QSignalSpy spysignal(mStubModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)));
36
hgs
parents: 35
diff changeset
   951
hgs
parents: 35
diff changeset
   952
    // invalid item id, no items
hgs
parents: 35
diff changeset
   953
    TMPXItemId id = TMPXItemId::InvalidId();
hgs
parents: 35
diff changeset
   954
    emit signalItemModified(id);
hgs
parents: 35
diff changeset
   955
    QVERIFY(spysignal.count() == 0);
hgs
parents: 35
diff changeset
   956
    
hgs
parents: 35
diff changeset
   957
    // invalid item id, model has items
hgs
parents: 35
diff changeset
   958
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));           
hgs
parents: 35
diff changeset
   959
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents: 35
diff changeset
   960
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 35
diff changeset
   961
hgs
parents: 35
diff changeset
   962
    emit signalItemModified(id);
hgs
parents: 35
diff changeset
   963
    QVERIFY(spysignal.count() == 0);
hgs
parents: 35
diff changeset
   964
    
hgs
parents: 35
diff changeset
   965
    // ok item id, model has items
hgs
parents: 35
diff changeset
   966
    id = TMPXItemId(0, 0);
hgs
parents: 35
diff changeset
   967
    emit signalItemModified(id);
hgs
parents: 35
diff changeset
   968
    QVERIFY(spysignal.count() == 1);
hgs
parents: 35
diff changeset
   969
    spysignal.clear();
hgs
parents: 35
diff changeset
   970
    
hgs
parents: 35
diff changeset
   971
    // ok item id, model has items but returns invalid index
hgs
parents: 35
diff changeset
   972
    VideoListDataModel::mIndexReturnsInvalid = true;
hgs
parents: 35
diff changeset
   973
    id = TMPXItemId(0, 0);
hgs
parents: 35
diff changeset
   974
    emit signalItemModified(id);
hgs
parents: 35
diff changeset
   975
    QVERIFY(spysignal.count() == 0);
hgs
parents: 35
diff changeset
   976
    spysignal.clear();
hgs
parents: 35
diff changeset
   977
hgs
parents: 35
diff changeset
   978
    disconnect(this, SIGNAL(signalItemModified(const TMPXItemId &)), mTestObject, SLOT(itemModifiedSlot(const TMPXItemId &)));    
hgs
parents: 35
diff changeset
   979
    VideoListDataModel::mIndexReturnsInvalid = false;
hgs
parents: 35
diff changeset
   980
}
hgs
parents: 35
diff changeset
   981
hgs
parents: 35
diff changeset
   982
// -----------------------------------------------------------------------------
30
hgs
parents:
diff changeset
   983
// testNewVideoAvailableSlot
hgs
parents:
diff changeset
   984
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   985
//
hgs
parents:
diff changeset
   986
void TestVideoModel_p::testNewVideoAvailableSlot()
hgs
parents:
diff changeset
   987
{
36
hgs
parents: 35
diff changeset
   988
    VideoListDataModel::mIndexReturnsInvalid = false;
30
hgs
parents:
diff changeset
   989
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
   990
    
34
hgs
parents: 30
diff changeset
   991
    connect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*)));
hgs
parents: 30
diff changeset
   992
    connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
30
hgs
parents:
diff changeset
   993
    
34
hgs
parents: 30
diff changeset
   994
    QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
30
hgs
parents:
diff changeset
   995
    
34
hgs
parents: 30
diff changeset
   996
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
   997
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
   998
 
30
hgs
parents:
diff changeset
   999
    CMPXMedia *media = mMediaFactory->getMedia(MEDIA_COUNT + 100);
34
hgs
parents: 30
diff changeset
  1000
    // succeed insert
30
hgs
parents:
diff changeset
  1001
    emit signalNewVideoAvailable(media);
34
hgs
parents: 30
diff changeset
  1002
    QVERIFY(VideoListDataModel::mFirstInserted == 0);
hgs
parents: 30
diff changeset
  1003
    QVERIFY(VideoListDataModel::mLastInserted == 0);
hgs
parents: 30
diff changeset
  1004
    QVERIFY(spyModelChanged.count() == 1);
30
hgs
parents:
diff changeset
  1005
    
hgs
parents:
diff changeset
  1006
    QVERIFY(mTestObject->getVideoCount() == 1);
hgs
parents:
diff changeset
  1007
    delete media;
hgs
parents:
diff changeset
  1008
    media = 0;
34
hgs
parents: 30
diff changeset
  1009
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
  1010
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
  1011
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
  1012
    
hgs
parents:
diff changeset
  1013
    // null pointer provided
hgs
parents:
diff changeset
  1014
    emit signalNewVideoAvailable(media);
34
hgs
parents: 30
diff changeset
  1015
    QVERIFY(spyModelChanged.count() == 0);
hgs
parents: 30
diff changeset
  1016
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
  1017
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
  1018
    QVERIFY(mTestObject->getVideoCount() == 1);
34
hgs
parents: 30
diff changeset
  1019
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
  1020
    
hgs
parents:
diff changeset
  1021
    // invalid item
hgs
parents:
diff changeset
  1022
    media = mMediaFactory->getMedia(MEDIA_COUNT + 100, MediaDataNone);
hgs
parents:
diff changeset
  1023
    emit signalNewVideoAvailable(media);
34
hgs
parents: 30
diff changeset
  1024
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
  1025
    QVERIFY(VideoListDataModel::mLastInserted == -1);
30
hgs
parents:
diff changeset
  1026
    QVERIFY(mTestObject->getVideoCount() == 1);
34
hgs
parents: 30
diff changeset
  1027
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
  1028
    delete media;
hgs
parents:
diff changeset
  1029
    media = 0;
34
hgs
parents: 30
diff changeset
  1030
    spyModelChanged.clear();
hgs
parents: 30
diff changeset
  1031
    
hgs
parents: 30
diff changeset
  1032
    // item without name
hgs
parents: 30
diff changeset
  1033
    media = mMediaFactory->getMedia(MEDIA_COUNT + 100, MediaDataId);
hgs
parents: 30
diff changeset
  1034
    emit signalNewVideoAvailable(media);
hgs
parents: 30
diff changeset
  1035
    QVERIFY(VideoListDataModel::mFirstInserted == -1);
hgs
parents: 30
diff changeset
  1036
    QVERIFY(VideoListDataModel::mLastInserted == -1);
hgs
parents: 30
diff changeset
  1037
    QVERIFY(mTestObject->getVideoCount() == 1);
hgs
parents: 30
diff changeset
  1038
    QVERIFY(spyModelChanged.count() == 0);
hgs
parents: 30
diff changeset
  1039
    delete media;
hgs
parents: 30
diff changeset
  1040
    media = 0;
hgs
parents: 30
diff changeset
  1041
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
  1042
    
hgs
parents:
diff changeset
  1043
    delete mTestObject;
hgs
parents:
diff changeset
  1044
    mTestObject = new VideoListDataModelPrivate(mStubModel);
hgs
parents:
diff changeset
  1045
    QVERIFY(mTestObject->initialize() == 0);
hgs
parents:
diff changeset
  1046
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
hgs
parents:
diff changeset
  1047
    QVERIFY(connect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*))));
hgs
parents:
diff changeset
  1048
hgs
parents:
diff changeset
  1049
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
  1050
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
  1051
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
  1052
    VideoListDataModel::mFirstInserted = -1;
hgs
parents: 30
diff changeset
  1053
    VideoListDataModel::mLastInserted = -1;
hgs
parents: 30
diff changeset
  1054
    spyModelChanged.clear();
30
hgs
parents:
diff changeset
  1055
    
hgs
parents:
diff changeset
  1056
    // succeed case
hgs
parents:
diff changeset
  1057
    CMPXMedia *media3 = mMediaFactory->getMedia(MEDIA_COUNT + 103 );
hgs
parents:
diff changeset
  1058
    emit signalNewVideoAvailable(media3);
34
hgs
parents: 30
diff changeset
  1059
    QVERIFY(VideoListDataModel::mFirstInserted == mTestObject->getVideoCount() - 1);
hgs
parents: 30
diff changeset
  1060
    QVERIFY(VideoListDataModel::mLastInserted == mTestObject->getVideoCount() - 1);
hgs
parents: 30
diff changeset
  1061
    QVERIFY(spyModelChanged.count() == 1);
30
hgs
parents:
diff changeset
  1062
    QVERIFY(mTestObject->getVideoCount() == MEDIA_COUNT + 1);
hgs
parents:
diff changeset
  1063
    
hgs
parents:
diff changeset
  1064
    disconnect(this, SIGNAL(signalNewVideoAvailable(CMPXMedia*)), mTestObject, SLOT(newVideoAvailableSlot(CMPXMedia*)));
hgs
parents:
diff changeset
  1065
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))); 
hgs
parents:
diff changeset
  1066
}
hgs
parents:
diff changeset
  1067
hgs
parents:
diff changeset
  1068
// -----------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
  1069
// testItemDeletedSlot
30
hgs
parents:
diff changeset
  1070
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1071
//
35
hgs
parents: 34
diff changeset
  1072
void TestVideoModel_p::testItemDeletedSlot()
30
hgs
parents:
diff changeset
  1073
{
34
hgs
parents: 30
diff changeset
  1074
    mTestObject->initialize();
30
hgs
parents:
diff changeset
  1075
    mMediaFactory->removeArray();
34
hgs
parents: 30
diff changeset
  1076
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
  1077
    VideoListDataModel::mLastRemoved = -1;
hgs
parents: 30
diff changeset
  1078
    QSignalSpy spyModelChanged(mStubModel, SIGNAL(modelChanged()));
30
hgs
parents:
diff changeset
  1079
    
hgs
parents:
diff changeset
  1080
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
50
hgs
parents: 38
diff changeset
  1081
    QVERIFY(connect(this, SIGNAL(signalDeleteItem(TMPXItemId&)), mTestObject, SLOT(itemDeletedSlot(TMPXItemId&))));  
hgs
parents: 38
diff changeset
  1082
    
hgs
parents: 38
diff changeset
  1083
    TMPXItemId idForSignal = TMPXItemId(0,0);
34
hgs
parents: 30
diff changeset
  1084
    
30
hgs
parents:
diff changeset
  1085
    // no videos
50
hgs
parents: 38
diff changeset
  1086
    emit signalDeleteItem(idForSignal);
34
hgs
parents: 30
diff changeset
  1087
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1088
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1089
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
  1090
    
50
hgs
parents: 38
diff changeset
  1091
    idForSignal = TMPXItemId::InvalidId();
34
hgs
parents: 30
diff changeset
  1092
    // invalid id
50
hgs
parents: 38
diff changeset
  1093
    emit signalDeleteItem(idForSignal);
34
hgs
parents: 30
diff changeset
  1094
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1095
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1096
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
  1097
    
hgs
parents:
diff changeset
  1098
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
  1099
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
  1100
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
  1101
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
  1102
    VideoListDataModel::mLastRemoved = -1;
hgs
parents: 30
diff changeset
  1103
    spyModelChanged.clear();
50
hgs
parents: 38
diff changeset
  1104
        
34
hgs
parents: 30
diff changeset
  1105
    // not marked as removed
50
hgs
parents: 38
diff changeset
  1106
    idForSignal = TMPXItemId(MEDIA_COUNT / 2,0);
hgs
parents: 38
diff changeset
  1107
    emit signalDeleteItem(idForSignal);
34
hgs
parents: 30
diff changeset
  1108
    QVERIFY(VideoListDataModel::mFirstRemoved == MEDIA_COUNT / 2);
hgs
parents: 30
diff changeset
  1109
    QVERIFY(VideoListDataModel::mFirstRemoved == MEDIA_COUNT / 2);
hgs
parents: 30
diff changeset
  1110
    QVERIFY(spyModelChanged.count() == 1);
hgs
parents: 30
diff changeset
  1111
    
hgs
parents: 30
diff changeset
  1112
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 30
diff changeset
  1113
    VideoListDataModel::mLastRemoved = -1;
hgs
parents: 30
diff changeset
  1114
    spyModelChanged.clear();
hgs
parents: 30
diff changeset
  1115
    
hgs
parents: 30
diff changeset
  1116
    QModelIndex index = mStubModel->index(MEDIA_COUNT / 2, 0, QModelIndex());
hgs
parents: 30
diff changeset
  1117
    TMPXItemId id = mTestObject->markVideoRemoved(index);
30
hgs
parents:
diff changeset
  1118
    
34
hgs
parents: 30
diff changeset
  1119
    // marked as removed
35
hgs
parents: 34
diff changeset
  1120
    emit signalDeleteItem(id);
34
hgs
parents: 30
diff changeset
  1121
    // item already removed from container, no notifications
hgs
parents: 30
diff changeset
  1122
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1123
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1124
    QVERIFY(spyModelChanged.count() == 0);
hgs
parents: 30
diff changeset
  1125
    
hgs
parents: 30
diff changeset
  1126
    // no thumbnail data (tested for coverity)
hgs
parents: 30
diff changeset
  1127
    VideoThumbnailData *tmp = mTestObject->mVideoThumbnailData;
hgs
parents: 30
diff changeset
  1128
    mTestObject->mVideoThumbnailData = 0;
30
hgs
parents:
diff changeset
  1129
    
34
hgs
parents: 30
diff changeset
  1130
    index = mStubModel->index(mTestObject->getVideoCount() - 1, 0, QModelIndex());
hgs
parents: 30
diff changeset
  1131
    id = mTestObject->markVideoRemoved(index);
35
hgs
parents: 34
diff changeset
  1132
    emit signalDeleteItem(id);
34
hgs
parents: 30
diff changeset
  1133
    // item already removed from container, no notifications
hgs
parents: 30
diff changeset
  1134
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1135
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 30
diff changeset
  1136
    QVERIFY(spyModelChanged.count() == 0);
30
hgs
parents:
diff changeset
  1137
    
34
hgs
parents: 30
diff changeset
  1138
    mTestObject->mVideoThumbnailData = tmp;
hgs
parents: 30
diff changeset
  1139
    
35
hgs
parents: 34
diff changeset
  1140
    // test albums
hgs
parents: 34
diff changeset
  1141
    mTestObject->mAlbumData.clear();
hgs
parents: 34
diff changeset
  1142
    mTestObject->mMediaData.clear();
hgs
parents: 34
diff changeset
  1143
       
hgs
parents: 34
diff changeset
  1144
    TMPXItemId album1 = TMPXItemId(2,2);
hgs
parents: 34
diff changeset
  1145
    TMPXItemId album2 = TMPXItemId(3,2);
hgs
parents: 34
diff changeset
  1146
    mMediaFactory->removeArray();
hgs
parents: 34
diff changeset
  1147
    mMediaFactory->createMediaItems(5);
hgs
parents: 34
diff changeset
  1148
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(album1.iId1, album1.iId2)));
hgs
parents: 34
diff changeset
  1149
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(album2.iId1, album2.iId2)));
hgs
parents: 34
diff changeset
  1150
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 34
diff changeset
  1151
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 34
diff changeset
  1152
    VideoListDataModel::mLastRemoved = -1;
hgs
parents: 34
diff changeset
  1153
    spyModelChanged.clear();
hgs
parents: 34
diff changeset
  1154
    
hgs
parents: 34
diff changeset
  1155
    QSet<TMPXItemId> items;
hgs
parents: 34
diff changeset
  1156
    mTestObject->mAlbumData[album1] = items;
hgs
parents: 34
diff changeset
  1157
    items.insert(mTestObject->getMediaIdFromIndex(0));
hgs
parents: 34
diff changeset
  1158
    items.insert(mTestObject->getMediaIdFromIndex(1));
hgs
parents: 34
diff changeset
  1159
    mTestObject->mAlbumData[album2] = items;
hgs
parents: 34
diff changeset
  1160
    
hgs
parents: 34
diff changeset
  1161
    // not existing album
50
hgs
parents: 38
diff changeset
  1162
    idForSignal = TMPXItemId(1,2);
hgs
parents: 38
diff changeset
  1163
    emit signalDeleteItem(idForSignal);
35
hgs
parents: 34
diff changeset
  1164
    QVERIFY(VideoListDataModel::mFirstRemoved == -1);
hgs
parents: 34
diff changeset
  1165
    QVERIFY(spyModelChanged.count() == 0);
hgs
parents: 34
diff changeset
  1166
    QVERIFY( mTestObject->mAlbumData.count() == 2);
hgs
parents: 34
diff changeset
  1167
    
hgs
parents: 34
diff changeset
  1168
    // existing
hgs
parents: 34
diff changeset
  1169
    emit signalDeleteItem(album2);
hgs
parents: 34
diff changeset
  1170
    QVERIFY(VideoListDataModel::mFirstRemoved == 6);
hgs
parents: 34
diff changeset
  1171
    QVERIFY(spyModelChanged.count() == 1);
hgs
parents: 34
diff changeset
  1172
    QVERIFY( mTestObject->mAlbumData.count() == 1);
hgs
parents: 34
diff changeset
  1173
    
hgs
parents: 34
diff changeset
  1174
    VideoListDataModel::mFirstRemoved = -1;
hgs
parents: 34
diff changeset
  1175
    spyModelChanged.clear();
hgs
parents: 34
diff changeset
  1176
    
hgs
parents: 34
diff changeset
  1177
    // no tn object
hgs
parents: 34
diff changeset
  1178
    VideoThumbnailData *pTmp = mTestObject->mVideoThumbnailData;
hgs
parents: 34
diff changeset
  1179
    mTestObject->mVideoThumbnailData = 0;
hgs
parents: 34
diff changeset
  1180
    emit signalDeleteItem(album1);
hgs
parents: 34
diff changeset
  1181
    QVERIFY(VideoListDataModel::mFirstRemoved == 5);
hgs
parents: 34
diff changeset
  1182
    QVERIFY(spyModelChanged.count() == 1);
hgs
parents: 34
diff changeset
  1183
    QVERIFY( mTestObject->mAlbumData.count() == 0);
hgs
parents: 34
diff changeset
  1184
    mTestObject->mVideoThumbnailData  = pTmp;
hgs
parents: 34
diff changeset
  1185
    
50
hgs
parents: 38
diff changeset
  1186
    disconnect(this, SIGNAL(signalDeleteItem(TMPXItemId&)), mTestObject, SLOT(itemDeletedSlot(TMPXItemId&)));
30
hgs
parents:
diff changeset
  1187
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
34
hgs
parents: 30
diff changeset
  1188
    
30
hgs
parents:
diff changeset
  1189
}
hgs
parents:
diff changeset
  1190
hgs
parents:
diff changeset
  1191
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1192
// testVideoDeleteCompletedSlot
hgs
parents:
diff changeset
  1193
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1194
//
34
hgs
parents: 30
diff changeset
  1195
30
hgs
parents:
diff changeset
  1196
void TestVideoModel_p::testVideoDeleteCompletedSlot()
hgs
parents:
diff changeset
  1197
{
hgs
parents:
diff changeset
  1198
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
hgs
parents:
diff changeset
  1199
    QVERIFY(connect(this, SIGNAL(signalDeleteCompleted(int, QList<TMPXItemId>*)), mTestObject, SLOT(videoDeleteCompletedSlot(int, QList<TMPXItemId>*))));  
34
hgs
parents: 30
diff changeset
  1200
   
hgs
parents: 30
diff changeset
  1201
    mMediaFactory->removeArray();
30
hgs
parents:
diff changeset
  1202
    mMediaFactory->createMediaItems(MEDIA_COUNT);
hgs
parents:
diff changeset
  1203
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents:
diff changeset
  1204
34
hgs
parents: 30
diff changeset
  1205
    QSignalSpy spysignal(mStubModel, SIGNAL(modelChanged()));
hgs
parents: 30
diff changeset
  1206
    VideoListDataModel::mStatus = -1;
hgs
parents: 30
diff changeset
  1207
    VideoListDataModel::mStatusData = QVariant();
hgs
parents: 30
diff changeset
  1208
    
hgs
parents: 30
diff changeset
  1209
    QList<TMPXItemId> idList;
hgs
parents: 30
diff changeset
  1210
    
hgs
parents: 30
diff changeset
  1211
    // null list
30
hgs
parents:
diff changeset
  1212
    emit signalDeleteCompleted(0, 0);
hgs
parents:
diff changeset
  1213
    QVERIFY(spysignal.count() == 0);
34
hgs
parents: 30
diff changeset
  1214
    QVERIFY(VideoListDataModel::mStatus == -1);
hgs
parents: 30
diff changeset
  1215
    QVERIFY(!VideoListDataModel::mStatusData.isValid());
30
hgs
parents:
diff changeset
  1216
    
34
hgs
parents: 30
diff changeset
  1217
    // empty list
hgs
parents: 30
diff changeset
  1218
    emit signalDeleteCompleted(0, &idList);
hgs
parents: 30
diff changeset
  1219
    int count =spysignal.count();
hgs
parents: 30
diff changeset
  1220
    QVERIFY(spysignal.count() == 1);
hgs
parents: 30
diff changeset
  1221
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusDeleteSucceed);
hgs
parents: 30
diff changeset
  1222
    QVERIFY(!VideoListDataModel::mStatusData.isValid());
hgs
parents: 30
diff changeset
  1223
    VideoListDataModel::mStatus = -1;
hgs
parents: 30
diff changeset
  1224
    VideoListDataModel::mStatusData = QVariant();
hgs
parents: 30
diff changeset
  1225
    spysignal.clear();
30
hgs
parents:
diff changeset
  1226
    
34
hgs
parents: 30
diff changeset
  1227
    // one failed (no item)
hgs
parents: 30
diff changeset
  1228
    idList.append(TMPXItemId(0,0));
hgs
parents: 30
diff changeset
  1229
    emit signalDeleteCompleted(0, &idList);
30
hgs
parents:
diff changeset
  1230
    QVERIFY(spysignal.count() == 1);
34
hgs
parents: 30
diff changeset
  1231
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusSingleDeleteFail);
hgs
parents: 30
diff changeset
  1232
    QVERIFY(VideoListDataModel::mStatusData.isValid());
hgs
parents: 30
diff changeset
  1233
           
hgs
parents: 30
diff changeset
  1234
    VideoListDataModel::mStatus = -1;
hgs
parents: 30
diff changeset
  1235
    VideoListDataModel::mStatusData = QVariant();
30
hgs
parents:
diff changeset
  1236
    spysignal.clear();
34
hgs
parents: 30
diff changeset
  1237
hgs
parents: 30
diff changeset
  1238
    idList.append(TMPXItemId(1,0));
hgs
parents: 30
diff changeset
  1239
    // multiple failed
hgs
parents: 30
diff changeset
  1240
    emit signalDeleteCompleted(0, &idList);
hgs
parents: 30
diff changeset
  1241
    QVERIFY(spysignal.count() == 1);
hgs
parents: 30
diff changeset
  1242
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusMultipleDeleteFail);
hgs
parents: 30
diff changeset
  1243
    QVERIFY(VideoListDataModel::mStatusData.isValid());
30
hgs
parents:
diff changeset
  1244
    
hgs
parents:
diff changeset
  1245
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
  1246
    disconnect(this, SIGNAL(signalDeleteCompleted(int, QList<TMPXItemId>*)), mTestObject, SLOT(videoDeleteCompletedSlot(int, QList<TMPXItemId>*)));
34
hgs
parents: 30
diff changeset
  1247
30
hgs
parents:
diff changeset
  1248
}
hgs
parents:
diff changeset
  1249
hgs
parents:
diff changeset
  1250
// -----------------------------------------------------------------------------
35
hgs
parents: 34
diff changeset
  1251
// testAlbumRemoveFailureSlot
hgs
parents: 34
diff changeset
  1252
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
  1253
//
hgs
parents: 34
diff changeset
  1254
void TestVideoModel_p::testAlbumRemoveFailureSlot()
hgs
parents: 34
diff changeset
  1255
{
hgs
parents: 34
diff changeset
  1256
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));  
hgs
parents: 34
diff changeset
  1257
    QVERIFY(connect(this, SIGNAL(signalAlbumDeleteFailure(QList<TMPXItemId>*)), mTestObject, SLOT(albumRemoveFailureSlot(QList<TMPXItemId>*)))); 
hgs
parents: 34
diff changeset
  1258
    
hgs
parents: 34
diff changeset
  1259
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(1, 2)));
hgs
parents: 34
diff changeset
  1260
    TRAP_IGNORE(mMediaFactory->mediaArray()->AppendL(mMediaFactory->getMediaWithWantedIds(2, 2)));
hgs
parents: 34
diff changeset
  1261
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
hgs
parents: 34
diff changeset
  1262
    
hgs
parents: 34
diff changeset
  1263
    VideoListDataModel::mStatus = -1;
hgs
parents: 34
diff changeset
  1264
    VideoListDataModel::mStatusData = QVariant();
hgs
parents: 34
diff changeset
  1265
    // null list
hgs
parents: 34
diff changeset
  1266
    emit signalAlbumDeleteFailure(0);
hgs
parents: 34
diff changeset
  1267
    QVERIFY(VideoListDataModel::mStatus == -1);
hgs
parents: 34
diff changeset
  1268
    QVERIFY(!(VideoListDataModel::mStatusData.isValid()));
hgs
parents: 34
diff changeset
  1269
    
hgs
parents: 34
diff changeset
  1270
    QList<TMPXItemId> ids;
hgs
parents: 34
diff changeset
  1271
    
hgs
parents: 34
diff changeset
  1272
    // empty list
hgs
parents: 34
diff changeset
  1273
    emit signalAlbumDeleteFailure(&ids);
hgs
parents: 34
diff changeset
  1274
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusRemoveSucceed);
hgs
parents: 34
diff changeset
  1275
    QVERIFY(!(VideoListDataModel::mStatusData.isValid()));
hgs
parents: 34
diff changeset
  1276
    
hgs
parents: 34
diff changeset
  1277
    ids.append(TMPXItemId(1,2));
hgs
parents: 34
diff changeset
  1278
    
hgs
parents: 34
diff changeset
  1279
    // list contains one item
hgs
parents: 34
diff changeset
  1280
    emit signalAlbumDeleteFailure(&ids);
hgs
parents: 34
diff changeset
  1281
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusSingleRemoveFail);    
hgs
parents: 34
diff changeset
  1282
    QVERIFY(VideoListDataModel::mStatusData.isValid());
hgs
parents: 34
diff changeset
  1283
    
hgs
parents: 34
diff changeset
  1284
    // list contains more than one
hgs
parents: 34
diff changeset
  1285
    ids.append(TMPXItemId(2,2));
hgs
parents: 34
diff changeset
  1286
    emit signalAlbumDeleteFailure(&ids);
hgs
parents: 34
diff changeset
  1287
    QVERIFY(VideoListDataModel::mStatus == VideoCollectionCommon::statusMultiRemoveFail);    
hgs
parents: 34
diff changeset
  1288
    QVERIFY(VideoListDataModel::mStatusData.isValid());
hgs
parents: 34
diff changeset
  1289
    
hgs
parents: 34
diff changeset
  1290
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents: 34
diff changeset
  1291
    disconnect(this, SIGNAL(signalAlbumDeleteFailure(QList<TMPXItemId>*)), mTestObject, SLOT(albumRemoveFailureSlot(QList<TMPXItemId>*)));
hgs
parents: 34
diff changeset
  1292
}
hgs
parents: 34
diff changeset
  1293
hgs
parents: 34
diff changeset
  1294
// -----------------------------------------------------------------------------
30
hgs
parents:
diff changeset
  1295
// testVideoDetailsCompletedSlot
hgs
parents:
diff changeset
  1296
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1297
//
hgs
parents:
diff changeset
  1298
void TestVideoModel_p::testVideoDetailsCompletedSlot()
hgs
parents:
diff changeset
  1299
{
36
hgs
parents: 35
diff changeset
  1300
    using namespace VideoCollectionCommon;
hgs
parents: 35
diff changeset
  1301
    
30
hgs
parents:
diff changeset
  1302
    mMediaFactory->removeArray();
50
hgs
parents: 38
diff changeset
  1303
36
hgs
parents: 35
diff changeset
  1304
    QVERIFY(connect(this, SIGNAL(signalVideoDetailsCompleted(CMPXMedia*)), mTestObject, SLOT(videoDetailsCompletedSlot(CMPXMedia*))));      
hgs
parents: 35
diff changeset
  1305
    
hgs
parents: 35
diff changeset
  1306
    HbExtendedLocale locale = HbExtendedLocale::system();
hgs
parents: 35
diff changeset
  1307
    
50
hgs
parents: 38
diff changeset
  1308
    MetaDataSignalSpy spysignal(mStubModel, SIGNAL(fullVideoDetailsReady(QVariant&)));
36
hgs
parents: 35
diff changeset
  1309
    
hgs
parents: 35
diff changeset
  1310
    // check with NULL media.
hgs
parents: 35
diff changeset
  1311
    emit signalVideoDetailsCompleted(0);
hgs
parents: 35
diff changeset
  1312
    QCOMPARE(spysignal.count, 0);
hgs
parents: 35
diff changeset
  1313
    
hgs
parents: 35
diff changeset
  1314
    // setup medias.
hgs
parents: 35
diff changeset
  1315
    mMediaFactory->createMediaItems(2);
hgs
parents: 35
diff changeset
  1316
    CMPXMedia* media = mMediaFactory->mediaArray()->operator [](0);
30
hgs
parents:
diff changeset
  1317
    
36
hgs
parents: 35
diff changeset
  1318
    // ok case
hgs
parents: 35
diff changeset
  1319
    emit signalVideoDetailsCompleted(media);
hgs
parents: 35
diff changeset
  1320
    QCOMPARE(spysignal.count, 1);
hgs
parents: 35
diff changeset
  1321
    QMap<QString, QVariant> map = spysignal.arg.toMap();
hgs
parents: 35
diff changeset
  1322
    
hgs
parents: 35
diff changeset
  1323
    QVERIFY(map.contains(MetaKeyDate));
hgs
parents: 35
diff changeset
  1324
    QVERIFY(map.contains(MetaKeyDurationString));
hgs
parents: 35
diff changeset
  1325
    QVERIFY(map.contains(MetaKeySizeString));
hgs
parents: 35
diff changeset
  1326
    QVERIFY(map.contains(MetaKeyStarRating));
hgs
parents: 35
diff changeset
  1327
    QVERIFY(map.contains(MetaKeyDescription));
hgs
parents: 35
diff changeset
  1328
    QVERIFY(map.contains(MetaKeyModifiedDate));
hgs
parents: 35
diff changeset
  1329
    QVERIFY(map.contains(MetaKeyAuthor));
hgs
parents: 35
diff changeset
  1330
    QVERIFY(map.contains(MetaKeyCopyright));
hgs
parents: 35
diff changeset
  1331
    QVERIFY(map.contains(MetaKeyLanguageString));
hgs
parents: 35
diff changeset
  1332
    QVERIFY(map.contains(MetaKeyFormat));
hgs
parents: 35
diff changeset
  1333
    QVERIFY(map.contains(MetaKeyVideoResolutionString));
hgs
parents: 35
diff changeset
  1334
    QVERIFY(map.contains(MetaKeyBitRate));
50
hgs
parents: 38
diff changeset
  1335
    QVERIFY(map.contains(MetaKeyFileName));
hgs
parents: 38
diff changeset
  1336
    QVERIFY(map.contains(MetaKeyFilePath));
hgs
parents: 38
diff changeset
  1337
    QVERIFY(map.contains(MetaKeyVideoTitle));
30
hgs
parents:
diff changeset
  1338
    
36
hgs
parents: 35
diff changeset
  1339
    // one or several of these will fail, when rest of the metadata is implemented.
hgs
parents: 35
diff changeset
  1340
    QVERIFY(map.contains(MetaKeyDRMInfo) == false);
hgs
parents: 35
diff changeset
  1341
    QVERIFY(map.contains(MetaKeyServiceURL) == false);
hgs
parents: 35
diff changeset
  1342
    QVERIFY(map.contains(MetaKeyShotLocation) == false);
hgs
parents: 35
diff changeset
  1343
    QVERIFY(map.contains(MetaKeyAudioType) == false);
hgs
parents: 35
diff changeset
  1344
    QVERIFY(map.contains(MetaKeyKeywords) == false);
30
hgs
parents:
diff changeset
  1345
    
36
hgs
parents: 35
diff changeset
  1346
    QCOMPARE(map[MetaKeyDate].toString(), locale.format(QDate(2009, 1, 1), r_qtn_date_usual));
hgs
parents: 35
diff changeset
  1347
    QVERIFY(map[MetaKeyDurationString].toString().isEmpty() == false);
hgs
parents: 35
diff changeset
  1348
    QVERIFY(map[MetaKeySizeString].toString().isEmpty() == false);
hgs
parents: 35
diff changeset
  1349
    QCOMPARE(map[MetaKeyStarRating].toUInt(), (uint)1);
hgs
parents: 35
diff changeset
  1350
    QCOMPARE(map[MetaKeyDescription].toString(), gQTMediaDescPrefix + "0");
hgs
parents: 35
diff changeset
  1351
    QCOMPARE(map[MetaKeyModifiedDate].toString(), locale.format(QDate::currentDate().addDays(2), r_qtn_date_usual));
hgs
parents: 35
diff changeset
  1352
    QCOMPARE(map[MetaKeyAuthor].toString(), gQTMediaAuthorPrefix + "0");
hgs
parents: 35
diff changeset
  1353
    QCOMPARE(map[MetaKeyCopyright].toString(), gQTMediaCopyrightPrefix + "0");
hgs
parents: 35
diff changeset
  1354
    QCOMPARE(map[MetaKeyLanguageString].toString(), gQTMediaLanguagePrefix + "0");
hgs
parents: 35
diff changeset
  1355
    QCOMPARE(map[MetaKeyFormat].toString(), gQTMediaFormatPrefix + "0");
hgs
parents: 35
diff changeset
  1356
    QCOMPARE(map[MetaKeyVideoResolutionString].toString(), hbTrId("txt_videos_list_l1l2").arg(1).arg(2));
hgs
parents: 35
diff changeset
  1357
    QCOMPARE(map[MetaKeyBitRate].toString(), hbTrId("txt_videos_list_l1_kbps", 800));
50
hgs
parents: 38
diff changeset
  1358
    QVERIFY(!map[MetaKeyFileName].toString().isEmpty());
hgs
parents: 38
diff changeset
  1359
    QVERIFY(!map[MetaKeyFilePath].toString().isEmpty());
hgs
parents: 38
diff changeset
  1360
    QVERIFY(!map[MetaKeyVideoTitle].toString().isEmpty());
36
hgs
parents: 35
diff changeset
  1361
    // Mbps case
hgs
parents: 35
diff changeset
  1362
    media = mMediaFactory->mediaArray()->operator [](1);
hgs
parents: 35
diff changeset
  1363
    emit signalVideoDetailsCompleted(media);
hgs
parents: 35
diff changeset
  1364
    QCOMPARE(spysignal.count, 2);
hgs
parents: 35
diff changeset
  1365
    map = spysignal.arg.toMap();    
hgs
parents: 35
diff changeset
  1366
    QVERIFY(map.contains(MetaKeyBitRate));
hgs
parents: 35
diff changeset
  1367
    QCOMPARE(map[MetaKeyBitRate].toString(), hbTrId("txt_videos_list_l1_mbps", 2));
hgs
parents: 35
diff changeset
  1368
    
hgs
parents: 35
diff changeset
  1369
    // empty media case
30
hgs
parents:
diff changeset
  1370
    spysignal.clear();
36
hgs
parents: 35
diff changeset
  1371
    mMediaFactory->removeArray();
hgs
parents: 35
diff changeset
  1372
    mMediaFactory->createMediaItems(1, MediaDataId);
hgs
parents: 35
diff changeset
  1373
    CMPXMedia* emptyMedia = mMediaFactory->mediaArray()->operator [](0);
hgs
parents: 35
diff changeset
  1374
    
hgs
parents: 35
diff changeset
  1375
    emit signalVideoDetailsCompleted(emptyMedia);
hgs
parents: 35
diff changeset
  1376
    QCOMPARE(spysignal.count, 1);
hgs
parents: 35
diff changeset
  1377
    map = spysignal.arg.toMap();
hgs
parents: 35
diff changeset
  1378
    QCOMPARE(map.count(), 2);
hgs
parents: 35
diff changeset
  1379
    QVERIFY(map.contains(MetaKeyDurationString));
hgs
parents: 35
diff changeset
  1380
    QVERIFY(map.contains(MetaKeySizeString));
30
hgs
parents:
diff changeset
  1381
    
hgs
parents:
diff changeset
  1382
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
50
hgs
parents: 38
diff changeset
  1383
    disconnect(this, SIGNAL(signalVideoDetailsCompleted(CMPXMedia*)), mTestObject, SLOT(videoDetailsCompletedSlot(CMPXMedia*)));
30
hgs
parents:
diff changeset
  1384
}
hgs
parents:
diff changeset
  1385
hgs
parents:
diff changeset
  1386
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1387
// testCollectionItemCount
hgs
parents:
diff changeset
  1388
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1389
//
hgs
parents:
diff changeset
  1390
void TestVideoModel_p::testCollectionItemCount()
hgs
parents:
diff changeset
  1391
{    
hgs
parents:
diff changeset
  1392
    QVERIFY(mTestObject->getVideoCount() == 0);
hgs
parents:
diff changeset
  1393
    
hgs
parents:
diff changeset
  1394
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));    
hgs
parents:
diff changeset
  1395
    
hgs
parents:
diff changeset
  1396
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
  1397
    mMediaFactory->createCollectionItems();
hgs
parents:
diff changeset
  1398
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
  1399
    int count = mTestObject->getVideoCount();
30
hgs
parents:
diff changeset
  1400
    QVERIFY( mTestObject->getVideoCount() == 2);
hgs
parents:
diff changeset
  1401
hgs
parents:
diff changeset
  1402
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));
hgs
parents:
diff changeset
  1403
}
hgs
parents:
diff changeset
  1404
hgs
parents:
diff changeset
  1405
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1406
// testGetCollectionIdFromIndex
hgs
parents:
diff changeset
  1407
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1408
//
hgs
parents:
diff changeset
  1409
void TestVideoModel_p::testGetCollectionIdFromIndex()
hgs
parents:
diff changeset
  1410
{
hgs
parents:
diff changeset
  1411
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == -1);
hgs
parents:
diff changeset
  1412
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == -1);
hgs
parents:
diff changeset
  1413
    
hgs
parents:
diff changeset
  1414
    mMediaFactory->removeArray();
hgs
parents:
diff changeset
  1415
    QVERIFY(connect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*))));          
hgs
parents:
diff changeset
  1416
    mMediaFactory->createCollectionItems();
hgs
parents:
diff changeset
  1417
    emit signalNewVideoList(mMediaFactory->copyOfMediaArray());
34
hgs
parents: 30
diff changeset
  1418
    QVERIFY( mTestObject->getVideoCount() == 2);
30
hgs
parents:
diff changeset
  1419
    QVERIFY(mTestObject->getMediaIdFromIndex(-1) == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1420
    TMPXItemId id = mTestObject->getMediaIdFromIndex(0);
30
hgs
parents:
diff changeset
  1421
    QVERIFY(mTestObject->getMediaIdFromIndex(0) == TMPXItemId(KVcxMvcCategoryIdDownloads, 1));
34
hgs
parents: 30
diff changeset
  1422
    id = mTestObject->getMediaIdFromIndex(1);
30
hgs
parents:
diff changeset
  1423
    QVERIFY(mTestObject->getMediaIdFromIndex(1) == TMPXItemId(KVcxMvcCategoryIdCaptured, 1));
hgs
parents:
diff changeset
  1424
    
hgs
parents:
diff changeset
  1425
    disconnect(this, SIGNAL(signalNewVideoList(CMPXMediaArray*)), mTestObject, SLOT(newVideoListSlot(CMPXMediaArray*)));  
hgs
parents:
diff changeset
  1426
}
hgs
parents:
diff changeset
  1427
38
hgs
parents: 36
diff changeset
  1428
// -----------------------------------------------------------------------------
55
hgs
parents: 50
diff changeset
  1429
// testVideoListCompleteSlot
38
hgs
parents: 36
diff changeset
  1430
// -----------------------------------------------------------------------------
hgs
parents: 36
diff changeset
  1431
//
55
hgs
parents: 50
diff changeset
  1432
void TestVideoModel_p::testVideoListCompleteSlot()
38
hgs
parents: 36
diff changeset
  1433
{
50
hgs
parents: 38
diff changeset
  1434
    QVERIFY(connect(this, SIGNAL(signalListCompleteSlot()), mTestObject, SLOT(videoListCompleteSlot())));
55
hgs
parents: 50
diff changeset
  1435
    QSignalSpy modelReadySpy(mStubModel, SIGNAL(modelReady()));
hgs
parents: 50
diff changeset
  1436
    QSignalSpy albumListReadySpy(mStubModel, SIGNAL(albumListReady()));
38
hgs
parents: 36
diff changeset
  1437
    emit signalListCompleteSlot();
55
hgs
parents: 50
diff changeset
  1438
    QCOMPARE(modelReadySpy.count(), 1);
hgs
parents: 50
diff changeset
  1439
    QCOMPARE(albumListReadySpy.count(), 0);
38
hgs
parents: 36
diff changeset
  1440
}
hgs
parents: 36
diff changeset
  1441
50
hgs
parents: 38
diff changeset
  1442
// -----------------------------------------------------------------------------
55
hgs
parents: 50
diff changeset
  1443
// testAlbumListCompleteSlot
50
hgs
parents: 38
diff changeset
  1444
// -----------------------------------------------------------------------------
hgs
parents: 38
diff changeset
  1445
//
55
hgs
parents: 50
diff changeset
  1446
void TestVideoModel_p::testAlbumListCompleteSlot()
50
hgs
parents: 38
diff changeset
  1447
{
hgs
parents: 38
diff changeset
  1448
    QVERIFY(connect(this, SIGNAL(signalListCompleteSlot()), mTestObject, SLOT(albumListCompleteSlot())));
55
hgs
parents: 50
diff changeset
  1449
    QSignalSpy modelReadySpy(mStubModel, SIGNAL(modelReady()));
hgs
parents: 50
diff changeset
  1450
    QSignalSpy albumListReadySpy(mStubModel, SIGNAL(albumListReady()));
50
hgs
parents: 38
diff changeset
  1451
    emit signalListCompleteSlot();
55
hgs
parents: 50
diff changeset
  1452
    QCOMPARE(albumListReadySpy.count(), 1);
hgs
parents: 50
diff changeset
  1453
    QCOMPARE(modelReadySpy.count(), 0);
50
hgs
parents: 38
diff changeset
  1454
}
hgs
parents: 38
diff changeset
  1455
30
hgs
parents:
diff changeset
  1456
// End of file
hgs
parents:
diff changeset
  1457
    
hgs
parents:
diff changeset
  1458
hgs
parents:
diff changeset
  1459