videocollection/videocollectionwrapper/tsrc/testvideothumbnaildata_p/src/testvideothumbnaildata_p.cpp
changeset 35 3738fe97f027
parent 34 bbb98528c666
child 37 4eb2df7f7cbe
equal deleted inserted replaced
34:bbb98528c666 35:3738fe97f027
    22 #include <qpair.h>
    22 #include <qpair.h>
    23 #include <qpointer.h>
    23 #include <qpointer.h>
    24 #include <qlist.h>
    24 #include <qlist.h>
    25 #include <qvariant.h>
    25 #include <qvariant.h>
    26 #include "qmetatype.h"
    26 #include "qmetatype.h"
       
    27 #include <vcxmyvideosdefs.h>
    27 
    28 
    28 #include "testvideothumbnaildata_p.h"
    29 #include "testvideothumbnaildata_p.h"
    29 #include "videothumbnailfetcher.h"
    30 #include "videothumbnailfetcher.h"
    30 #include "videosortfilterproxymodel.h"
    31 #include "videosortfilterproxymodel.h"
    31 #include "videocollectionwrapper.h"
    32 #include "videocollectionwrapper.h"
   220 
   221 
   221     init();
   222     init();
   222 
   223 
   223     mTestObject->mThumbnailData.insert(TMPXItemId(mediaid, 0), new QIcon(pixmap));
   224     mTestObject->mThumbnailData.insert(TMPXItemId(mediaid, 0), new QIcon(pixmap));
   224     QCOMPARE( *(mTestObject->getThumbnail(TMPXItemId(mediaid, 0))), *(mTestObject->mThumbnailData[TMPXItemId(mediaid, 0)]) );
   225     QCOMPARE( *(mTestObject->getThumbnail(TMPXItemId(mediaid, 0))), *(mTestObject->mThumbnailData[TMPXItemId(mediaid, 0)]) );
   225     QVERIFY( mTestObject->getThumbnail(TMPXItemId(mediaid+100, 0)) == mTestObject->mDefaultTnVideo );
   226     QVERIFY( mTestObject->getThumbnail(TMPXItemId(mediaid+100, 0)) != 0);
   226 
   227 
   227     cleanup();
   228     cleanup();
   228 }
   229 }
   229 
   230 
   230 // ---------------------------------------------------------------------------
   231 // ---------------------------------------------------------------------------
   697 //
   698 //
   698 void TestVideoThumbnailData_p::testDefaultThumbnail()
   699 void TestVideoThumbnailData_p::testDefaultThumbnail()
   699 {
   700 {
   700     init();
   701     init();
   701 
   702 
   702     QVERIFY( mTestObject->mDefaultTnVideo == 0 );
   703     QVERIFY(mTestObject->mDefaultThumbnails.count() == 0);
   703     QVERIFY( mTestObject->mDefaultTnCategory == 0 );
       
   704     
   704     
   705     // Tn for video
   705     // Tn for video
   706     const QIcon* tn = mTestObject->defaultThumbnail(TMPXItemId(1, 0));
   706     const QIcon* tn = mTestObject->defaultThumbnail(TMPXItemId(1, KVcxMvcMediaTypeVideo));
       
   707     QVERIFY( tn != 0 );
       
   708     QVERIFY( tn->isNull() == false );    
       
   709     // Second call when tn has been loaded already.
       
   710     QVERIFY(tn == mTestObject->defaultThumbnail(TMPXItemId(1, KVcxMvcMediaTypeVideo)));
       
   711     QVERIFY(mTestObject->mDefaultThumbnails.count() == 1);
       
   712 
       
   713     // Default tn for album
       
   714     tn = mTestObject->defaultThumbnail(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
   707     QVERIFY( tn != 0 );
   715     QVERIFY( tn != 0 );
   708     QVERIFY( tn->isNull() == false );
   716     QVERIFY( tn->isNull() == false );
   709     QCOMPARE( tn->cacheKey(), mTestObject->mDefaultTnVideo->cacheKey() );
       
   710     // Second call when tn has been loaded already.
   717     // Second call when tn has been loaded already.
   711     QVERIFY(tn == mTestObject->defaultThumbnail(TMPXItemId(1, 0)));
   718     QVERIFY(tn == mTestObject->defaultThumbnail(TMPXItemId(0, KVcxMvcMediaTypeAlbum)));
   712 
   719     QVERIFY(mTestObject->mDefaultThumbnails.count() == 2);
   713     // Tn for category
   720     
   714     const QIcon* tn2 = mTestObject->defaultThumbnail(TMPXItemId(0, 1));
   721     // Default tn for unknown category
   715     QVERIFY( tn2 != 0 );
   722     tn = mTestObject->defaultThumbnail(TMPXItemId(555, KVcxMvcMediaTypeCategory));
   716     QVERIFY( tn2->isNull() == false );
   723     QVERIFY( tn != 0 );
   717     QCOMPARE( tn2->cacheKey(), mTestObject->mDefaultTnCategory->cacheKey() );
   724     QVERIFY( tn->isNull() == false );
   718     // Second call when tn has been loaded already.
   725     // Second call when tn has been loaded already.
   719     QVERIFY(tn2 == mTestObject->defaultThumbnail(TMPXItemId(0, 1))); 
   726     QVERIFY(tn == mTestObject->defaultThumbnail(TMPXItemId(0, KVcxMvcMediaTypeCategory))); 
   720 
   727     // Still two because icon is same as default album 
   721     QVERIFY(tn2->cacheKey() != tn->cacheKey());
   728     QVERIFY(mTestObject->mDefaultThumbnails.count() == 2);
       
   729 
       
   730     // Default tn for downloads category
       
   731     tn = mTestObject->defaultThumbnail(TMPXItemId(KVcxMvcCategoryIdDownloads, KVcxMvcMediaTypeCategory));
       
   732     QVERIFY( tn != 0 );
       
   733     QVERIFY( tn->isNull() == false );
       
   734     // Second call when tn has been loaded already.
       
   735     QVERIFY(tn == mTestObject->defaultThumbnail(TMPXItemId(KVcxMvcCategoryIdDownloads, KVcxMvcMediaTypeCategory))); 
       
   736     QVERIFY(mTestObject->mDefaultThumbnails.count() == 3);
       
   737 
       
   738     // Default tn for captured category
       
   739     tn = mTestObject->defaultThumbnail(TMPXItemId(KVcxMvcCategoryIdCaptured, KVcxMvcMediaTypeCategory));
       
   740     QVERIFY( tn != 0 );
       
   741     QVERIFY( tn->isNull() == false );
       
   742     // Second call when tn has been loaded already.
       
   743     QVERIFY(tn == mTestObject->defaultThumbnail(TMPXItemId(KVcxMvcCategoryIdCaptured, KVcxMvcMediaTypeCategory))); 
       
   744     QVERIFY(mTestObject->mDefaultThumbnails.count() == 4);    
       
   745     
       
   746     cleanup();
       
   747     
       
   748 
       
   749     init();
       
   750 
       
   751     QVERIFY(mTestObject->mDefaultThumbnails.count() == 0);
       
   752 
       
   753     // Default tn for unknown category, tn not loaded
       
   754     tn = mTestObject->defaultThumbnail(TMPXItemId(555, KVcxMvcMediaTypeCategory));
       
   755     QVERIFY( tn != 0 );
       
   756     QVERIFY( tn->isNull() == false );
       
   757     // Second call when tn has been loaded already.
       
   758     QVERIFY(tn == mTestObject->defaultThumbnail(TMPXItemId(0, KVcxMvcMediaTypeCategory))); 
       
   759     // Still two because icon is same as default album 
       
   760     QVERIFY(mTestObject->mDefaultThumbnails.count() == 1);
   722     
   761     
   723     cleanup();
   762     cleanup();
   724 }
   763 }
   725 
   764 
   726 // ---------------------------------------------------------------------------
   765 // ---------------------------------------------------------------------------
   852 //
   891 //
   853 void TestVideoThumbnailData_p::testFreeThumbnailData()
   892 void TestVideoThumbnailData_p::testFreeThumbnailData()
   854 {
   893 {
   855     init();
   894     init();
   856 
   895 
   857     QVERIFY( mTestObject->getThumbnail(TMPXItemId(1, 0)) == mTestObject->mDefaultTnVideo );
   896     mTestObject->getThumbnail(TMPXItemId(1, 0));
   858     QVERIFY( mTestObject->getThumbnail(TMPXItemId(0, 1)) == mTestObject->mDefaultTnCategory );
   897     mTestObject->getThumbnail(TMPXItemId(0, 1));
       
   898     QVERIFY(mTestObject->mDefaultThumbnails.count() > 0);
       
   899     
   859     mTestObject->freeThumbnailData();
   900     mTestObject->freeThumbnailData();
   860     
   901     
   861     QVERIFY(!mTestObject->mBgFetchTimer->isActive());
   902     QVERIFY(!mTestObject->mBgFetchTimer->isActive());
   862     QVERIFY(!mTestObject->mTbnReportTimer->isActive());
   903     QVERIFY(!mTestObject->mTbnReportTimer->isActive());
   863     QCOMPARE(VideoThumbnailFetcher::mRequests.count(), 0);
   904     QCOMPARE(VideoThumbnailFetcher::mRequests.count(), 0);
   864     QCOMPARE(mTestObject->mReadyThumbnailMediaIds.count(), 0);
   905     QCOMPARE(mTestObject->mReadyThumbnailMediaIds.count(), 0);
   865     QCOMPARE(mTestObject->mThumbnailData.count(), 0);
   906     QCOMPARE(mTestObject->mThumbnailData.count(), 0);
   866     
   907     
   867     QVERIFY(mTestObject->mDefaultTnVideo == 0);
   908     QVERIFY(mTestObject->mDefaultThumbnails.count() == 0);
   868     QVERIFY(mTestObject->mDefaultTnVideo == 0);
       
   869 
   909 
   870     // Call again.
   910     // Call again.
   871     mTestObject->freeThumbnailData();
   911     mTestObject->freeThumbnailData();
   872 
   912 
   873     cleanup();
   913     cleanup();