videocollection/videocollectionwrapper/tsrc/testvideocollectionlistener/src/testvideocollectionlistener.cpp
author hgs
Fri, 16 Apr 2010 18:13:14 +0300
changeset 36 8aed59de29f9
parent 34 bbb98528c666
child 38 ff53afa8ad05
permissions -rw-r--r--
201015
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:   tester for methods in CVideoCollectionListener
hgs
parents:
diff changeset
    15
* 
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
// INCLUDES
hgs
parents:
diff changeset
    20
#include <e32cmn.h>
hgs
parents:
diff changeset
    21
#include <mpxmediacontainerdefs.h>
hgs
parents:
diff changeset
    22
#include <mpxmediageneraldefs.h>
hgs
parents:
diff changeset
    23
#include <mpxmessagecontainerdefs.h>
hgs
parents:
diff changeset
    24
#include <mpxmessagegeneraldefs.h>
hgs
parents:
diff changeset
    25
#include <mpxcollectioncommanddefs.h>
hgs
parents:
diff changeset
    26
#include <mpxcollectionmessage.h>
hgs
parents:
diff changeset
    27
#include <vcxmyvideosdefs.h>
hgs
parents:
diff changeset
    28
#include <vcxmyvideosuids.h>
hgs
parents:
diff changeset
    29
#include "testvideocollectionlistener.h"
hgs
parents:
diff changeset
    30
#include "mediaobjectfactory.h"
34
hgs
parents: 30
diff changeset
    31
#include "videocollectioncommon.h"
hgs
parents: 30
diff changeset
    32
#include "stubsignalreceiver.h"
hgs
parents: 30
diff changeset
    33
#include "stubcollection.h"
30
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
#include "videocollectionutils.h"
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
#define private public
hgs
parents:
diff changeset
    38
#include "videocollectionlistener.h"
hgs
parents:
diff changeset
    39
#undef private
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    43
// main
hgs
parents:
diff changeset
    44
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    45
//
hgs
parents:
diff changeset
    46
int main(int argc, char *argv[])
hgs
parents:
diff changeset
    47
{
hgs
parents:
diff changeset
    48
    TestVideoCollectionListener tv;
hgs
parents:
diff changeset
    49
    
34
hgs
parents: 30
diff changeset
    50
    int res;
hgs
parents: 30
diff changeset
    51
    if(argc > 1)
hgs
parents: 30
diff changeset
    52
    {   
hgs
parents: 30
diff changeset
    53
        res = QTest::qExec(&tv, argc, argv);
hgs
parents: 30
diff changeset
    54
    }
hgs
parents: 30
diff changeset
    55
    else
hgs
parents: 30
diff changeset
    56
    {
hgs
parents: 30
diff changeset
    57
        char *pass[3];
hgs
parents: 30
diff changeset
    58
        pass[0] = argv[0];
hgs
parents: 30
diff changeset
    59
        pass[1] = "-o";
hgs
parents: 30
diff changeset
    60
        pass[2] = "c:\\data\\testvideocollectionlistener.txt";
hgs
parents: 30
diff changeset
    61
        res = QTest::qExec(&tv, 3, pass);
hgs
parents: 30
diff changeset
    62
    }
30
hgs
parents:
diff changeset
    63
    
hgs
parents:
diff changeset
    64
    return res;
hgs
parents:
diff changeset
    65
}
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    68
// initTestCase
hgs
parents:
diff changeset
    69
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    70
//
hgs
parents:
diff changeset
    71
void TestVideoCollectionListener::initTestCase()
hgs
parents:
diff changeset
    72
{
hgs
parents:
diff changeset
    73
    mMediaFactory = new MediaObjectFactory();
hgs
parents:
diff changeset
    74
}
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    77
// init
hgs
parents:
diff changeset
    78
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    79
//
hgs
parents:
diff changeset
    80
void TestVideoCollectionListener::init()
hgs
parents:
diff changeset
    81
{   
hgs
parents:
diff changeset
    82
    mStubCollectionClient = new VideoCollectionClient();
hgs
parents:
diff changeset
    83
    
34
hgs
parents: 30
diff changeset
    84
    mSignalReceiver = new StubSignalReceiver();
hgs
parents: 30
diff changeset
    85
    
hgs
parents: 30
diff changeset
    86
    mTestObject = new VideoCollectionListener(*mStubCollectionClient, *mSignalReceiver);
30
hgs
parents:
diff changeset
    87
    
hgs
parents:
diff changeset
    88
    mStubCollection = new StubCollection(*mTestObject);
hgs
parents:
diff changeset
    89
    
hgs
parents:
diff changeset
    90
    qRegisterMetaType<CMPXMediaArray*>("CMPXMediaArray*");
34
hgs
parents: 30
diff changeset
    91
30
hgs
parents:
diff changeset
    92
    qRegisterMetaType<CMPXMedia*>("CMPXMedia*");
34
hgs
parents: 30
diff changeset
    93
30
hgs
parents:
diff changeset
    94
    qRegisterMetaType<TMPXItemId>("TMPXItemId");
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
    qRegisterMetaType<QList<TMPXItemId>*>("QList<TMPXItemId>*");
hgs
parents:
diff changeset
    97
}
hgs
parents:
diff changeset
    98
    
hgs
parents:
diff changeset
    99
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   100
// cleanup
hgs
parents:
diff changeset
   101
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   102
//
hgs
parents:
diff changeset
   103
void TestVideoCollectionListener::cleanup()
hgs
parents:
diff changeset
   104
{
hgs
parents:
diff changeset
   105
    delete mTestObject;
hgs
parents:
diff changeset
   106
    mTestObject = 0;
hgs
parents:
diff changeset
   107
    
34
hgs
parents: 30
diff changeset
   108
    delete mSignalReceiver;
hgs
parents: 30
diff changeset
   109
    mSignalReceiver = 0;
hgs
parents: 30
diff changeset
   110
    
30
hgs
parents:
diff changeset
   111
    delete mStubCollectionClient;
hgs
parents:
diff changeset
   112
    mStubCollectionClient = 0;
hgs
parents:
diff changeset
   113
    
hgs
parents:
diff changeset
   114
    delete mStubCollection;
hgs
parents:
diff changeset
   115
    mStubCollection = 0;
hgs
parents:
diff changeset
   116
    
hgs
parents:
diff changeset
   117
}
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   120
// cleanupTestCase
hgs
parents:
diff changeset
   121
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   122
//
hgs
parents:
diff changeset
   123
void TestVideoCollectionListener::cleanupTestCase()
hgs
parents:
diff changeset
   124
{
hgs
parents:
diff changeset
   125
    delete mMediaFactory;
hgs
parents:
diff changeset
   126
}
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   129
// testHandleCollectionMediaL
hgs
parents:
diff changeset
   130
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   131
//
hgs
parents:
diff changeset
   132
void TestVideoCollectionListener::testHandleCollectionMediaLFunc()
hgs
parents:
diff changeset
   133
{
hgs
parents:
diff changeset
   134
    // nothing to test here, because
hgs
parents:
diff changeset
   135
    // currently HandleCollectionMediaL is empty implementation required 
hgs
parents:
diff changeset
   136
    // by the inheritance of MMPXCollectionObserver.
hgs
parents:
diff changeset
   137
    User::Heap().__DbgMarkStart();   
hgs
parents:
diff changeset
   138
    
hgs
parents:
diff changeset
   139
    CMPXMedia *media = NULL;
hgs
parents:
diff changeset
   140
    TRAP_IGNORE(media = CMPXMedia::NewL());
hgs
parents:
diff changeset
   141
    mStubCollection->callHandleCollectionMediaLFunc(*media, 0);
hgs
parents:
diff changeset
   142
    delete media;
34
hgs
parents: 30
diff changeset
   143
hgs
parents: 30
diff changeset
   144
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());  
hgs
parents: 30
diff changeset
   145
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   146
    
hgs
parents:
diff changeset
   147
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
   148
    QVERIFY(remHeap == 0);   
hgs
parents:
diff changeset
   149
}
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   152
// testHandleOpenLMediaFunc
hgs
parents:
diff changeset
   153
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   154
//
hgs
parents:
diff changeset
   155
void TestVideoCollectionListener::testHandleOpenLMediaFunc()
hgs
parents:
diff changeset
   156
{   
hgs
parents:
diff changeset
   157
    
34
hgs
parents: 30
diff changeset
   158
    mStubCollectionClient->setCollectionLevel(VideoCollectionCommon::ELevelVideos);      
30
hgs
parents:
diff changeset
   159
    CMPXMedia *media = mMediaFactory->newMedia(0);
hgs
parents:
diff changeset
   160
    
hgs
parents:
diff changeset
   161
    // error != KErrNone
hgs
parents:
diff changeset
   162
    mStubCollection->callHandleOpenLFunc(*media, 0, true, -2 );
34
hgs
parents: 30
diff changeset
   163
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   164
    
hgs
parents:
diff changeset
   165
    // collectionLevel != LevelVideos
hgs
parents:
diff changeset
   166
    mStubCollectionClient->setCollectionLevel(-100);
hgs
parents:
diff changeset
   167
    mStubCollection->callHandleOpenLFunc(*media, 0, true, 0 );
hgs
parents:
diff changeset
   168
    
34
hgs
parents: 30
diff changeset
   169
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 30
diff changeset
   170
    mStubCollectionClient->setCollectionLevel(VideoCollectionCommon::ELevelVideos);
30
hgs
parents:
diff changeset
   171
    
hgs
parents:
diff changeset
   172
    // empty media (== media does not contain array)
hgs
parents:
diff changeset
   173
    mStubCollection->callHandleOpenLFunc(*media, 0, true, 0 );
34
hgs
parents: 30
diff changeset
   174
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   175
    
hgs
parents:
diff changeset
   176
    // signal emitting: correct media-array passed
hgs
parents:
diff changeset
   177
    CMPXMediaArray *array = mMediaFactory->newMediaArray();  
hgs
parents:
diff changeset
   178
    
34
hgs
parents: 30
diff changeset
   179
    CMPXMediaArray *arrayToTest = 0;
36
hgs
parents: 34
diff changeset
   180
hgs
parents: 34
diff changeset
   181
    // empty array, no path   
hgs
parents: 34
diff changeset
   182
    mMediaFactory->putValuePtr<CMPXMediaArray>(media, KMPXMediaArrayContents, array);
hgs
parents: 34
diff changeset
   183
    mStubCollection->callHandleOpenLFunc(*media, 0, true, 0 ); 
hgs
parents: 34
diff changeset
   184
    arrayToTest = static_cast<CMPXMediaArray*>(mSignalReceiver->getLatestPointerAddr());
hgs
parents: 34
diff changeset
   185
    QVERIFY(arrayToTest == 0);
hgs
parents: 34
diff changeset
   186
34
hgs
parents: 30
diff changeset
   187
    CMPXCollectionPath* collectionPath = 0;
hgs
parents: 30
diff changeset
   188
    TRAP_IGNORE(
36
hgs
parents: 34
diff changeset
   189
           collectionPath =  CMPXCollectionPath::NewL();
hgs
parents: 34
diff changeset
   190
           collectionPath->AppendL( KVcxUidMyVideosMpxCollection ););
hgs
parents: 34
diff changeset
   191
    
hgs
parents: 34
diff changeset
   192
    // empty array, path exists level incorrect (new video list, not category neither album level)     
34
hgs
parents: 30
diff changeset
   193
    mMediaFactory->putValuePtr<CMPXCollectionPath>(media, KMPXMediaGeneralContainerPath, collectionPath); 
hgs
parents: 30
diff changeset
   194
    mStubCollection->callHandleOpenLFunc(*media, 0, true, 0 ); 
hgs
parents: 30
diff changeset
   195
    arrayToTest = static_cast<CMPXMediaArray*>(mSignalReceiver->getLatestPointerAddr());
hgs
parents: 30
diff changeset
   196
    QVERIFY(arrayToTest != 0);
hgs
parents: 30
diff changeset
   197
    QVERIFY(arrayToTest->Count() == array->Count());
36
hgs
parents: 34
diff changeset
   198
    
hgs
parents: 34
diff changeset
   199
    delete collectionPath;
hgs
parents: 34
diff changeset
   200
    // empty array, path exists level correct      
hgs
parents: 34
diff changeset
   201
    collectionPath = 0;
hgs
parents: 34
diff changeset
   202
    TRAP_IGNORE(
hgs
parents: 34
diff changeset
   203
          collectionPath =  CMPXCollectionPath::NewL();
hgs
parents: 34
diff changeset
   204
          collectionPath->AppendL( KVcxUidMyVideosMpxCollection );
hgs
parents: 34
diff changeset
   205
          collectionPath->AppendL( KVcxMvcCategoryIdAll););
34
hgs
parents: 30
diff changeset
   206
hgs
parents: 30
diff changeset
   207
    // array of items from different levels, everything is reported 
hgs
parents: 30
diff changeset
   208
    mStubCollectionClient->setCollectionLevel(VideoCollectionCommon::ELevelCategory);
hgs
parents: 30
diff changeset
   209
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(1, 2));
hgs
parents: 30
diff changeset
   210
    mMediaFactory->putValuePtr<CMPXCollectionPath>(media, KMPXMediaGeneralContainerPath, collectionPath); 
30
hgs
parents:
diff changeset
   211
    
hgs
parents:
diff changeset
   212
    mStubCollection->callHandleOpenLFunc(*media, 0, true, 0 );  
34
hgs
parents: 30
diff changeset
   213
    arrayToTest = static_cast<CMPXMediaArray*>(mSignalReceiver->getLatestPointerAddr());
hgs
parents: 30
diff changeset
   214
    QVERIFY(arrayToTest != 0);
hgs
parents: 30
diff changeset
   215
    QVERIFY(arrayToTest->Count() == array->Count());
hgs
parents: 30
diff changeset
   216
30
hgs
parents:
diff changeset
   217
    
34
hgs
parents: 30
diff changeset
   218
    mStubCollectionClient->setCollectionLevel(VideoCollectionCommon::ELevelVideos);
30
hgs
parents:
diff changeset
   219
    delete array;
hgs
parents:
diff changeset
   220
    array = mMediaFactory->newMediaArray();  
hgs
parents:
diff changeset
   221
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(1));
hgs
parents:
diff changeset
   222
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(2));
hgs
parents:
diff changeset
   223
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(3));
hgs
parents:
diff changeset
   224
34
hgs
parents: 30
diff changeset
   225
    mMediaFactory->putValuePtr<CMPXMediaArray>(media, KMPXMediaArrayContents, array);
hgs
parents: 30
diff changeset
   226
    mMediaFactory->putValuePtr<CMPXCollectionPath>(media, KMPXMediaGeneralContainerPath, collectionPath); 
30
hgs
parents:
diff changeset
   227
    mStubCollection->callHandleOpenLFunc(*media, 0, true, 0 );    
hgs
parents:
diff changeset
   228
    
34
hgs
parents: 30
diff changeset
   229
    arrayToTest = static_cast<CMPXMediaArray*>(mSignalReceiver->getLatestPointerAddr());
hgs
parents: 30
diff changeset
   230
    QVERIFY(arrayToTest != 0);
hgs
parents: 30
diff changeset
   231
    QVERIFY(arrayToTest->Count() == array->Count());
30
hgs
parents:
diff changeset
   232
    
36
hgs
parents: 34
diff changeset
   233
    delete collectionPath;
hgs
parents: 34
diff changeset
   234
    collectionPath = 0;
hgs
parents: 34
diff changeset
   235
    TRAP_IGNORE(
hgs
parents: 34
diff changeset
   236
         collectionPath =  CMPXCollectionPath::NewL();
hgs
parents: 34
diff changeset
   237
         collectionPath->AppendL( KVcxUidMyVideosMpxCollection );
hgs
parents: 34
diff changeset
   238
         collectionPath->AppendL( KVcxMvcMediaTypeCategory););
hgs
parents: 34
diff changeset
   239
    mMediaFactory->putValuePtr<CMPXCollectionPath>(media, KMPXMediaGeneralContainerPath, collectionPath); 
hgs
parents: 34
diff changeset
   240
    
30
hgs
parents:
diff changeset
   241
    mStubCollection->callHandleOpenLFunc(*media, 0, true, 0 );    
hgs
parents:
diff changeset
   242
       
34
hgs
parents: 30
diff changeset
   243
    arrayToTest = static_cast<CMPXMediaArray*>(mSignalReceiver->getLatestPointerAddr());
hgs
parents: 30
diff changeset
   244
    QVERIFY(arrayToTest != 0);
hgs
parents: 30
diff changeset
   245
    QVERIFY(arrayToTest->Count() == array->Count());
30
hgs
parents:
diff changeset
   246
    
hgs
parents:
diff changeset
   247
    
34
hgs
parents: 30
diff changeset
   248
    CMPXMediaArray *gottenArray = static_cast<CMPXMediaArray*>(mSignalReceiver->getLatestPointerAddr());
30
hgs
parents:
diff changeset
   249
    QVERIFY(gottenArray->Count() == 3);
hgs
parents:
diff changeset
   250
    
hgs
parents:
diff changeset
   251
    TMPXItemId mediaId = TMPXItemId::InvalidId();
hgs
parents:
diff changeset
   252
    VideoCollectionUtils::instance().mediaValue<TMPXItemId>((*gottenArray)[0], KMPXMediaGeneralId, mediaId );
hgs
parents:
diff changeset
   253
    QVERIFY(mediaId.iId1 == 1);
hgs
parents:
diff changeset
   254
    VideoCollectionUtils::instance().mediaValue<TMPXItemId>((*gottenArray)[1], KMPXMediaGeneralId, mediaId );
hgs
parents:
diff changeset
   255
    QVERIFY(mediaId.iId1 == 2);
hgs
parents:
diff changeset
   256
    VideoCollectionUtils::instance().mediaValue<TMPXItemId>((*gottenArray)[2], KMPXMediaGeneralId, mediaId );
hgs
parents:
diff changeset
   257
    QVERIFY(mediaId.iId1 == 3);
hgs
parents:
diff changeset
   258
34
hgs
parents: 30
diff changeset
   259
    collectionPath->Reset();
hgs
parents: 30
diff changeset
   260
    delete collectionPath;
hgs
parents: 30
diff changeset
   261
    TMPXItemId albumId(100,2);
hgs
parents: 30
diff changeset
   262
    TRAP_IGNORE(
hgs
parents: 30
diff changeset
   263
                collectionPath =  CMPXCollectionPath::NewL();
hgs
parents: 30
diff changeset
   264
                collectionPath->AppendL( KVcxUidMyVideosMpxCollection );
hgs
parents: 30
diff changeset
   265
                collectionPath->AppendL( albumId ););
hgs
parents: 30
diff changeset
   266
    //  level == album
hgs
parents: 30
diff changeset
   267
    mStubCollectionClient->setCollectionLevel(VideoCollectionCommon::ELevelAlbum);
hgs
parents: 30
diff changeset
   268
    mSignalReceiver->resetLatestItems();
hgs
parents: 30
diff changeset
   269
    delete array;
hgs
parents: 30
diff changeset
   270
    array = mMediaFactory->newMediaArray();  
hgs
parents: 30
diff changeset
   271
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(1));
hgs
parents: 30
diff changeset
   272
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(2));
hgs
parents: 30
diff changeset
   273
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(3));
hgs
parents: 30
diff changeset
   274
    // call open item to update latest item id in stub collection client
hgs
parents: 30
diff changeset
   275
    mStubCollectionClient->openItem(albumId);
hgs
parents: 30
diff changeset
   276
    mMediaFactory->putValuePtr<CMPXMediaArray>(media, KMPXMediaArrayContents, array);
hgs
parents: 30
diff changeset
   277
    mMediaFactory->putValuePtr<CMPXCollectionPath>(media, KMPXMediaGeneralContainerPath, collectionPath); 
hgs
parents: 30
diff changeset
   278
    mStubCollection->callHandleOpenLFunc(*media, 0, true, 0 );    
hgs
parents: 30
diff changeset
   279
    
hgs
parents: 30
diff changeset
   280
    gottenArray = static_cast<CMPXMediaArray*>(mSignalReceiver->getLatestPointerAddr());
hgs
parents: 30
diff changeset
   281
    QVERIFY(gottenArray->Count() == 3);
hgs
parents: 30
diff changeset
   282
        
hgs
parents: 30
diff changeset
   283
    mediaId = TMPXItemId::InvalidId();
hgs
parents: 30
diff changeset
   284
    VideoCollectionUtils::instance().mediaValue<TMPXItemId>((*gottenArray)[0], KMPXMediaGeneralId, mediaId );
hgs
parents: 30
diff changeset
   285
    QVERIFY(mediaId.iId1 == 1);
hgs
parents: 30
diff changeset
   286
    VideoCollectionUtils::instance().mediaValue<TMPXItemId>((*gottenArray)[1], KMPXMediaGeneralId, mediaId );
hgs
parents: 30
diff changeset
   287
    QVERIFY(mediaId.iId1 == 2);
hgs
parents: 30
diff changeset
   288
    VideoCollectionUtils::instance().mediaValue<TMPXItemId>((*gottenArray)[2], KMPXMediaGeneralId, mediaId );
hgs
parents: 30
diff changeset
   289
    QVERIFY(mediaId.iId1 == 3);
hgs
parents: 30
diff changeset
   290
    mediaId = mSignalReceiver->getLatestItemId();
hgs
parents: 30
diff changeset
   291
    QVERIFY(mediaId == albumId);
hgs
parents: 30
diff changeset
   292
    
30
hgs
parents:
diff changeset
   293
    delete array;
hgs
parents:
diff changeset
   294
    delete media;
34
hgs
parents: 30
diff changeset
   295
    collectionPath->Reset();
hgs
parents: 30
diff changeset
   296
    delete collectionPath;
hgs
parents: 30
diff changeset
   297
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
   298
}
hgs
parents:
diff changeset
   299
hgs
parents:
diff changeset
   300
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   301
// testHandleOpenLPlaylistFunc
hgs
parents:
diff changeset
   302
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   303
//
hgs
parents:
diff changeset
   304
void TestVideoCollectionListener::testHandleOpenLPlaylistFunc()
hgs
parents:
diff changeset
   305
{
hgs
parents:
diff changeset
   306
    
hgs
parents:
diff changeset
   307
    // nothing to test here, because
hgs
parents:
diff changeset
   308
    // currently HandleCollectionMediaL is empty implementation required 
hgs
parents:
diff changeset
   309
    // by the inheritance of MMPXCollectionObserver.
hgs
parents:
diff changeset
   310
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
   311
    CMPXCollectionPlaylist *plList = 0;
hgs
parents:
diff changeset
   312
    
hgs
parents:
diff changeset
   313
    mStubCollection->callHandleOpenLFunc(*plList, 0);
hgs
parents:
diff changeset
   314
    
34
hgs
parents: 30
diff changeset
   315
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());  
hgs
parents: 30
diff changeset
   316
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   317
    
hgs
parents:
diff changeset
   318
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
   319
    QVERIFY(remHeap == 0); 
hgs
parents:
diff changeset
   320
}
hgs
parents:
diff changeset
   321
hgs
parents:
diff changeset
   322
// -----------------------------------------------------------------------------
36
hgs
parents: 34
diff changeset
   323
// testHandleCommandCompleteInvalid
30
hgs
parents:
diff changeset
   324
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   325
//
36
hgs
parents: 34
diff changeset
   326
void TestVideoCollectionListener::testHandleCommandCompleteInvalid()
30
hgs
parents:
diff changeset
   327
{
hgs
parents:
diff changeset
   328
    
hgs
parents:
diff changeset
   329
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
   330
    
hgs
parents:
diff changeset
   331
    CMPXCommand *pCommand = mMediaFactory->newMedia(0);
hgs
parents:
diff changeset
   332
    
hgs
parents:
diff changeset
   333
    // error != KErrNone
hgs
parents:
diff changeset
   334
    mStubCollection->callHandleCommandComplete(pCommand, -2);
34
hgs
parents: 30
diff changeset
   335
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
   336
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   337
    
hgs
parents:
diff changeset
   338
    // command == NULL
hgs
parents:
diff changeset
   339
    mStubCollection->callHandleCommandComplete(0, 0);
34
hgs
parents: 30
diff changeset
   340
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
   341
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   342
    
hgs
parents:
diff changeset
   343
    // null command + error != KErrNone
hgs
parents:
diff changeset
   344
    mStubCollection->callHandleCommandComplete(0, -2);
34
hgs
parents: 30
diff changeset
   345
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
   346
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
34
hgs
parents: 30
diff changeset
   347
     
30
hgs
parents:
diff changeset
   348
    // command without id
hgs
parents:
diff changeset
   349
    delete pCommand;
hgs
parents:
diff changeset
   350
    pCommand = mMediaFactory->newMedia();
hgs
parents:
diff changeset
   351
    mStubCollection->callHandleCommandComplete(pCommand, 0);
34
hgs
parents: 30
diff changeset
   352
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
   353
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   354
    
hgs
parents:
diff changeset
   355
    // no command attribute
hgs
parents:
diff changeset
   356
    delete pCommand;
hgs
parents:
diff changeset
   357
    pCommand = mMediaFactory->newMedia(0);
hgs
parents:
diff changeset
   358
    mStubCollection->callHandleCommandComplete(pCommand, 0);
34
hgs
parents: 30
diff changeset
   359
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
   360
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   361
    
hgs
parents:
diff changeset
   362
    // invalid KVcxMediaMyVideosCommandId
hgs
parents:
diff changeset
   363
    int value = (KVcxCommandMyVideosGetMediaFullDetailsByMpxId + 10);
hgs
parents:
diff changeset
   364
    mMediaFactory->putTValue<int>(pCommand, KVcxMediaMyVideosCommandId, value );
hgs
parents:
diff changeset
   365
    mStubCollection->callHandleCommandComplete(pCommand, 0);
34
hgs
parents: 30
diff changeset
   366
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
   367
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   368
    
36
hgs
parents: 34
diff changeset
   369
    delete pCommand;
hgs
parents: 34
diff changeset
   370
hgs
parents: 34
diff changeset
   371
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 34
diff changeset
   372
    
hgs
parents: 34
diff changeset
   373
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents: 34
diff changeset
   374
    QVERIFY(remHeap == 0);   
hgs
parents: 34
diff changeset
   375
}
hgs
parents: 34
diff changeset
   376
hgs
parents: 34
diff changeset
   377
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   378
// testHandleCommandCompleteGetDetails
hgs
parents: 34
diff changeset
   379
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   380
//
hgs
parents: 34
diff changeset
   381
void TestVideoCollectionListener::testHandleCommandCompleteGetDetails()
hgs
parents: 34
diff changeset
   382
{
hgs
parents: 34
diff changeset
   383
    mSignalReceiver->resetLatestItems();
hgs
parents: 34
diff changeset
   384
    User::Heap().__DbgMarkStart(); 
hgs
parents: 34
diff changeset
   385
    CMPXCommand *pCommand = mMediaFactory->newMedia(0);
hgs
parents: 34
diff changeset
   386
    // cmd KVcxCommandMyVideosGetMediaFullDetailsByMpxId
30
hgs
parents:
diff changeset
   387
    // no media object in command
36
hgs
parents: 34
diff changeset
   388
    int value;
30
hgs
parents:
diff changeset
   389
    value = KVcxCommandMyVideosGetMediaFullDetailsByMpxId;
hgs
parents:
diff changeset
   390
    mMediaFactory->putTValue<int>(pCommand, KVcxMediaMyVideosCommandId, value );
hgs
parents:
diff changeset
   391
    mStubCollection->callHandleCommandComplete(pCommand, 0);
36
hgs
parents: 34
diff changeset
   392
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   393
    
36
hgs
parents: 34
diff changeset
   394
    // correct item 
hgs
parents: 34
diff changeset
   395
    delete pCommand;
hgs
parents: 34
diff changeset
   396
    pCommand = mMediaFactory->newMedia();
30
hgs
parents:
diff changeset
   397
    CMPXMedia *subMedia = mMediaFactory->newMedia(10);
36
hgs
parents: 34
diff changeset
   398
    mMediaFactory->putTValue<int>(pCommand, KVcxMediaMyVideosCommandId, value );
30
hgs
parents:
diff changeset
   399
    mMediaFactory->putValuePtr<CMPXMedia>(pCommand, KMPXCommandColAddMedia, subMedia);
hgs
parents:
diff changeset
   400
    mStubCollection->callHandleCommandComplete(pCommand, 0);
36
hgs
parents: 34
diff changeset
   401
    TMPXItemId itemId = TMPXItemId::InvalidId();
hgs
parents: 34
diff changeset
   402
    TMPXItemId expectedId = TMPXItemId::InvalidId();
hgs
parents: 34
diff changeset
   403
    TRAP_IGNORE(itemId = static_cast<CMPXMedia*>(mSignalReceiver->getLatestPointerAddr())->ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId));
hgs
parents: 34
diff changeset
   404
    TRAP_IGNORE(expectedId = subMedia->ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId));
hgs
parents: 34
diff changeset
   405
    QVERIFY(itemId == expectedId);
hgs
parents: 34
diff changeset
   406
    
30
hgs
parents:
diff changeset
   407
    delete subMedia;
hgs
parents:
diff changeset
   408
    delete pCommand;
hgs
parents:
diff changeset
   409
    
36
hgs
parents: 34
diff changeset
   410
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents: 34
diff changeset
   411
    QVERIFY(remHeap == 0);   
hgs
parents: 34
diff changeset
   412
}
hgs
parents: 34
diff changeset
   413
hgs
parents: 34
diff changeset
   414
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   415
// testHandleCommandCompleteRemoveAlbums
hgs
parents: 34
diff changeset
   416
// -----------------------------------------------------------------------------
hgs
parents: 34
diff changeset
   417
//
hgs
parents: 34
diff changeset
   418
void TestVideoCollectionListener::testHandleCommandCompleteRemoveAlbums()
hgs
parents: 34
diff changeset
   419
{
hgs
parents: 34
diff changeset
   420
    mSignalReceiver->resetLatestItems();
hgs
parents: 34
diff changeset
   421
    
hgs
parents: 34
diff changeset
   422
    User::Heap().__DbgMarkStart(); 
hgs
parents: 34
diff changeset
   423
    CMPXCommand *pCommand = mMediaFactory->newMedia(0);
hgs
parents: 34
diff changeset
   424
    
hgs
parents: 34
diff changeset
   425
    int value = KVcxCommandMyVideosRemoveAlbums;
hgs
parents: 34
diff changeset
   426
hgs
parents: 34
diff changeset
   427
    // no messageArray object in command
hgs
parents: 34
diff changeset
   428
    mMediaFactory->putTValue<int>(pCommand, KVcxMediaMyVideosCommandId, value );
hgs
parents: 34
diff changeset
   429
    mStubCollection->callHandleCommandComplete(pCommand, 0);
34
hgs
parents: 30
diff changeset
   430
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
   431
    
36
hgs
parents: 34
diff changeset
   432
    delete pCommand;
hgs
parents: 34
diff changeset
   433
    pCommand = mMediaFactory->newMedia();
hgs
parents: 34
diff changeset
   434
    
hgs
parents: 34
diff changeset
   435
    // empty message array    
hgs
parents: 34
diff changeset
   436
    mMediaFactory->putTValue<int>(pCommand, KVcxMediaMyVideosCommandId, value );
hgs
parents: 34
diff changeset
   437
    CMPXMediaArray *array = mMediaFactory->newMediaArray();
hgs
parents: 34
diff changeset
   438
    mMediaFactory->putValuePtr<CMPXMediaArray>(pCommand, KMPXMediaArrayContents, array);
hgs
parents: 34
diff changeset
   439
    mStubCollection->callHandleCommandComplete(pCommand, 0);
hgs
parents: 34
diff changeset
   440
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 34
diff changeset
   441
    
hgs
parents: 34
diff changeset
   442
    delete array;
hgs
parents: 34
diff changeset
   443
    delete pCommand;
hgs
parents: 34
diff changeset
   444
    pCommand = mMediaFactory->newMedia();
hgs
parents: 34
diff changeset
   445
    
hgs
parents: 34
diff changeset
   446
    // some items, no failed
hgs
parents: 34
diff changeset
   447
    mMediaFactory->putTValue<int>(pCommand, KVcxMediaMyVideosCommandId, value );
hgs
parents: 34
diff changeset
   448
    CMPXMedia *media1 = mMediaFactory->newMedia(1,0);
hgs
parents: 34
diff changeset
   449
    CMPXMedia *media2 = mMediaFactory->newMedia(2,0);
hgs
parents: 34
diff changeset
   450
    CMPXMedia *media3 = mMediaFactory->newMedia(3,0);
hgs
parents: 34
diff changeset
   451
    array = mMediaFactory->newMediaArray();
hgs
parents: 34
diff changeset
   452
    TRAP_IGNORE(
hgs
parents: 34
diff changeset
   453
        array->AppendL(media1);
hgs
parents: 34
diff changeset
   454
        array->AppendL(media2);
hgs
parents: 34
diff changeset
   455
        array->AppendL(media3););
hgs
parents: 34
diff changeset
   456
    
hgs
parents: 34
diff changeset
   457
    mMediaFactory->putValuePtr<CMPXMediaArray>(pCommand, KMPXMediaArrayContents, array);
hgs
parents: 34
diff changeset
   458
    mStubCollection->callHandleCommandComplete(pCommand, 0);
hgs
parents: 34
diff changeset
   459
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 34
diff changeset
   460
    delete array;
hgs
parents: 34
diff changeset
   461
    delete pCommand;
hgs
parents: 34
diff changeset
   462
hgs
parents: 34
diff changeset
   463
    // some items, one invalid item, no failed   
hgs
parents: 34
diff changeset
   464
    array = mMediaFactory->newMediaArray();
hgs
parents: 34
diff changeset
   465
    pCommand = mMediaFactory->newMedia();
hgs
parents: 34
diff changeset
   466
    mMediaFactory->putTValue<int>(pCommand, KVcxMediaMyVideosCommandId, value );
hgs
parents: 34
diff changeset
   467
    media1 = mMediaFactory->newMedia(1,0);
hgs
parents: 34
diff changeset
   468
    media2 = mMediaFactory->newMedia(2,0);
hgs
parents: 34
diff changeset
   469
    media3 = mMediaFactory->newMedia(3,0);
hgs
parents: 34
diff changeset
   470
    CMPXMedia *media4;
hgs
parents: 34
diff changeset
   471
    TRAP_IGNORE(media4 = CMPXMedia::NewL());
hgs
parents: 34
diff changeset
   472
    TRAP_IGNORE(
hgs
parents: 34
diff changeset
   473
        array->AppendL(media1);
hgs
parents: 34
diff changeset
   474
        array->AppendL(media2);
hgs
parents: 34
diff changeset
   475
        array->AppendL(media3);
hgs
parents: 34
diff changeset
   476
        array->AppendL(media4););
hgs
parents: 34
diff changeset
   477
    
hgs
parents: 34
diff changeset
   478
    mMediaFactory->putValuePtr<CMPXMediaArray>(pCommand, KMPXMediaArrayContents, array);
hgs
parents: 34
diff changeset
   479
    mStubCollection->callHandleCommandComplete(pCommand, 0);
hgs
parents: 34
diff changeset
   480
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 34
diff changeset
   481
    
hgs
parents: 34
diff changeset
   482
    delete array;
hgs
parents: 34
diff changeset
   483
    delete pCommand;
hgs
parents: 34
diff changeset
   484
    
hgs
parents: 34
diff changeset
   485
    // some items, one failed    
hgs
parents: 34
diff changeset
   486
    array = mMediaFactory->newMediaArray();
hgs
parents: 34
diff changeset
   487
    pCommand = mMediaFactory->newMedia();
hgs
parents: 34
diff changeset
   488
    mMediaFactory->putTValue<int>(pCommand, KVcxMediaMyVideosCommandId, value );
hgs
parents: 34
diff changeset
   489
    media1 = mMediaFactory->newMedia(1,0);
hgs
parents: 34
diff changeset
   490
    value = 0;
hgs
parents: 34
diff changeset
   491
    mMediaFactory->putTValue<int>(media1, KVcxMediaMyVideosInt32Value, value);
hgs
parents: 34
diff changeset
   492
    media2 = mMediaFactory->newMedia(2,0);
hgs
parents: 34
diff changeset
   493
    value = 1;
hgs
parents: 34
diff changeset
   494
    mMediaFactory->putTValue<int>(media2, KVcxMediaMyVideosInt32Value, value);
hgs
parents: 34
diff changeset
   495
    media3 = mMediaFactory->newMedia(3,0);
hgs
parents: 34
diff changeset
   496
    TRAP_IGNORE(
hgs
parents: 34
diff changeset
   497
            array->AppendL(media1);
hgs
parents: 34
diff changeset
   498
            array->AppendL(media2);
hgs
parents: 34
diff changeset
   499
            array->AppendL(media3););
hgs
parents: 34
diff changeset
   500
    
hgs
parents: 34
diff changeset
   501
    mMediaFactory->putValuePtr<CMPXMediaArray>(pCommand, KMPXMediaArrayContents, array);
hgs
parents: 34
diff changeset
   502
    mStubCollection->callHandleCommandComplete(pCommand, 0);
hgs
parents: 34
diff changeset
   503
    QVERIFY(mSignalReceiver->getLatestPointerAddr() != 0);
hgs
parents: 34
diff changeset
   504
    QVERIFY(mSignalReceiver->getLatestListData().count() == 1);
hgs
parents: 34
diff changeset
   505
    QVERIFY(mSignalReceiver->getLatestListData().at(0) == TMPXItemId(2,0));
hgs
parents: 34
diff changeset
   506
    mSignalReceiver->resetLatestItems();
hgs
parents: 34
diff changeset
   507
    delete array;
hgs
parents: 34
diff changeset
   508
    delete pCommand;
hgs
parents: 34
diff changeset
   509
    
30
hgs
parents:
diff changeset
   510
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
   511
    QVERIFY(remHeap == 0);   
hgs
parents:
diff changeset
   512
}
hgs
parents:
diff changeset
   513
hgs
parents:
diff changeset
   514
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   515
// testCollectionMessageError
hgs
parents:
diff changeset
   516
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   517
//
hgs
parents:
diff changeset
   518
void TestVideoCollectionListener::testCollectionMessageError()
hgs
parents:
diff changeset
   519
{
hgs
parents:
diff changeset
   520
34
hgs
parents: 30
diff changeset
   521
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
   522
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
   523
      
hgs
parents:
diff changeset
   524
    CMPXMessage *message = mMediaFactory->newMedia(0); 
hgs
parents:
diff changeset
   525
    
hgs
parents:
diff changeset
   526
    // correct message, error != KErrNone
hgs
parents:
diff changeset
   527
    mStubCollection->callHandleCollectionMessage(message, -1);
hgs
parents:
diff changeset
   528
    QVERIFY(mStubCollectionClient->getOpenStatus() == -1);
hgs
parents:
diff changeset
   529
hgs
parents:
diff changeset
   530
    // message does not contain KMPXMessageGeneralId
hgs
parents:
diff changeset
   531
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   532
    QVERIFY(mStubCollectionClient->getOpenStatus() == -1);
hgs
parents:
diff changeset
   533
    
hgs
parents:
diff changeset
   534
    delete message;
hgs
parents:
diff changeset
   535
    
hgs
parents:
diff changeset
   536
    // empty message
hgs
parents:
diff changeset
   537
    mStubCollection->callHandleCollectionMessage(0, 0);
hgs
parents:
diff changeset
   538
    QVERIFY(mStubCollectionClient->getOpenStatus() == -1);
hgs
parents:
diff changeset
   539
     
34
hgs
parents: 30
diff changeset
   540
    // none of above calls should not cause any callbacks
hgs
parents: 30
diff changeset
   541
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());  
hgs
parents: 30
diff changeset
   542
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 30
diff changeset
   543
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
30
hgs
parents:
diff changeset
   544
         
hgs
parents:
diff changeset
   545
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
   546
    QVERIFY(remHeap == 0);    
hgs
parents:
diff changeset
   547
}
hgs
parents:
diff changeset
   548
hgs
parents:
diff changeset
   549
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   550
// testCollectionMessageNotOpened
hgs
parents:
diff changeset
   551
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   552
//
hgs
parents:
diff changeset
   553
void TestVideoCollectionListener::testCollectionMessageNotOpened()
hgs
parents:
diff changeset
   554
{
34
hgs
parents: 30
diff changeset
   555
    mSignalReceiver->resetLatestItems();
hgs
parents: 30
diff changeset
   556
    
30
hgs
parents:
diff changeset
   557
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
   558
    mStubCollectionClient->setOpenStatus( VideoCollectionClient::ECollectionOpening);   
hgs
parents:
diff changeset
   559
    
hgs
parents:
diff changeset
   560
    // collection not opened, empty message
hgs
parents:
diff changeset
   561
    mStubCollection->callHandleCollectionMessage(0, 0);
hgs
parents:
diff changeset
   562
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   563
    
hgs
parents:
diff changeset
   564
    // collection not opened, no msg id
hgs
parents:
diff changeset
   565
    CMPXMessage *message = mMediaFactory->newMedia(0); 
hgs
parents:
diff changeset
   566
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   567
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   568
    
hgs
parents:
diff changeset
   569
    TMPXMessageId msgId = 1;    
hgs
parents:
diff changeset
   570
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
   571
    
hgs
parents:
diff changeset
   572
    // collection not opened, invalid msg id
hgs
parents:
diff changeset
   573
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   574
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   575
    
hgs
parents:
diff changeset
   576
    msgId = KMPXMessageGeneral;
hgs
parents:
diff changeset
   577
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
   578
    
hgs
parents:
diff changeset
   579
    // collection not opened, correct msg id, missing all details
hgs
parents:
diff changeset
   580
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   581
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   582
        
hgs
parents:
diff changeset
   583
    int value = -1;
hgs
parents:
diff changeset
   584
    mMediaFactory->putTValue<int>(message, KMPXMessageGeneralEvent, value);
hgs
parents:
diff changeset
   585
    
hgs
parents:
diff changeset
   586
    // collection not opened, correct msg id, missing  KMPXMessageGeneralData
hgs
parents:
diff changeset
   587
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   588
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   589
    
hgs
parents:
diff changeset
   590
    delete message;
hgs
parents:
diff changeset
   591
    message = mMediaFactory->newMedia(0);
hgs
parents:
diff changeset
   592
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
   593
    mMediaFactory->putTValue<int>(message, KMPXMessageGeneralData, value);
hgs
parents:
diff changeset
   594
    
hgs
parents:
diff changeset
   595
    // collection not opened, correct msg id, missing KMPXMessageGeneralEvent
hgs
parents:
diff changeset
   596
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   597
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   598
    
hgs
parents:
diff changeset
   599
    mMediaFactory->putTValue<int>(message, KMPXMessageGeneralEvent, value);
hgs
parents:
diff changeset
   600
    
hgs
parents:
diff changeset
   601
    // collection not opened, correct msg id, invalid detail values
hgs
parents:
diff changeset
   602
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   603
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   604
    
hgs
parents:
diff changeset
   605
    value = EMcContainerOpened;
hgs
parents:
diff changeset
   606
    mMediaFactory->putTValue<int>(message, KMPXMessageGeneralData, value);
hgs
parents:
diff changeset
   607
    
hgs
parents:
diff changeset
   608
    // collection not opened, correct msg id, invalid KMPXMessageGeneralEvent value
hgs
parents:
diff changeset
   609
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   610
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   611
    
hgs
parents:
diff changeset
   612
    value = -1;
hgs
parents:
diff changeset
   613
    mMediaFactory->putTValue<int>(message, KMPXMessageGeneralData, value);
hgs
parents:
diff changeset
   614
    value = TMPXCollectionMessage::EPathChanged;
hgs
parents:
diff changeset
   615
    mMediaFactory->putTValue<int>(message, KMPXMessageGeneralEvent, value);
hgs
parents:
diff changeset
   616
    
hgs
parents:
diff changeset
   617
    // collection not opened, correct msg id, invalid KMPXMessageGeneralData value
hgs
parents:
diff changeset
   618
    mStubCollection->callHandleCollectionMessage(message, 0);    
hgs
parents:
diff changeset
   619
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpening);
hgs
parents:
diff changeset
   620
        
hgs
parents:
diff changeset
   621
    value = EMcContainerOpened;
hgs
parents:
diff changeset
   622
    mMediaFactory->putTValue<int>(message, KMPXMessageGeneralData, value);
hgs
parents:
diff changeset
   623
    mStubCollectionClient->setOpenStatus(-1); 
hgs
parents:
diff changeset
   624
    // correct message, open status != CVideoCollectionClient::ECollectionOpening
hgs
parents:
diff changeset
   625
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   626
    QVERIFY(mStubCollectionClient->getOpenStatus() == -1);
hgs
parents:
diff changeset
   627
    
hgs
parents:
diff changeset
   628
    mStubCollectionClient->setOpenStatus(VideoCollectionClient::ECollectionOpening); 
hgs
parents:
diff changeset
   629
    // correct message, open status == CVideoCollectionClient::ECollectionOpening
hgs
parents:
diff changeset
   630
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   631
    QVERIFY(mStubCollectionClient->getOpenStatus() == VideoCollectionClient::ECollectionOpened);
hgs
parents:
diff changeset
   632
    
34
hgs
parents: 30
diff changeset
   633
    // none of above calls should not cause any callbacks
hgs
parents: 30
diff changeset
   634
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());  
hgs
parents: 30
diff changeset
   635
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0); 
hgs
parents: 30
diff changeset
   636
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
30
hgs
parents:
diff changeset
   637
hgs
parents:
diff changeset
   638
    delete message;
hgs
parents:
diff changeset
   639
    
hgs
parents:
diff changeset
   640
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
   641
    QVERIFY(remHeap == 0);     
hgs
parents:
diff changeset
   642
}
hgs
parents:
diff changeset
   643
hgs
parents:
diff changeset
   644
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   645
// testCollectionMessageMyVidCommandId
hgs
parents:
diff changeset
   646
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   647
//
hgs
parents:
diff changeset
   648
void TestVideoCollectionListener::testCollectionMessageMyVidCommandId()
hgs
parents:
diff changeset
   649
{
34
hgs
parents: 30
diff changeset
   650
    mSignalReceiver->resetLatestItems();
hgs
parents: 30
diff changeset
   651
    
30
hgs
parents:
diff changeset
   652
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
   653
    
hgs
parents:
diff changeset
   654
    mStubCollectionClient->setOpenStatus(VideoCollectionClient::ECollectionOpened);  
hgs
parents:
diff changeset
   655
    CMPXMessage *message = mMediaFactory->newMedia(0); 
hgs
parents:
diff changeset
   656
    TMPXMessageId msgId = KVcxCommandIdMyVideos;
hgs
parents:
diff changeset
   657
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
   658
    
hgs
parents:
diff changeset
   659
    // KMPXMessageCollectionId != KVcxUidMyVideosMpxCollection 
hgs
parents:
diff changeset
   660
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   661
    
hgs
parents:
diff changeset
   662
    TUid uid = {KVcxUidMyVideosMpxCollection};
hgs
parents:
diff changeset
   663
    mMediaFactory->putTValue<TUid>(message, KMPXMessageCollectionId, uid);
hgs
parents:
diff changeset
   664
    
hgs
parents:
diff changeset
   665
    // does not contain KVcxMediaMyVideosCommandId
hgs
parents:
diff changeset
   666
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   667
    
hgs
parents:
diff changeset
   668
    int value = KVcxMessageMyVideosMessageArray + 1;
hgs
parents:
diff changeset
   669
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);
hgs
parents:
diff changeset
   670
    
hgs
parents:
diff changeset
   671
    // non KVcxMessageMyVideosMessageArray, invalid value
hgs
parents:
diff changeset
   672
    // (this is tested throughoutly in testCollectionMessageNonMyVidMsgArray)
hgs
parents:
diff changeset
   673
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   674
    
hgs
parents:
diff changeset
   675
    value = KVcxMessageMyVideosMessageArray;
hgs
parents:
diff changeset
   676
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);
hgs
parents:
diff changeset
   677
    CMPXMediaArray *nullArray = 0;     
hgs
parents:
diff changeset
   678
    mMediaFactory->putValuePtr<CMPXMediaArray>(message, KMPXMediaArrayContents, nullArray);
hgs
parents:
diff changeset
   679
    // KVcxMessageMyVideosMessageArray, but no contents. 
hgs
parents:
diff changeset
   680
    // (this is tested throughoutly in testCollectionMessageMyVidMsgArray)    
hgs
parents:
diff changeset
   681
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   682
    delete message;         
hgs
parents:
diff changeset
   683
    
34
hgs
parents: 30
diff changeset
   684
    // none of above calls should not cause any callbacks
hgs
parents: 30
diff changeset
   685
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());  
hgs
parents: 30
diff changeset
   686
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0); 
hgs
parents: 30
diff changeset
   687
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
30
hgs
parents:
diff changeset
   688
hgs
parents:
diff changeset
   689
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
   690
    QVERIFY(remHeap == 0);     
hgs
parents:
diff changeset
   691
    
hgs
parents:
diff changeset
   692
}
hgs
parents:
diff changeset
   693
 
hgs
parents:
diff changeset
   694
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   695
// testHandleMyVideosMessageArray
hgs
parents:
diff changeset
   696
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   697
//
hgs
parents:
diff changeset
   698
void TestVideoCollectionListener::testHandleMyVideosMessageArray()
hgs
parents:
diff changeset
   699
{
hgs
parents:
diff changeset
   700
34
hgs
parents: 30
diff changeset
   701
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
   702
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
   703
        
hgs
parents:
diff changeset
   704
    mStubCollectionClient->setOpenStatus(VideoCollectionClient::ECollectionOpened);  
hgs
parents:
diff changeset
   705
    CMPXMessage *message = mMediaFactory->newMedia(0); 
hgs
parents:
diff changeset
   706
    TMPXMessageId msgId = KVcxCommandIdMyVideos;
hgs
parents:
diff changeset
   707
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
   708
    TUid uid = {KVcxUidMyVideosMpxCollection};
hgs
parents:
diff changeset
   709
    mMediaFactory->putTValue<TUid>(message, KMPXMessageCollectionId, uid);
hgs
parents:
diff changeset
   710
    int value = KVcxMessageMyVideosMessageArray;
hgs
parents:
diff changeset
   711
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);
hgs
parents:
diff changeset
   712
   
hgs
parents:
diff changeset
   713
    // no message array
hgs
parents:
diff changeset
   714
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   715
    
hgs
parents:
diff changeset
   716
    // CMPXMedia *subMedia = mMediaFactory->newMedia(0);
hgs
parents:
diff changeset
   717
    // mMediaFactory->putValuePtr<CMPXMedia>( message, KMPXMessageArrayContents, subMedia);
hgs
parents:
diff changeset
   718
    //////////////////
hgs
parents:
diff changeset
   719
    // NOTE
hgs
parents:
diff changeset
   720
    // We cannot test case where message containsCMPXMedia instead of CMPXMessageArray.
hgs
parents:
diff changeset
   721
    // collection fw does not support type check of pointers. Whatever pointer we have it is supported as long as
hgs
parents:
diff changeset
   722
    // it is saved into message with correct attribute.
hgs
parents:
diff changeset
   723
    //
hgs
parents:
diff changeset
   724
    // this kind of situation causes crash in application because we cannot validate type.
hgs
parents:
diff changeset
   725
   
hgs
parents:
diff changeset
   726
    // mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   727
    // delete subMedia;
hgs
parents:
diff changeset
   728
    CMPXMediaArray *array = mMediaFactory->newMediaArray();
hgs
parents:
diff changeset
   729
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMessageArrayContents, array);
hgs
parents:
diff changeset
   730
    
hgs
parents:
diff changeset
   731
    // empty message array
hgs
parents:
diff changeset
   732
    mStubCollection->callHandleCollectionMessage(message, 0);  
hgs
parents:
diff changeset
   733
    
hgs
parents:
diff changeset
   734
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(1));
hgs
parents:
diff changeset
   735
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(2));
hgs
parents:
diff changeset
   736
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(3));
hgs
parents:
diff changeset
   737
    mMediaFactory->putArrayContent(array, mMediaFactory->newMedia(4));
hgs
parents:
diff changeset
   738
    
hgs
parents:
diff changeset
   739
    // message array containing invalid ( == empty) items
hgs
parents:
diff changeset
   740
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   741
    
hgs
parents:
diff changeset
   742
    delete array;
hgs
parents:
diff changeset
   743
    array = mMediaFactory->newMediaArray();
hgs
parents:
diff changeset
   744
    CMPXMedia *media = 0;
hgs
parents:
diff changeset
   745
    
hgs
parents:
diff changeset
   746
    value = 0;
hgs
parents:
diff changeset
   747
    media = mMediaFactory->newMedia(1);
hgs
parents:
diff changeset
   748
    mMediaFactory->putTValue<int>(media, KVcxMediaMyVideosCommandId, value );
hgs
parents:
diff changeset
   749
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   750
    value = -1;
hgs
parents:
diff changeset
   751
    media = mMediaFactory->newMedia(2);
hgs
parents:
diff changeset
   752
    mMediaFactory->putTValue<int>(media, KVcxMediaMyVideosCommandId, value );
hgs
parents:
diff changeset
   753
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   754
    value = -2;
hgs
parents:
diff changeset
   755
    media = mMediaFactory->newMedia(3);
hgs
parents:
diff changeset
   756
    mMediaFactory->putTValue<int>(media, KVcxMediaMyVideosCommandId, value );
hgs
parents:
diff changeset
   757
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   758
     
hgs
parents:
diff changeset
   759
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMessageArrayContents, array);
hgs
parents:
diff changeset
   760
    
hgs
parents:
diff changeset
   761
    // message array containing KVcxMediaMyVideosCommandId -typed items
hgs
parents:
diff changeset
   762
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   763
 
hgs
parents:
diff changeset
   764
    delete array;
hgs
parents:
diff changeset
   765
    array = mMediaFactory->newMediaArray(); 
hgs
parents:
diff changeset
   766
    TMPXMessageId valueid = 1;
hgs
parents:
diff changeset
   767
    media = mMediaFactory->newMedia(1);
hgs
parents:
diff changeset
   768
    mMediaFactory->putTValue<TMPXMessageId>(media, KMPXMessageGeneralId, valueid );
hgs
parents:
diff changeset
   769
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   770
    valueid = 2;
hgs
parents:
diff changeset
   771
    media = mMediaFactory->newMedia(2);
hgs
parents:
diff changeset
   772
    mMediaFactory->putTValue<TMPXMessageId>(media, KMPXMessageGeneralId, valueid );
hgs
parents:
diff changeset
   773
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   774
    valueid = 3;
hgs
parents:
diff changeset
   775
    media = mMediaFactory->newMedia(3);
hgs
parents:
diff changeset
   776
    mMediaFactory->putTValue<TMPXMessageId>(media, KMPXMessageGeneralId, valueid );
hgs
parents:
diff changeset
   777
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   778
     
hgs
parents:
diff changeset
   779
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMessageArrayContents, array);   
hgs
parents:
diff changeset
   780
    
hgs
parents:
diff changeset
   781
    // message array containing KMPXMessageGeneralId -typed items
hgs
parents:
diff changeset
   782
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   783
    
hgs
parents:
diff changeset
   784
    delete array;
hgs
parents:
diff changeset
   785
    array = mMediaFactory->newMediaArray(); 
hgs
parents:
diff changeset
   786
    valueid = 0;
hgs
parents:
diff changeset
   787
    media = mMediaFactory->newMedia(1);
hgs
parents:
diff changeset
   788
    mMediaFactory->putTValue<TMPXMessageId>(media, KMPXMessageGeneralId, valueid );
hgs
parents:
diff changeset
   789
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   790
    value = 1;
hgs
parents:
diff changeset
   791
    media = mMediaFactory->newMedia(2);
hgs
parents:
diff changeset
   792
    mMediaFactory->putTValue<TMPXMessageId>(media, KVcxMediaMyVideosCommandId, valueid );
hgs
parents:
diff changeset
   793
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   794
    valueid = 2;
hgs
parents:
diff changeset
   795
    media = mMediaFactory->newMedia(3);
hgs
parents:
diff changeset
   796
    mMediaFactory->putTValue<TMPXMessageId>(media, KMPXMessageGeneralId, valueid );
hgs
parents:
diff changeset
   797
    mMediaFactory->putArrayContent(array, media);
hgs
parents:
diff changeset
   798
         
hgs
parents:
diff changeset
   799
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMessageArrayContents, array);
hgs
parents:
diff changeset
   800
    
hgs
parents:
diff changeset
   801
    // message array contains both KVcxMediaMyVideosCommandId and KMPXMessageGeneralId typed items
hgs
parents:
diff changeset
   802
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   803
    delete array;
hgs
parents:
diff changeset
   804
    delete message;
34
hgs
parents: 30
diff changeset
   805
    // none of above calls should cause any callbacks
hgs
parents: 30
diff changeset
   806
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());  
hgs
parents: 30
diff changeset
   807
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);  
hgs
parents: 30
diff changeset
   808
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
30
hgs
parents:
diff changeset
   809
    
hgs
parents:
diff changeset
   810
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
   811
    QVERIFY(remHeap == 0); 
hgs
parents:
diff changeset
   812
}
hgs
parents:
diff changeset
   813
    
hgs
parents:
diff changeset
   814
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   815
// testHandleMyVideosMPXMessage
hgs
parents:
diff changeset
   816
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   817
//
hgs
parents:
diff changeset
   818
void TestVideoCollectionListener::testHandleMyVideosMPXMessage()
hgs
parents:
diff changeset
   819
{
hgs
parents:
diff changeset
   820
    // tests all other my videos msg ids than KVcxMessageMyVideosDeleteResp.
hgs
parents:
diff changeset
   821
    // it is tested in testMyVideosDeleteMsgArray
hgs
parents:
diff changeset
   822
    
34
hgs
parents: 30
diff changeset
   823
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
   824
hgs
parents:
diff changeset
   825
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
   826
        
hgs
parents:
diff changeset
   827
    mStubCollectionClient->setOpenStatus(VideoCollectionClient::ECollectionOpened);  
hgs
parents:
diff changeset
   828
    CMPXMessage *message = mMediaFactory->newMedia(0); 
hgs
parents:
diff changeset
   829
    TMPXMessageId msgId = KVcxCommandIdMyVideos;
hgs
parents:
diff changeset
   830
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
   831
    TUid uid = {KVcxUidMyVideosMpxCollection};
hgs
parents:
diff changeset
   832
    mMediaFactory->putTValue<TUid>(message, KMPXMessageCollectionId, uid);
hgs
parents:
diff changeset
   833
    
hgs
parents:
diff changeset
   834
    // msg ids, that should not cause any additional funtionality (verified at the end of the method)
hgs
parents:
diff changeset
   835
    int value = KVcxMessageMyVideosDeleteStarted;
hgs
parents:
diff changeset
   836
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);        
hgs
parents:
diff changeset
   837
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   838
    
hgs
parents:
diff changeset
   839
    value = KVcxMessageMyVideosMoveOrCopyStarted;
hgs
parents:
diff changeset
   840
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);
hgs
parents:
diff changeset
   841
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   842
    
hgs
parents:
diff changeset
   843
    value = KVcxMessageMyVideosMoveResp;
hgs
parents:
diff changeset
   844
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);
hgs
parents:
diff changeset
   845
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   846
    
hgs
parents:
diff changeset
   847
    value = KVcxMessageMyVideosCopyResp;
hgs
parents:
diff changeset
   848
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);
hgs
parents:
diff changeset
   849
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   850
    
hgs
parents:
diff changeset
   851
    // Handling of KVcxMessageMyVideosItemsAppended
hgs
parents:
diff changeset
   852
    VideoCollectionClient::mStartOpenCurrentStateCallCount = 0;
hgs
parents:
diff changeset
   853
    value = KVcxMessageMyVideosItemsAppended;
hgs
parents:
diff changeset
   854
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);
hgs
parents:
diff changeset
   855
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   856
    QCOMPARE(VideoCollectionClient::mStartOpenCurrentStateCallCount, 1);
hgs
parents:
diff changeset
   857
    
hgs
parents:
diff changeset
   858
    // Handling of // Handling of KVcxMessageMyVideosItemsAppended
hgs
parents:
diff changeset
   859
    VideoCollectionClient::mStartOpenCurrentStateCallCount = 0;
hgs
parents:
diff changeset
   860
    value = KVcxMessageMyVideosListComplete;
hgs
parents:
diff changeset
   861
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);
hgs
parents:
diff changeset
   862
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents:
diff changeset
   863
    QCOMPARE(VideoCollectionClient::mStartOpenCurrentStateCallCount, 1);    
hgs
parents:
diff changeset
   864
    
hgs
parents:
diff changeset
   865
    //////   
hgs
parents:
diff changeset
   866
    // KVcxMessageMyVideosGetMediasByMpxIdResp
hgs
parents:
diff changeset
   867
    value = KVcxMessageMyVideosGetMediasByMpxIdResp;
hgs
parents:
diff changeset
   868
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);   
hgs
parents:
diff changeset
   869
    
hgs
parents:
diff changeset
   870
    // no contents
hgs
parents:
diff changeset
   871
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
   872
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 30
diff changeset
   873
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
30
hgs
parents:
diff changeset
   874
    
hgs
parents:
diff changeset
   875
    CMPXMediaArray *array = mMediaFactory->newMediaArray();
hgs
parents:
diff changeset
   876
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMediaArrayContents, array);
hgs
parents:
diff changeset
   877
    
hgs
parents:
diff changeset
   878
    // empty array 
hgs
parents:
diff changeset
   879
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
   880
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 30
diff changeset
   881
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
30
hgs
parents:
diff changeset
   882
    
hgs
parents:
diff changeset
   883
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(10));
hgs
parents:
diff changeset
   884
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(11));
hgs
parents:
diff changeset
   885
    
hgs
parents:
diff changeset
   886
    // item(s) exists
hgs
parents:
diff changeset
   887
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
   888
    CMPXMedia *fetched = static_cast<CMPXMedia*>(mSignalReceiver->getLatestPointerAddr());
30
hgs
parents:
diff changeset
   889
    int fetchedId = -1;
hgs
parents:
diff changeset
   890
    VideoCollectionUtils::instance().mediaValue<int>(fetched, KMPXMediaGeneralId, fetchedId );
hgs
parents:
diff changeset
   891
    QVERIFY(fetchedId == 10);
34
hgs
parents: 30
diff changeset
   892
hgs
parents: 30
diff changeset
   893
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());  
hgs
parents: 30
diff changeset
   894
    QVERIFY(mSignalReceiver->getLatestPointerAddr() != 0);  
hgs
parents: 30
diff changeset
   895
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
hgs
parents: 30
diff changeset
   896
    
hgs
parents: 30
diff changeset
   897
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
   898
    delete array;
hgs
parents:
diff changeset
   899
    delete message;
hgs
parents:
diff changeset
   900
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
   901
    QVERIFY(remHeap == 0); 
hgs
parents:
diff changeset
   902
}
hgs
parents:
diff changeset
   903
hgs
parents:
diff changeset
   904
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   905
// testCollectionMessageNonMyVidMsgArray
hgs
parents:
diff changeset
   906
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   907
//
hgs
parents:
diff changeset
   908
void TestVideoCollectionListener::testMyVideosDeleteMsgArray()
hgs
parents:
diff changeset
   909
{
34
hgs
parents: 30
diff changeset
   910
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
   911
hgs
parents:
diff changeset
   912
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
   913
        
hgs
parents:
diff changeset
   914
    mStubCollectionClient->setOpenStatus(VideoCollectionClient::ECollectionOpened);  
hgs
parents:
diff changeset
   915
    CMPXMessage *message = mMediaFactory->newMedia(0); 
hgs
parents:
diff changeset
   916
    TMPXMessageId msgId = KVcxCommandIdMyVideos;
hgs
parents:
diff changeset
   917
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
   918
    TUid uid = {KVcxUidMyVideosMpxCollection};
hgs
parents:
diff changeset
   919
    mMediaFactory->putTValue<TUid>(message, KMPXMessageCollectionId, uid);
hgs
parents:
diff changeset
   920
    
hgs
parents:
diff changeset
   921
    int value = KVcxMessageMyVideosDeleteResp;
hgs
parents:
diff changeset
   922
    mMediaFactory->putTValue<int>( message, KVcxMediaMyVideosCommandId, value);  
hgs
parents:
diff changeset
   923
    
34
hgs
parents: 30
diff changeset
   924
    // null array 
30
hgs
parents:
diff changeset
   925
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
   926
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
hgs
parents: 30
diff changeset
   927
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 30
diff changeset
   928
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
30
hgs
parents:
diff changeset
   929
    
hgs
parents:
diff changeset
   930
    // empty array
hgs
parents:
diff changeset
   931
    CMPXMediaArray *array = mMediaFactory->newMediaArray();
hgs
parents:
diff changeset
   932
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMediaArrayContents, array);
hgs
parents:
diff changeset
   933
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
   934
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
hgs
parents: 30
diff changeset
   935
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 30
diff changeset
   936
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
30
hgs
parents:
diff changeset
   937
    
hgs
parents:
diff changeset
   938
    // item(s) does not contain KVcxMediaMyVideosInt32Value
hgs
parents:
diff changeset
   939
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(1));
hgs
parents:
diff changeset
   940
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(2));
hgs
parents:
diff changeset
   941
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(3));
hgs
parents:
diff changeset
   942
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(4));    
hgs
parents:
diff changeset
   943
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMessageArrayContents, array);
hgs
parents:
diff changeset
   944
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
   945
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId()); 
hgs
parents: 30
diff changeset
   946
    QVERIFY(mSignalReceiver->getLatestPointerAddr() != 0);
hgs
parents: 30
diff changeset
   947
    QVERIFY(mSignalReceiver->getLatestIntegerData() == 4);
hgs
parents: 30
diff changeset
   948
    QVERIFY(mSignalReceiver->getLatestListData().count() == 0);
30
hgs
parents:
diff changeset
   949
    
hgs
parents:
diff changeset
   950
    delete array;
hgs
parents:
diff changeset
   951
    array = mMediaFactory->newMediaArray();
hgs
parents:
diff changeset
   952
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMediaArrayContents, array);
36
hgs
parents: 34
diff changeset
   953
    
hgs
parents: 34
diff changeset
   954
    // item(s) does contain KVcxMediaMyVideosInt32Value + one invalid item (== no id) before of that
hgs
parents: 34
diff changeset
   955
    mSignalReceiver->resetLatestItems();
hgs
parents: 34
diff changeset
   956
    CMPXMedia *media = 0;
hgs
parents: 34
diff changeset
   957
    TRAP_IGNORE(media = CMPXMedia::NewL());
hgs
parents: 34
diff changeset
   958
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(1));
hgs
parents: 34
diff changeset
   959
    mMediaFactory->putArrayContent( array, media);
hgs
parents: 34
diff changeset
   960
    media = mMediaFactory->newMedia(3); 
hgs
parents: 34
diff changeset
   961
    value = 1;
hgs
parents: 34
diff changeset
   962
    mMediaFactory->putTValue<int>( media, KVcxMediaMyVideosInt32Value, value);
hgs
parents: 34
diff changeset
   963
    mMediaFactory->putArrayContent( array, media);  
hgs
parents: 34
diff changeset
   964
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMessageArrayContents, array);
hgs
parents: 34
diff changeset
   965
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents: 34
diff changeset
   966
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId()); 
hgs
parents: 34
diff changeset
   967
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 34
diff changeset
   968
    QVERIFY(mSignalReceiver->getLatestIntegerData() == -1);
hgs
parents: 34
diff changeset
   969
    QVERIFY(mSignalReceiver->getLatestListData().count() == 0);
hgs
parents: 34
diff changeset
   970
    
hgs
parents: 34
diff changeset
   971
    delete array;
hgs
parents: 34
diff changeset
   972
    array = mMediaFactory->newMediaArray();
hgs
parents: 34
diff changeset
   973
    mMediaFactory->putValuePtr<CMPXMediaArray>( message, KMPXMediaArrayContents, array);
30
hgs
parents:
diff changeset
   974
   
hgs
parents:
diff changeset
   975
    // item(s) containing KVcxMediaMyVideosInt32Value -values, both incorrect (1) and correct (3)
36
hgs
parents: 34
diff changeset
   976
    
30
hgs
parents:
diff changeset
   977
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(1));
hgs
parents:
diff changeset
   978
    
hgs
parents:
diff changeset
   979
    media = mMediaFactory->newMedia(2);
hgs
parents:
diff changeset
   980
    value = 1;
hgs
parents:
diff changeset
   981
    mMediaFactory->putTValue<int>( media, KVcxMediaMyVideosInt32Value, value);
hgs
parents:
diff changeset
   982
    mMediaFactory->putArrayContent( array, media);
hgs
parents:
diff changeset
   983
    
hgs
parents:
diff changeset
   984
    media = mMediaFactory->newMedia(3); 
hgs
parents:
diff changeset
   985
    value = 1;
hgs
parents:
diff changeset
   986
    mMediaFactory->putTValue<int>( media, KVcxMediaMyVideosInt32Value, value);
hgs
parents:
diff changeset
   987
    mMediaFactory->putArrayContent( array, media);
hgs
parents:
diff changeset
   988
    
hgs
parents:
diff changeset
   989
    media = mMediaFactory->newMedia(4);
hgs
parents:
diff changeset
   990
    value = 0;
hgs
parents:
diff changeset
   991
    mMediaFactory->putTValue<int>( media, KVcxMediaMyVideosInt32Value, value);
hgs
parents:
diff changeset
   992
    mMediaFactory->putArrayContent( array, media);
hgs
parents:
diff changeset
   993
    
hgs
parents:
diff changeset
   994
    media = mMediaFactory->newMedia(5);
hgs
parents:
diff changeset
   995
    value = 1;
hgs
parents:
diff changeset
   996
    mMediaFactory->putTValue<int>( media, KVcxMediaMyVideosInt32Value, value);
hgs
parents:
diff changeset
   997
    mMediaFactory->putArrayContent( array, media);
hgs
parents:
diff changeset
   998
    
hgs
parents:
diff changeset
   999
    mMediaFactory->putArrayContent( array, mMediaFactory->newMedia(6));  
hgs
parents:
diff changeset
  1000
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1001
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
hgs
parents: 30
diff changeset
  1002
    QVERIFY(mSignalReceiver->getLatestIntegerData() == 6);
hgs
parents: 30
diff changeset
  1003
    QVERIFY(mSignalReceiver->getLatestPointerAddr() != 0);
hgs
parents: 30
diff changeset
  1004
    QVERIFY(mSignalReceiver->getLatestListData().count() == 3); 
hgs
parents: 30
diff changeset
  1005
    QVERIFY(mSignalReceiver->getLatestListData().value(0).iId1 == 2); 
hgs
parents: 30
diff changeset
  1006
    QVERIFY(mSignalReceiver->getLatestListData().value(1).iId1 == 3); 
hgs
parents: 30
diff changeset
  1007
    QVERIFY(mSignalReceiver->getLatestListData().value(2).iId1 == 5); 
hgs
parents: 30
diff changeset
  1008
    mSignalReceiver->resetLatestItems();
hgs
parents: 30
diff changeset
  1009
30
hgs
parents:
diff changeset
  1010
    delete array;
hgs
parents:
diff changeset
  1011
    delete message;
hgs
parents:
diff changeset
  1012
    
hgs
parents:
diff changeset
  1013
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
  1014
    QVERIFY(remHeap == 0);     
hgs
parents:
diff changeset
  1015
}
hgs
parents:
diff changeset
  1016
hgs
parents:
diff changeset
  1017
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1018
// testCollectionMessageNonMyVidCommandId
hgs
parents:
diff changeset
  1019
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
  1020
//
hgs
parents:
diff changeset
  1021
void TestVideoCollectionListener::testHandleMPXMessage()
hgs
parents:
diff changeset
  1022
{
34
hgs
parents: 30
diff changeset
  1023
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
  1024
hgs
parents:
diff changeset
  1025
    User::Heap().__DbgMarkStart(); 
hgs
parents:
diff changeset
  1026
           
hgs
parents:
diff changeset
  1027
    mStubCollectionClient->setOpenStatus(VideoCollectionClient::ECollectionOpened);  
hgs
parents:
diff changeset
  1028
    CMPXMessage *message = mMediaFactory->newMedia(0); 
hgs
parents:
diff changeset
  1029
    TMPXMessageId msgId = KMPXMessageGeneral; 
hgs
parents:
diff changeset
  1030
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
  1031
    TUid uid = {KVcxUidMyVideosMpxCollection};
hgs
parents:
diff changeset
  1032
    mMediaFactory->putTValue<TUid>(message, KMPXMessageCollectionId, uid);
hgs
parents:
diff changeset
  1033
    
hgs
parents:
diff changeset
  1034
    // NOTE: 
hgs
parents:
diff changeset
  1035
    // - we're testing only for KMPXMessageGeneral only once, because handleGeneralMPXMessage is already verified
hgs
parents:
diff changeset
  1036
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1037
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1038
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1039
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
  1040
    
hgs
parents:
diff changeset
  1041
    // invalid
hgs
parents:
diff changeset
  1042
    msgId = KMPXMessageIdItemChanged + 1;
hgs
parents:
diff changeset
  1043
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1044
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1045
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1046
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
  1047
    
hgs
parents:
diff changeset
  1048
    // KMPXMessageIdItemChanged with no content 
34
hgs
parents: 30
diff changeset
  1049
    mStubCollectionClient->setCollectionLevel(VideoCollectionCommon::ELevelVideos);
30
hgs
parents:
diff changeset
  1050
    msgId = KMPXMessageIdItemChanged;
hgs
parents:
diff changeset
  1051
    mMediaFactory->putTValue<TMPXMessageId>(message, KMPXMessageGeneralId, msgId);
hgs
parents:
diff changeset
  1052
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1053
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1054
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1055
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
  1056
    
hgs
parents:
diff changeset
  1057
    // KMPXMessageIdItemChanged with level != CVideoCollectionClient::ELevelVideos
34
hgs
parents: 30
diff changeset
  1058
    mStubCollectionClient->setCollectionLevel(VideoCollectionCommon::ELevelVideos - 1);
30
hgs
parents:
diff changeset
  1059
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1060
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1061
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1062
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
  1063
             
34
hgs
parents: 30
diff changeset
  1064
    // KMPXMessageIdItemChanged with EMPXItemModified event type, no id
hgs
parents: 30
diff changeset
  1065
    mStubCollectionClient->setCollectionLevel(VideoCollectionCommon::ELevelVideos);
30
hgs
parents:
diff changeset
  1066
    TMPXChangeEventType eventType = EMPXItemModified;
34
hgs
parents: 30
diff changeset
  1067
    mMediaFactory->putTValue<TMPXChangeEventType>(message, KMPXMessageChangeEventType, eventType);   
30
hgs
parents:
diff changeset
  1068
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1069
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1070
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1071
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
  1072
    
34
hgs
parents: 30
diff changeset
  1073
    // KMPXMessageIdItemChanged with existing with EMPXItemModified event type, iId2 != album
30
hgs
parents:
diff changeset
  1074
    TMPXItemId eventId;
34
hgs
parents: 30
diff changeset
  1075
    eventId.iId1 = 1;
hgs
parents: 30
diff changeset
  1076
    eventId.iId2 = 0;
30
hgs
parents:
diff changeset
  1077
    mMediaFactory->putTValue<TMPXItemId>(message, KMPXMessageMediaGeneralId, eventId);
hgs
parents:
diff changeset
  1078
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1079
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1080
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == eventId);
34
hgs
parents: 30
diff changeset
  1081
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
36
hgs
parents: 34
diff changeset
  1082
34
hgs
parents: 30
diff changeset
  1083
    // KMPXMessageIdItemChanged with existing with EMPXItemModified event type iId2 == album, not same as opened
hgs
parents: 30
diff changeset
  1084
    eventId.iId1 = 1;
hgs
parents: 30
diff changeset
  1085
    eventId.iId2 = 2;
hgs
parents: 30
diff changeset
  1086
    mMediaFactory->putTValue<TMPXItemId>(message, KMPXMessageMediaGeneralId, eventId);
hgs
parents: 30
diff changeset
  1087
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents: 30
diff changeset
  1088
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1089
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == eventId);
hgs
parents: 34
diff changeset
  1090
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 34
diff changeset
  1091
    
hgs
parents: 34
diff changeset
  1092
    // KMPXMessageIdItemChanged with existing with EMPXItemModified event type iId2 == category, not same as opened
hgs
parents: 34
diff changeset
  1093
    eventId.iId1 = 1;
hgs
parents: 34
diff changeset
  1094
    eventId.iId2 = 1;
hgs
parents: 34
diff changeset
  1095
    mMediaFactory->putTValue<TMPXItemId>(message, KMPXMessageMediaGeneralId, eventId);
hgs
parents: 34
diff changeset
  1096
    mStubCollection->callHandleCollectionMessage(message, 0);
hgs
parents: 34
diff changeset
  1097
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
hgs
parents: 34
diff changeset
  1098
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == eventId);
34
hgs
parents: 30
diff changeset
  1099
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
hgs
parents: 30
diff changeset
  1100
    
hgs
parents: 30
diff changeset
  1101
    // KMPXMessageIdItemChanged with existing with EMPXItemModified event type iId2 == album, same as opened
36
hgs
parents: 34
diff changeset
  1102
    eventId.iId1 = 2;
34
hgs
parents: 30
diff changeset
  1103
    eventId.iId2 = 2;
hgs
parents: 30
diff changeset
  1104
    int callCount = mStubCollectionClient->mOpenItemCallCount;    
hgs
parents: 30
diff changeset
  1105
    mStubCollectionClient->openItem(eventId);
hgs
parents: 30
diff changeset
  1106
    QVERIFY(mStubCollectionClient->mOpenItemCallCount == callCount + 1);
hgs
parents: 30
diff changeset
  1107
    mMediaFactory->putTValue<TMPXItemId>(message, KMPXMessageMediaGeneralId, eventId);
hgs
parents: 30
diff changeset
  1108
    mStubCollection->callHandleCollectionMessage(message, 0);
36
hgs
parents: 34
diff changeset
  1109
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == eventId);
34
hgs
parents: 30
diff changeset
  1110
    QVERIFY(mStubCollectionClient->mOpenItemCallCount == callCount + 2);
hgs
parents: 30
diff changeset
  1111
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
  1112
    
hgs
parents:
diff changeset
  1113
    // KMPXMessageIdItemChanged with EMPXItemDeleted event type 
hgs
parents:
diff changeset
  1114
    eventType = EMPXItemDeleted;
34
hgs
parents: 30
diff changeset
  1115
    eventId.iId1 = 10;
hgs
parents: 30
diff changeset
  1116
    eventId.iId2 = 0;
30
hgs
parents:
diff changeset
  1117
    mMediaFactory->putTValue<TMPXChangeEventType>(message, KMPXMessageChangeEventType, eventType);
34
hgs
parents: 30
diff changeset
  1118
    mMediaFactory->putTValue<TMPXItemId>(message, KMPXMessageMediaGeneralId, eventId);
30
hgs
parents:
diff changeset
  1119
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1120
    QVERIFY(mSignalReceiver->getLatestItemId().iId1 == 10);
36
hgs
parents: 34
diff changeset
  1121
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1122
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
  1123
    
34
hgs
parents: 30
diff changeset
  1124
    mSignalReceiver->resetLatestItems();
hgs
parents: 30
diff changeset
  1125
    
hgs
parents: 30
diff changeset
  1126
    // KMPXMessageIdItemChanged with EMPXItemInserted event type with id2 differrent than videos
30
hgs
parents:
diff changeset
  1127
    eventType = EMPXItemInserted;
hgs
parents:
diff changeset
  1128
    eventId.iId2 = 2;
hgs
parents:
diff changeset
  1129
    mMediaFactory->putTValue<TMPXItemId>(message, KMPXMessageMediaGeneralId, eventId);
hgs
parents:
diff changeset
  1130
    mMediaFactory->putTValue<TMPXChangeEventType>(message, KMPXMessageChangeEventType, eventType);
hgs
parents:
diff changeset
  1131
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1132
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1133
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1134
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
  1135
    // mpx id should have not changed into 10
34
hgs
parents: 30
diff changeset
  1136
    QVERIFY(mStubCollectionClient->getLatestMPXId() == eventId);
30
hgs
parents:
diff changeset
  1137
    
hgs
parents:
diff changeset
  1138
    // KMPXMessageIdItemChanged with EMPXItemInserted event type with correct id2 no media object
hgs
parents:
diff changeset
  1139
    eventId.iId2 = 1;
hgs
parents:
diff changeset
  1140
    mMediaFactory->putTValue<TMPXItemId>(message, KMPXMessageMediaGeneralId, eventId);
hgs
parents:
diff changeset
  1141
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1142
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1143
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1144
    QVERIFY(mSignalReceiver->getLatestPointerAddr() == 0);
30
hgs
parents:
diff changeset
  1145
    QVERIFY(mStubCollectionClient->getLatestMPXId() == eventId);
hgs
parents:
diff changeset
  1146
    
34
hgs
parents: 30
diff changeset
  1147
 
30
hgs
parents:
diff changeset
  1148
    // KMPXMessageIdItemChanged with EMPXItemInserted event type with correct id2 with media object
hgs
parents:
diff changeset
  1149
    CMPXMedia *media = mMediaFactory->newMedia(11);
hgs
parents:
diff changeset
  1150
    mMediaFactory->putValuePtr<CMPXMedia>(message, KMPXCommandColAddMedia, media);
hgs
parents:
diff changeset
  1151
    mStubCollection->callHandleCollectionMessage(message, 0);
34
hgs
parents: 30
diff changeset
  1152
    QVERIFY(mSignalReceiver->getLatestItemId() == TMPXItemId::InvalidId());
36
hgs
parents: 34
diff changeset
  1153
    QVERIFY(mSignalReceiver->getLatestModifiedItemId() == TMPXItemId::InvalidId());
34
hgs
parents: 30
diff changeset
  1154
    QVERIFY(mSignalReceiver->getLatestPointerAddr() != 0);
hgs
parents: 30
diff changeset
  1155
    CMPXMedia *gotten = static_cast<CMPXMedia*>(mSignalReceiver->getLatestPointerAddr());
30
hgs
parents:
diff changeset
  1156
    int fetchedId = -1;
hgs
parents:
diff changeset
  1157
    VideoCollectionUtils::instance().mediaValue<int>(gotten, KMPXMediaGeneralId, fetchedId );
hgs
parents:
diff changeset
  1158
    QVERIFY(fetchedId == 11);
hgs
parents:
diff changeset
  1159
        
hgs
parents:
diff changeset
  1160
    delete media;
hgs
parents:
diff changeset
  1161
    delete message;
34
hgs
parents: 30
diff changeset
  1162
    mSignalReceiver->resetLatestItems();
30
hgs
parents:
diff changeset
  1163
    int remHeap = User::Heap().__DbgMarkEnd(0);
hgs
parents:
diff changeset
  1164
    QVERIFY(remHeap == 0);    
hgs
parents:
diff changeset
  1165
}
hgs
parents:
diff changeset
  1166
hgs
parents:
diff changeset
  1167
// End of file
hgs
parents:
diff changeset
  1168
    
hgs
parents:
diff changeset
  1169
hgs
parents:
diff changeset
  1170