videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp
changeset 62 0e1e938beb1a
parent 52 e3cecb93e76a
equal deleted inserted replaced
59:a76e86df7ccd 62:0e1e938beb1a
    13 *
    13 *
    14 * Description:   tester for methods in VideoListWidget
    14 * Description:   tester for methods in VideoListWidget
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 // Version : %version: 60 %
    18 // Version : %version: 62 %
    19 
    19 
    20 #include <qmap.h>
    20 #include <qmap.h>
    21 #include <vcxmyvideosdefs.h>
    21 #include <vcxmyvideosdefs.h>
    22 #include <mpxhbvideocommondefs.h>
    22 #include <mpxhbvideocommondefs.h>
    23 
    23 
    24 #include "hbglobal.h"
    24 #include "hbglobal.h"
    25 #include "hblistview.h"
    25 #include "hblistview.h"
    26 #include "hbview.h"
    26 #include "hbview.h"
    27 #include "videosortfilterproxymodel.h"
    27 #include "videoproxymodelgeneric.h"
    28 #include "hbscrollbar.h"
    28 #include "hbscrollbar.h"
    29 #include "hbmenu.h"
    29 #include "hbmenu.h"
    30 #include "hbmessagebox.h"
    30 #include "hbmessagebox.h"
    31 #include "hbinstance.h"
    31 #include "hbinstance.h"
    32 #include "hbmainwindow.h"
    32 #include "hbmainwindow.h"
    38 #include "videocollectionwrapperdata.h"
    38 #include "videocollectionwrapperdata.h"
    39 #include "hbmenudata.h"
    39 #include "hbmenudata.h"
    40 #include "videothumbnailtestdata.h"
    40 #include "videothumbnailtestdata.h"
    41 #include "videolistdatamodel.h"
    41 #include "videolistdatamodel.h"
    42 #include "videolistdatamodeldata.h"
    42 #include "videolistdatamodeldata.h"
    43 #include "videosortfilterproxymodeldata.h"
    43 #include "videoproxymodeldata.h"
    44 #include "videocollectionuiloader.h"
    44 #include "videocollectionuiloader.h"
    45 #include "videocollectionuiloaderdata.h"
    45 #include "videocollectionuiloaderdata.h"
    46 #include "videolistselectiondialog.h"
    46 #include "videolistselectiondialog.h"
    47 #include "videolistselectiondialogdata.h"
    47 #include "videolistselectiondialogdata.h"
    48 #include "hbmessageboxdata.h"
    48 #include "hbmessageboxdata.h"
   127 // ---------------------------------------------------------------------------
   127 // ---------------------------------------------------------------------------
   128 // setRowCount
   128 // setRowCount
   129 // ---------------------------------------------------------------------------
   129 // ---------------------------------------------------------------------------
   130 //
   130 //
   131 void TestListWidget::setRowCount(int count,
   131 void TestListWidget::setRowCount(int count,
   132     VideoCollectionCommon::TModelType type,
   132     VideoProxyModelGeneric *proxyModel,
   133     VideoListDataModel *model)
   133     VideoListDataModel *model)
   134 {
   134 {
   135     if (!model)
   135     if (!model)
   136     {
   136     {
   137         VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   137         proxyModel = VideoCollectionWrapper::instance().getAllVideosModel();
   138         VideoSortFilterProxyModel *model = wrapper.getModel(type);
   138         QVERIFY(proxyModel);
   139         QVERIFY(model);
       
   140         
   139         
   141         VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
   140         VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(proxyModel->sourceModel());
   142         QVERIFY(sourceModel);
   141         QVERIFY(sourceModel);
   143         
   142         
   144         VideoListDataModelData::setRowCount(*sourceModel, count);
   143         VideoListDataModelData::setRowCount(*sourceModel, count);
   145         sourceModel->initialize();
   144         sourceModel->initialize();
   146     }
   145     }
   193     
   192     
   194     VideoCollectionWrapperData::reset();
   193     VideoCollectionWrapperData::reset();
   195     HbMenuData::reset();
   194     HbMenuData::reset();
   196     VideoThumbnailTestData::reset();
   195     VideoThumbnailTestData::reset();
   197     VideoListDataModelData::reset();
   196     VideoListDataModelData::reset();
   198     VideoSortFilterProxyModelData::reset();
   197     VideoProxyModelData::reset();
   199     HbMessageBoxData::reset();
   198     HbMessageBoxData::reset();
   200 }
   199 }
   201  
   200  
   202 // ---------------------------------------------------------------------------
   201 // ---------------------------------------------------------------------------
   203 // testInitialized
   202 // testInitialized
   204 // ---------------------------------------------------------------------------
   203 // ---------------------------------------------------------------------------
   205 //
   204 //
   206 void TestListWidget::testInitialize()
   205 void TestListWidget::testInitialize()
   207 {
   206 {
   208     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   207     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   209     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   208     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   210 
   209 
   211     // succeed case ( new operator cannot be stubbed)
   210     // succeed case ( new operator cannot be stubbed)
   212     QVERIFY(mTestWidget->initialize(*model) == 0);
   211     QVERIFY(mTestWidget->initialize(*model) == 0);
   213 	QVERIFY(mTestWidget->mModel == model);  
   212 	QVERIFY(mTestWidget->mModel == model);  
   214 	QVERIFY(mTestWidget->mVideoServices == 0);
   213 	QVERIFY(mTestWidget->mVideoServices == 0);
   228 // ---------------------------------------------------------------------------
   227 // ---------------------------------------------------------------------------
   229 //
   228 //
   230 void TestListWidget::testActivate()
   229 void TestListWidget::testActivate()
   231 {
   230 {
   232     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   231     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   233     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   232     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   234 
   233 
   235     // no  model: fails
   234     // no  model: fails
   236     QVERIFY(mTestWidget->activate() == -1);
   235     QVERIFY(mTestWidget->activate() == -1);
   237     QCOMPARE(HbMenuData::mEnabledSetted, false);
   236     QCOMPARE(HbMenuData::mEnabledSetted, false);
   238     QCOMPARE(HbListView::mLatestVisibility, false);
   237     QCOMPARE(HbListView::mLatestVisibility, false);
   252     HbView *tmpView = new HbView();
   251     HbView *tmpView = new HbView();
   253     // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl 
   252     // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl 
   254     delete mTestWidget;
   253     delete mTestWidget;
   255     mTestWidget = 0;
   254     mTestWidget = 0;
   256     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
   255     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
   257     model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   256     model = wrapper.getAllVideosModel();
   258     
   257     
   259     QVERIFY(mTestWidget->initialize(*model, 0, VideoCollectionCommon::ELevelVideos) == 0);
   258     QVERIFY(mTestWidget->initialize(*model, 0, VideoCollectionCommon::ELevelVideos) == 0);
   260     hbInstance->allMainWindows().value(0)->addView(tmpView);
   259     hbInstance->allMainWindows().value(0)->addView(tmpView);
   261     QVERIFY(mTestWidget->activate() == 0);
   260     QVERIFY(mTestWidget->activate() == 0);
   262     QCOMPARE(HbMenuData::mEnabledSetted, true);
   261     QCOMPARE(HbMenuData::mEnabledSetted, true);
   272     
   271     
   273     // model exists, current view exists, level is ELevelAlbum
   272     // model exists, current view exists, level is ELevelAlbum
   274     delete mTestWidget;
   273     delete mTestWidget;
   275     mTestWidget = 0;
   274     mTestWidget = 0;
   276     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
   275     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
   277     model = wrapper.getModel(VideoCollectionCommon::EModelTypeCollectionContent);
   276     model = wrapper.getCollectionContentModel();
   278     tmpView->mNavigationAction = 0;
   277     tmpView->mNavigationAction = 0;
   279     QVERIFY(mTestWidget->initialize(*model) == 0);
   278     QVERIFY(mTestWidget->initialize(*model) == 0);
   280     QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
   279     QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
   281     QCOMPARE(HbMenuData::mEnabledSetted, true);
   280     QCOMPARE(HbMenuData::mEnabledSetted, true);
   282     QCOMPARE(HbListView::mLatestVisibility, true);
   281     QCOMPARE(HbListView::mLatestVisibility, true);
   341 // ---------------------------------------------------------------------------
   340 // ---------------------------------------------------------------------------
   342 //
   341 //
   343 void TestListWidget::testDeactivate()
   342 void TestListWidget::testDeactivate()
   344 {
   343 {
   345     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   344     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   346     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   345     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   347 
   346 
   348     HbListView::mLatestVisibility = true;
   347     HbListView::mLatestVisibility = true;
   349     VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 1;
   348     VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 1;
   350     
   349     
   351     mTestWidget->activate();
   350     mTestWidget->activate();
   390 // ---------------------------------------------------------------------------
   389 // ---------------------------------------------------------------------------
   391 //
   390 //
   392 void TestListWidget::testGetLevel()
   391 void TestListWidget::testGetLevel()
   393 {
   392 {
   394     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   393     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   395     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   394     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   396 
   395 
   397     mTestWidget->initialize(*model);
   396     mTestWidget->initialize(*model);
   398     
   397     
   399     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
   398     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
   400     QCOMPARE(mTestWidget->getLevel(), VideoCollectionCommon::ELevelVideos);
   399     QCOMPARE(mTestWidget->getLevel(), VideoCollectionCommon::ELevelVideos);
   405 // ---------------------------------------------------------------------------
   404 // ---------------------------------------------------------------------------
   406 //
   405 //
   407 void TestListWidget::testGetModel()
   406 void TestListWidget::testGetModel()
   408 {
   407 {
   409     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   408     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   410     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   409     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   411 
   410 
   412     QVERIFY(mTestWidget->getModel() == 0);
   411     QVERIFY(mTestWidget->getModel() == 0);
   413     
   412     
   414     HbListView::mVScrollBarIsNull = false;
   413     HbListView::mVScrollBarIsNull = false;
   415     HbListView::mReturnNullPrototype = false;
   414     HbListView::mReturnNullPrototype = false;
   424 //
   423 //
   425 void TestListWidget::testEmitActivated()
   424 void TestListWidget::testEmitActivated()
   426 {
   425 {
   427     VideoServices *videoServices = VideoServices::instance();
   426     VideoServices *videoServices = VideoServices::instance();
   428     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   427     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   429     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   428     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   430 
   429 
   431     QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
   430     QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
   432     QSignalSpy spysignalFileUri(mTestWidget, SIGNAL(fileUri(const QString&)));
   431     QSignalSpy spysignalFileUri(mTestWidget, SIGNAL(fileUri(const QString&)));
   433     QSignalSpy spysignalActivated(mTestWidget, SIGNAL(activated(const QModelIndex&)));
   432     QSignalSpy spysignalActivated(mTestWidget, SIGNAL(activated(const QModelIndex&)));
   434     
   433     
   435     mTestWidget->initialize(*model);
   434     mTestWidget->initialize(*model);
   436     mTestWidget->activate();
   435     mTestWidget->activate();
   437     
   436     
   438     VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
   437     VideoProxyModelData::mLastItemId = TMPXItemId::InvalidId();
   439     TMPXItemId savedId = TMPXItemId(1,1);
   438     TMPXItemId savedId = TMPXItemId(1,1);
   440     VideoSortFilterProxyModelData::mItemIds.clear();
   439     VideoProxyModelData::mItemIds.clear();
   441     VideoSortFilterProxyModelData::mItemIds.append(savedId);
   440     VideoProxyModelData::mItemIds.append(savedId);
   442     QVariant data = QString("test");
   441     QVariant data = QString("test");
   443     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
   442     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
   444     setRowCount(2);
   443     setRowCount(2);
   445     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0,0));
   444     VideoProxyModelData::mItemIds.append(TMPXItemId(0,0));
   446     
   445     
   447     QModelIndex fetchIndex = model->index(0, 0, QModelIndex());
   446     QModelIndex fetchIndex = model->index(0, 0, QModelIndex());
   448     
   447     
   449     // selection mode == HbAbstractItemView::MultiSelection
   448     // selection mode == HbAbstractItemView::MultiSelection
   450     mTestWidget->setSelectionMode(HbAbstractItemView::MultiSelection);
   449     mTestWidget->setSelectionMode(HbAbstractItemView::MultiSelection);
   451     mTestWidget->callEmiteActivated(fetchIndex);
   450     mTestWidget->callEmiteActivated(fetchIndex);
   452     QVERIFY(spysignal.count() == 0);
   451     QVERIFY(spysignal.count() == 0);
   453     QVERIFY(spysignalFileUri.count() == 0);
   452     QVERIFY(spysignalFileUri.count() == 0);
   454     QVERIFY(spysignalActivated.count() == 1);
   453     QVERIFY(spysignalActivated.count() == 1);
   455     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   454     QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   456     spysignal.clear();
   455     spysignal.clear();
   457     spysignalFileUri.clear();
   456     spysignalFileUri.clear();
   458     spysignalActivated.clear();
   457     spysignalActivated.clear();
   459     
   458     
   460     // modelIndex is not valid
   459     // modelIndex is not valid
   462     fetchIndex = QModelIndex();
   461     fetchIndex = QModelIndex();
   463     mTestWidget->callEmiteActivated(fetchIndex);
   462     mTestWidget->callEmiteActivated(fetchIndex);
   464     QVERIFY(spysignal.count() == 0);
   463     QVERIFY(spysignal.count() == 0);
   465     QVERIFY(spysignalFileUri.count() == 0);
   464     QVERIFY(spysignalFileUri.count() == 0);
   466     QVERIFY(spysignalActivated.count() == 0);
   465     QVERIFY(spysignalActivated.count() == 0);
   467     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   466     QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   468    
   467    
   469     // current level is ELevelCategory
   468     // current level is ELevelCategory
   470     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
   469     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
   471     // --> variant is not valid 
   470     // --> variant is not valid 
   472     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, QVariant());
   471     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, QVariant());
   473     fetchIndex = model->index(0, 0, QModelIndex());
   472     fetchIndex = model->index(0, 0, QModelIndex());
   474     mTestWidget->callEmiteActivated(fetchIndex);
   473     mTestWidget->callEmiteActivated(fetchIndex);
   475     QVERIFY(spysignal.count() == 0);
   474     QVERIFY(spysignal.count() == 0);
   476     QVERIFY(spysignalFileUri.count() == 0);
   475     QVERIFY(spysignalFileUri.count() == 0);
   477     QVERIFY(spysignalActivated.count() == 0);
   476     QVERIFY(spysignalActivated.count() == 0);
   478     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   477     QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   479     
   478     
   480 
   479 
   481     // --> variant is valid, collectionOpened -signal should be emitted
   480     // --> variant is valid, collectionOpened -signal should be emitted
   482     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
   481     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
   483     fetchIndex = model->index(1, 0, QModelIndex());
   482     fetchIndex = model->index(1, 0, QModelIndex());
   484     mTestWidget->callEmiteActivated(fetchIndex);
   483     mTestWidget->callEmiteActivated(fetchIndex);
   485     QVERIFY(spysignal.count() == 1);
   484     QVERIFY(spysignal.count() == 1);
   486     QVERIFY(spysignalFileUri.count() == 0);
   485     QVERIFY(spysignalFileUri.count() == 0);
   487     QVERIFY(spysignalActivated.count() == 0);
   486     QVERIFY(spysignalActivated.count() == 0);
   488     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   487     QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   489   
   488   
   490     spysignal.clear();
   489     spysignal.clear();
   491     spysignalFileUri.clear();
   490     spysignalFileUri.clear();
   492     spysignalActivated.clear();
   491     spysignalActivated.clear();
   493     
   492     
   500     fetchIndex = model->index(5, 0, QModelIndex());
   499     fetchIndex = model->index(5, 0, QModelIndex());
   501     mTestWidget->callEmiteActivated(fetchIndex);
   500     mTestWidget->callEmiteActivated(fetchIndex);
   502     QVERIFY(spysignal.count() == 0);
   501     QVERIFY(spysignal.count() == 0);
   503     QVERIFY(spysignalFileUri.count() == 0);
   502     QVERIFY(spysignalFileUri.count() == 0);
   504     QVERIFY(spysignalActivated.count() == 0);
   503     QVERIFY(spysignalActivated.count() == 0);
   505     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   504     QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   506     
   505     
   507     // current level is not ELevelCategory
   506     // current level is not ELevelCategory
   508     // mVideoServices, variant gotten is valid
   507     // mVideoServices, variant gotten is valid
   509     mTestWidget->mService = VideoServices::EUriFetcher;
   508     mTestWidget->mService = VideoServices::EUriFetcher;
   510     VideoListDataModelData::setData(VideoCollectionCommon::KeyFilePath, data);
   509     VideoListDataModelData::setData(VideoCollectionCommon::KeyFilePath, data);
   511     fetchIndex = model->index(0, 0, QModelIndex());
   510     fetchIndex = model->index(0, 0, QModelIndex());
   512     mTestWidget->callEmiteActivated(fetchIndex);
   511     mTestWidget->callEmiteActivated(fetchIndex);
   513     QVERIFY(spysignal.count() == 0);
   512     QVERIFY(spysignal.count() == 0);
   514     QVERIFY(spysignalFileUri.count() == 1);
   513     QVERIFY(spysignalFileUri.count() == 1);
   515     QVERIFY(spysignalActivated.count() == 0);
   514     QVERIFY(spysignalActivated.count() == 0);
   516     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   515     QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   517     
   516     
   518     spysignal.clear();
   517     spysignal.clear();
   519     spysignalFileUri.clear();
   518     spysignalFileUri.clear();
   520     spysignalActivated.clear();
   519     spysignalActivated.clear();
   521     
   520     
   525     fetchIndex = model->index(0, 0, QModelIndex());
   524     fetchIndex = model->index(0, 0, QModelIndex());
   526     mTestWidget->callEmiteActivated(fetchIndex);
   525     mTestWidget->callEmiteActivated(fetchIndex);
   527     QVERIFY(spysignal.count() == 0);
   526     QVERIFY(spysignal.count() == 0);
   528     QVERIFY(spysignalFileUri.count() == 0);
   527     QVERIFY(spysignalFileUri.count() == 0);
   529     QVERIFY(spysignalActivated.count() == 0);
   528     QVERIFY(spysignalActivated.count() == 0);
   530     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
   529     QVERIFY(VideoProxyModelData::mLastItemId == savedId);
   531     
   530     
   532     // context menu is visible
   531     // context menu is visible
   533     if (!mTestWidget->mContextMenu)
   532     if (!mTestWidget->mContextMenu)
   534     {
   533     {
   535         mTestWidget->mContextMenu = new HbMenu;
   534         mTestWidget->mContextMenu = new HbMenu;
   536     }
   535     }
   537     mTestWidget->mContextMenu->show();
   536     mTestWidget->mContextMenu->show();
   538     VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
   537     VideoProxyModelData::mLastItemId = TMPXItemId::InvalidId();
   539     fetchIndex = model->index(0, 0, QModelIndex());
   538     fetchIndex = model->index(0, 0, QModelIndex());
   540     mTestWidget->callEmiteActivated(fetchIndex);
   539     mTestWidget->callEmiteActivated(fetchIndex);
   541     QVERIFY(spysignal.count() == 0);
   540     QVERIFY(spysignal.count() == 0);
   542     QVERIFY(spysignalFileUri.count() == 0);
   541     QVERIFY(spysignalFileUri.count() == 0);
   543     QVERIFY(spysignalActivated.count() == 0);
   542     QVERIFY(spysignalActivated.count() == 0);
   544     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   543     QVERIFY(VideoProxyModelData::mLastItemId == TMPXItemId::InvalidId());
   545     
   544     
   546     // final cleanup
   545     // final cleanup
   547     videoServices->decreaseReferenceCount();
   546     videoServices->decreaseReferenceCount();
   548 }
   547 }
   549 
   548 
   552 // ---------------------------------------------------------------------------
   551 // ---------------------------------------------------------------------------
   553 //
   552 //
   554 void TestListWidget::testLongPressedSlot()
   553 void TestListWidget::testLongPressedSlot()
   555 {
   554 {
   556     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   555     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   557     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   556     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   558 
   557 
   559     QVariant data = QString("test");
   558     QVariant data = QString("test");
   560     // correct data to index 0
   559     // correct data to index 0
   561     VideoListDataModelData::setData(Qt::DisplayRole, data);
   560     VideoListDataModelData::setData(Qt::DisplayRole, data);
   562     setRowCount(2);
   561     setRowCount(2);
   595     // item at position is not null, returns current index is valid
   594     // item at position is not null, returns current index is valid
   596     item->mModelIndex = model->index(0, 0, QModelIndex());
   595     item->mModelIndex = model->index(0, 0, QModelIndex());
   597     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
   596     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
   598     
   597     
   599     // model is null
   598     // model is null
   600     VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
   599     VideoProxyModelGeneric *tmp = mTestWidget->mModel;
   601     mTestWidget->mModel = 0;
   600     mTestWidget->mModel = 0;
   602     mTestWidget->callLongPressedSlot(item, point);
   601     mTestWidget->callLongPressedSlot(item, point);
   603     QVERIFY(HbMenuData::mExecPoint != point);
   602     QVERIFY(HbMenuData::mExecPoint != point);
   604     mTestWidget->mModel = tmp;
   603     mTestWidget->mModel = tmp;
   605     
   604     
   606     VideoServices *videoServices = VideoServices::instance();
   605     VideoServices *videoServices = VideoServices::instance();
   607     
   606     
   608     // gotten id != KVcxMvcMediaTypeVideo, service exists true and id != KVcxMvcMediaTypeAlbum
   607     // gotten id != KVcxMvcMediaTypeVideo, service exists true and id != KVcxMvcMediaTypeAlbum
   609     VideoSortFilterProxyModelData::mItemIds.clear();
   608     VideoProxyModelData::mItemIds.clear();
   610     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
   609     VideoProxyModelData::mItemIds.append(TMPXItemId(1,1));
   611     mTestWidget->mVideoServices = videoServices;
   610     mTestWidget->mVideoServices = videoServices;
   612     mTestWidget->callLongPressedSlot(item, point);
   611     mTestWidget->callLongPressedSlot(item, point);
   613     QVERIFY(HbMenuData::mExecPoint == point);
   612     QVERIFY(HbMenuData::mExecPoint == point);
   614     
   613     
   615     // gotten id != KVcxMvcMediaTypeVideo, service does not exists and id !=  KVcxMvcMediaTypeAlbum
   614     // gotten id != KVcxMvcMediaTypeVideo, service does not exists and id !=  KVcxMvcMediaTypeAlbum
   616     VideoSortFilterProxyModelData::mItemIds.clear();
   615     VideoProxyModelData::mItemIds.clear();
   617     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
   616     VideoProxyModelData::mItemIds.append(TMPXItemId(1,1));
   618     mTestWidget->mVideoServices = 0;
   617     mTestWidget->mVideoServices = 0;
   619     mTestWidget->callLongPressedSlot(item, point);
   618     mTestWidget->callLongPressedSlot(item, point);
   620     QVERIFY(HbMenuData::mExecPoint == point);
   619     QVERIFY(HbMenuData::mExecPoint == point);
   621     
   620     
   622     // gotten id != KVcxMvcMediaTypeVideo, service service does not exists and id ==  KVcxMvcMediaTypeAlbum
   621     // gotten id != KVcxMvcMediaTypeVideo, service service does not exists and id ==  KVcxMvcMediaTypeAlbum
   623     VideoSortFilterProxyModelData::mItemIds.clear();
   622     VideoProxyModelData::mItemIds.clear();
   624     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,2));
   623     VideoProxyModelData::mItemIds.append(TMPXItemId(1,2));
   625     mTestWidget->mVideoServices = 0;
   624     mTestWidget->mVideoServices = 0;
   626     mTestWidget->callLongPressedSlot(item, point);
   625     mTestWidget->callLongPressedSlot(item, point);
   627     QVERIFY(HbMenuData::mExecPoint == point);
   626     QVERIFY(HbMenuData::mExecPoint == point);
   628     HbMenuData::mExecPoint = QPointF();
   627     HbMenuData::mExecPoint = QPointF();
   629     
   628     
   630     // gotten id == KVcxMvcMediaTypeVideo
   629     // gotten id == KVcxMvcMediaTypeVideo
   631     VideoSortFilterProxyModelData::mItemIds.clear();
   630     VideoProxyModelData::mItemIds.clear();
   632     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,02));
   631     VideoProxyModelData::mItemIds.append(TMPXItemId(1,02));
   633     mTestWidget->mVideoServices = 0;
   632     mTestWidget->mVideoServices = 0;
   634     mTestWidget->callLongPressedSlot(item, point);
   633     mTestWidget->callLongPressedSlot(item, point);
   635     QVERIFY(HbMenuData::mExecPoint == point);
   634     QVERIFY(HbMenuData::mExecPoint == point);
   636     HbMenuData::mExecPoint = QPointF();
   635     HbMenuData::mExecPoint = QPointF();
   637     
   636     
   732 // ---------------------------------------------------------------------------
   731 // ---------------------------------------------------------------------------
   733 //
   732 //
   734 void TestListWidget::testSetContextMenu()
   733 void TestListWidget::testSetContextMenu()
   735 {
   734 {
   736     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   735     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   737     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   736     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   738     VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
   737     VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
   739     VideoSortFilterProxyModelData::mItemIds.clear();
   738     VideoProxyModelData::mItemIds.clear();
   740     mTestWidget->initialize(*model);
   739     mTestWidget->initialize(*model);
   741     
   740     
   742     setRowCount(1);
   741     setRowCount(1);
   743     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
   742     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
   744     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
   743     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
   745      
   744      
   746     TMPXItemId itemId;
   745     TMPXItemId itemId;
   747     QPointF point(1,1);
   746     QPointF point(1,1);
   748     itemId.iId2 = 0;
   747     itemId.iId2 = 0;
   749     VideoSortFilterProxyModelData::mItemIds.append(itemId);
   748     VideoProxyModelData::mItemIds.append(itemId);
   750 
   749 
   751     HbAbstractViewItem *item = new HbAbstractViewItem();
   750     HbAbstractViewItem *item = new HbAbstractViewItem();
   752     item->mModelIndex = model->index(0, 0, QModelIndex());
   751     item->mModelIndex = model->index(0, 0, QModelIndex());
   753     
   752     
   754     // no context menu
   753     // no context menu
   816         ++iter;
   815         ++iter;
   817     }
   816     }
   818     QVERIFY(visibleCount == 1);
   817     QVERIFY(visibleCount == 1);
   819     
   818     
   820     // service does not exists , mpxId.iId2 == KVcxMvcMediaTypeAlbum
   819     // service does not exists , mpxId.iId2 == KVcxMvcMediaTypeAlbum
   821     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,KVcxMvcMediaTypeAlbum));
   820     VideoProxyModelData::mItemIds.append(TMPXItemId(1,KVcxMvcMediaTypeAlbum));
   822     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
   821     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
   823     item->mModelIndex = model->index(1, 0, QModelIndex());
   822     item->mModelIndex = model->index(1, 0, QModelIndex());
   824     mTestWidget->mVideoServices = 0;
   823     mTestWidget->mVideoServices = 0;
   825     mTestWidget->callLongPressedSlot(item, point);
   824     mTestWidget->callLongPressedSlot(item, point);
   826     iter = mTestWidget->mContextMenuActions.begin();
   825     iter = mTestWidget->mContextMenuActions.begin();
   858     // service does exists
   857     // service does exists
   859     // object needs to be resetted for the service use
   858     // object needs to be resetted for the service use
   860     cleanup();
   859     cleanup();
   861     init();
   860     init();
   862     setRowCount(1);
   861     setRowCount(1);
   863     model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   862     model = wrapper.getAllVideosModel();
   864     mTestWidget->mVideoServices = videoServices;
   863     mTestWidget->mVideoServices = videoServices;
   865     videoServices->mCurrentService = VideoServices::EUriFetcher;
   864     videoServices->mCurrentService = VideoServices::EUriFetcher;
   866     mTestWidget->initialize(*model, videoServices);
   865     mTestWidget->initialize(*model, videoServices);
   867     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
   866     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
   868     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
   867     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
   869     
   868     
   870     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
   869     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
   871     VideoSortFilterProxyModelData::mItemIds.append(itemId);
   870     VideoProxyModelData::mItemIds.append(itemId);
   872 
   871 
   873     mTestWidget->callLongPressedSlot(item, point);
   872     mTestWidget->callLongPressedSlot(item, point);
   874     iter = mTestWidget->mContextMenuActions.begin();
   873     iter = mTestWidget->mContextMenuActions.begin();
   875     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
   874     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
   876     visibleCount = 0;
   875     visibleCount = 0;
   907     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(doDelayedsSlot()));
   906     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(doDelayedsSlot()));
   908     
   907     
   909     //dodelayed calls create context menu, which is already tested at
   908     //dodelayed calls create context menu, which is already tested at
   910     // testSetContextMenu -method, these tests are just for coverity's sake
   909     // testSetContextMenu -method, these tests are just for coverity's sake
   911     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   910     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   912     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   911     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   913     mTestWidget->initialize(*model);
   912     mTestWidget->initialize(*model);
   914     
   913     
   915     delete mTestWidget->mContextMenu;
   914     delete mTestWidget->mContextMenu;
   916     mTestWidget->mContextMenu = 0;   
   915     mTestWidget->mContextMenu = 0;   
   917     int visibleCount = 0;
   916     int visibleCount = 0;
   935 // ---------------------------------------------------------------------------
   934 // ---------------------------------------------------------------------------
   936 //
   935 //
   937 void TestListWidget::testDeleteItemSlot()
   936 void TestListWidget::testDeleteItemSlot()
   938 {
   937 {
   939     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   938     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
   940     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
   939     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
   941 
   940 
   942     HbMessageBoxData::mLatestTxt = "";
   941     HbMessageBoxData::mLatestTxt = "";
   943     VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
   942     VideoProxyModelData::mLastIndex = QModelIndex();
   944     mTestWidget->initialize(*model);    
   943     mTestWidget->initialize(*model);    
   945     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(deleteItemSlot()));    
   944     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(deleteItemSlot()));    
   946     
   945     
   947     HbMessageBox *box = new HbMessageBox(); 
   946     HbMessageBox *box = new HbMessageBox(); 
   948     
   947     
   949     // no model
   948     // no model
   950     VideoListDataModelData::mDataAccessCount = 0;
   949     VideoListDataModelData::mDataAccessCount = 0;
   951     VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
   950     VideoProxyModelGeneric *tmp = mTestWidget->mModel;
   952     mTestWidget->mModel = 0;
   951     mTestWidget->mModel = 0;
   953     emit testSignal();
   952     emit testSignal();
   954     QVERIFY(VideoListDataModelData::dataAccessCount() == 0);
   953     QVERIFY(VideoListDataModelData::dataAccessCount() == 0);
   955     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
   954     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
   956     QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
   955     QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
   957     setRowCount(1);
   956     setRowCount(1);
   958     mTestWidget->mModel = tmp;
   957     mTestWidget->mModel = tmp;
   959     
   958     
   960     // data fetched from item is invalid
   959     // data fetched from item is invalid
   961     VideoListDataModelData::mDataAccessCount = 0;
   960     VideoListDataModelData::mDataAccessCount = 0;
   962     setRowCount(1);
   961     setRowCount(1);
   963     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex()); 
   962     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex()); 
   964     emit testSignal();
   963     emit testSignal();
   965     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
   964     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
   966     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
   965     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
   967     QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
   966     QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
   968     setRowCount(0);
   967     setRowCount(0);
   969     
   968     
   970     // data is valid
   969     // data is valid
   971     VideoListDataModelData::mDataAccessCount = 0;
   970     VideoListDataModelData::mDataAccessCount = 0;
   972     setRowCount(1);
   971     setRowCount(1);
   978     HbMessageBoxData::mQuestionReturnValue = false;
   977     HbMessageBoxData::mQuestionReturnValue = false;
   979     emit testSignal();
   978     emit testSignal();
   980     box->emitDialogFinished(mTestWidget, SLOT(deleteItemDialogFinished(int)), HbMessageBox::No);
   979     box->emitDialogFinished(mTestWidget, SLOT(deleteItemDialogFinished(int)), HbMessageBox::No);
   981     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
   980     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
   982     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
   981     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
   983     QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
   982     QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
   984     HbMessageBoxData::mLatestTxt = "";
   983     HbMessageBoxData::mLatestTxt = "";
   985     setRowCount(1);
   984     setRowCount(1);
   986     data = QString("test");
   985     data = QString("test");
   987     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
   986     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
   988     
   987     
   989     // messagebox question returns true
   988     // messagebox question returns true
   990     VideoListDataModelData::mDataAccessCount = 0;
   989     VideoListDataModelData::mDataAccessCount = 0;
   991     VideoSortFilterProxyModelData::mDeleteItemsFails = false;
   990     VideoProxyModelData::mDeleteItemsFails = false;
   992     HbMessageBoxData::mQuestionReturnValue = true;
   991     HbMessageBoxData::mQuestionReturnValue = true;
   993     emit testSignal();
   992     emit testSignal();
   994     box->emitDialogFinished(mTestWidget, SLOT(deleteItemDialogFinished(int)), HbMessageBox::Yes);
   993     box->emitDialogFinished(mTestWidget, SLOT(deleteItemDialogFinished(int)), HbMessageBox::Yes);
   995     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
   994     QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
   996     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
   995     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
   997     QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
   996     QVERIFY(VideoProxyModelData::mLastIndex.row() == 0);
   998     
   997     
   999     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(deleteItemSlot()));
   998     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(deleteItemSlot()));
  1000 }
   999 }
  1001  
  1000  
  1002 // ---------------------------------------------------------------------------
  1001 // ---------------------------------------------------------------------------
  1004 // ---------------------------------------------------------------------------
  1003 // ---------------------------------------------------------------------------
  1005 //
  1004 //
  1006 void TestListWidget::testRenameSlot()
  1005 void TestListWidget::testRenameSlot()
  1007 {
  1006 {
  1008     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1007     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1009     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1008     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1010     
  1009     
  1011     HbInputDialog *dialog = new HbInputDialog();
  1010     HbInputDialog *dialog = new HbInputDialog();
  1012     
  1011     
  1013     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(renameSlot()));
  1012     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(renameSlot()));
  1014     
  1013     
  1015     VideoSortFilterProxyModelData::reset();
  1014     VideoProxyModelData::reset();
  1016     VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
  1015     VideoProxyModelData::mLastIndex = QModelIndex();
  1017     mTestWidget->initialize(*model);
  1016     mTestWidget->initialize(*model);
  1018     
  1017     
  1019     // Good case
  1018     // Good case
  1020     VideoSortFilterProxyModelData::mLastItemNameInRename = "";
  1019     VideoProxyModelData::mLastItemNameInRename = "";
  1021     HbInputDialog::mValueReturnValue = "renamedVideo";
  1020     HbInputDialog::mValueReturnValue = "renamedVideo";
  1022     HbInputDialog::mValueCallCount = 0;
  1021     HbInputDialog::mValueCallCount = 0;
  1023     HbInputDialog::mOpenCallCount = 0;
  1022     HbInputDialog::mOpenCallCount = 0;
  1024     setRowCount(1);
  1023     setRowCount(1);
  1025     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
  1024     VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
  1026     QVariant data = QString("albumName");
  1025     QVariant data = QString("albumName");
  1027     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1026     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1028     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1027     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1029     emit testSignal();
  1028     emit testSignal();
  1030     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
  1029     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
  1034            
  1033            
  1035     // New name is same as previous
  1034     // New name is same as previous
  1036     HbInputDialog::mValueReturnValue = "albumName";
  1035     HbInputDialog::mValueReturnValue = "albumName";
  1037     HbInputDialog::mValueCallCount = 0;
  1036     HbInputDialog::mValueCallCount = 0;
  1038     HbInputDialog::mOpenCallCount = 0;
  1037     HbInputDialog::mOpenCallCount = 0;
  1039     VideoSortFilterProxyModelData::mLastItemNameInRename = "";
  1038     VideoProxyModelData::mLastItemNameInRename = "";
  1040     data = QString("albumName");
  1039     data = QString("albumName");
  1041     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1040     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1042     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1041     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1043     emit testSignal();
  1042     emit testSignal();
  1044     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
  1043     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
  1045     QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
  1044     QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
  1046     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
  1045     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
  1047     QVERIFY(HbInputDialog::mValueCallCount == 1);
  1046     QVERIFY(HbInputDialog::mValueCallCount == 1);
  1048     
  1047     
  1049     // Dialog canceled 
  1048     // Dialog canceled 
  1050     HbInputDialog::mValueReturnValue = "";
  1049     HbInputDialog::mValueReturnValue = "";
  1051     HbInputDialog::mValueCallCount = 0;
  1050     HbInputDialog::mValueCallCount = 0;
  1052     HbInputDialog::mOpenCallCount = 0;
  1051     HbInputDialog::mOpenCallCount = 0;
  1053     VideoSortFilterProxyModelData::mLastItemNameInRename = "";
  1052     VideoProxyModelData::mLastItemNameInRename = "";
  1054     data = QString("albumName");
  1053     data = QString("albumName");
  1055     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1054     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1056     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1055     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1057     emit testSignal();
  1056     emit testSignal();
  1058     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 1);
  1057     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 1);
  1059     QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
  1058     QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
  1060     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
  1059     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
  1061     QVERIFY(HbInputDialog::mValueCallCount == 0);
  1060     QVERIFY(HbInputDialog::mValueCallCount == 0);
  1062     
  1061     
  1063     // New name is empty.
  1062     // New name is empty.
  1064     VideoSortFilterProxyModelData::mLastItemNameInRename = "";
  1063     VideoProxyModelData::mLastItemNameInRename = "";
  1065     HbInputDialog::mValueReturnValue = "";
  1064     HbInputDialog::mValueReturnValue = "";
  1066     HbInputDialog::mValueCallCount = 0;
  1065     HbInputDialog::mValueCallCount = 0;
  1067     HbInputDialog::mOpenCallCount = 0;
  1066     HbInputDialog::mOpenCallCount = 0;
  1068     data = QString("albumName");
  1067     data = QString("albumName");
  1069     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1068     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1070     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1069     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1071     emit testSignal();
  1070     emit testSignal();
  1072     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
  1071     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
  1073     QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
  1072     QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
  1074     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
  1073     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
  1075     QVERIFY(HbInputDialog::mValueCallCount == 1);
  1074     QVERIFY(HbInputDialog::mValueCallCount == 1);
  1076     
  1075     
  1077     // Item is video
  1076     // Item is video
  1078     VideoSortFilterProxyModelData::mItemIds.clear();
  1077     VideoProxyModelData::mItemIds.clear();
  1079     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeVideo));
  1078     VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeVideo));
  1080     VideoSortFilterProxyModelData::mLastItemNameInRename = "";
  1079     VideoProxyModelData::mLastItemNameInRename = "";
  1081     HbInputDialog::mValueReturnValue = "renamedVideo";
  1080     HbInputDialog::mValueReturnValue = "renamedVideo";
  1082     HbInputDialog::mValueCallCount = 0;
  1081     HbInputDialog::mValueCallCount = 0;
  1083     HbInputDialog::mOpenCallCount = 0;
  1082     HbInputDialog::mOpenCallCount = 0;
  1084     data = QString("oldVideoNama");
  1083     data = QString("oldVideoNama");
  1085     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1084     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1086     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1085     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1087     emit testSignal();
  1086     emit testSignal();
  1088     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
  1087     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
  1089     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
  1088     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
  1090     QVERIFY(HbInputDialog::mValueCallCount == 1);
  1089     QVERIFY(HbInputDialog::mValueCallCount == 1);
  1091     QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "renamedVideo");
  1090     QVERIFY(VideoProxyModelData::mLastItemNameInRename == "renamedVideo");
  1092 
  1091 
       
  1092     // Item is album
       
  1093     VideoProxyModelData::mItemIds.clear();
       
  1094     VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
       
  1095     VideoProxyModelData::mLastItemNameInRename = "";
       
  1096     HbInputDialog::mValueReturnValue = "renamedAlbum";
       
  1097     HbInputDialog::mValueCallCount = 0;
       
  1098     HbInputDialog::mOpenCallCount = 0;
       
  1099     data = QString("oldAlbumName");
       
  1100     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
       
  1101     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
       
  1102     emit testSignal();
       
  1103     dialog->emitDialogFinished(mTestWidget, SLOT(renameDialogFinished(HbAction *)), 0);
       
  1104     QCOMPARE(HbInputDialog::mOpenCallCount, 1);
       
  1105     QVERIFY(HbInputDialog::mValueCallCount == 1);
       
  1106     QVERIFY(VideoProxyModelData::mLastItemNameInRename == "renamedAlbum");
       
  1107     
       
  1108     // Item is category
       
  1109     VideoProxyModelData::mItemIds.clear();
       
  1110     VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeCategory));
       
  1111     VideoProxyModelData::mLastItemNameInRename = "";
       
  1112     HbInputDialog::mValueReturnValue = "notallowed";
       
  1113     HbInputDialog::mValueCallCount = 0;
       
  1114     HbInputDialog::mOpenCallCount = 0;
       
  1115     data = QString("oldCategoryName");
       
  1116     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
       
  1117     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
       
  1118     emit testSignal();
       
  1119     QCOMPARE(HbInputDialog::mOpenCallCount, 0);
       
  1120     QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");    
       
  1121     
  1093     // No model
  1122     // No model
  1094     VideoSortFilterProxyModelData::mLastItemNameInRename = "";
  1123     VideoProxyModelData::mLastItemNameInRename = "";
  1095     HbInputDialog::mValueReturnValue = "";
  1124     HbInputDialog::mValueReturnValue = "";
  1096     HbInputDialog::mValueCallCount = 0;
  1125     HbInputDialog::mValueCallCount = 0;
  1097     HbInputDialog::mOpenCallCount = 0;
  1126     HbInputDialog::mOpenCallCount = 0;
  1098     VideoSortFilterProxyModelData::mItemIds.clear();
  1127     VideoProxyModelData::mItemIds.clear();
  1099     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
  1128     VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
  1100     data = QString("albumName");
  1129     data = QString("albumName");
  1101     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1130     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1102     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1131     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1103     VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
  1132     VideoProxyModelGeneric *tmp = mTestWidget->mModel;
  1104     mTestWidget->mModel = 0;    
  1133     mTestWidget->mModel = 0;    
  1105     emit testSignal();
  1134     emit testSignal();
  1106     mTestWidget->mModel = tmp;    
  1135     mTestWidget->mModel = tmp;    
  1107     QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
  1136     QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
  1108     QCOMPARE(HbInputDialog::mOpenCallCount, 0);
  1137     QCOMPARE(HbInputDialog::mOpenCallCount, 0);
  1109     
  1138     
  1110     // Variant data is invalid
  1139     // Variant data is invalid
  1111     VideoSortFilterProxyModelData::mLastItemNameInRename = "";
  1140     VideoProxyModelData::mLastItemNameInRename = "";
  1112     HbInputDialog::mValueReturnValue = "renamedVideo";
  1141     HbInputDialog::mValueReturnValue = "renamedVideo";
  1113     HbInputDialog::mValueCallCount = 0;
  1142     HbInputDialog::mValueCallCount = 0;
  1114     HbInputDialog::mOpenCallCount = 0;
  1143     HbInputDialog::mOpenCallCount = 0;
  1115     VideoSortFilterProxyModelData::mItemIds.clear();
  1144     VideoProxyModelData::mItemIds.clear();
  1116     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
  1145     VideoProxyModelData::mItemIds.append(TMPXItemId(0, KVcxMvcMediaTypeAlbum));
  1117     data = QVariant();
  1146     data = QVariant();
  1118     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1147     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, data);
  1119     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1148     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1120     emit testSignal();
  1149     emit testSignal();
  1121     QVERIFY(VideoSortFilterProxyModelData::mLastItemNameInRename == "");
  1150     QVERIFY(VideoProxyModelData::mLastItemNameInRename == "");
  1122     QCOMPARE(HbInputDialog::mOpenCallCount, 0);
  1151     QCOMPARE(HbInputDialog::mOpenCallCount, 0);
  1123     
  1152     
  1124     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(renameSlot()));
  1153     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(renameSlot()));
  1125 }
  1154 }
  1126   
  1155   
  1132 {
  1161 {
  1133     // testEmitActivated has already tested the doEmitActivated functionality.
  1162     // testEmitActivated has already tested the doEmitActivated functionality.
  1134     // Just verify here, that the openItemSlot calls doEmitActivated.
  1163     // Just verify here, that the openItemSlot calls doEmitActivated.
  1135     
  1164     
  1136     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1165     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1137     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1166     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1138     mTestWidget->initialize(*model);
  1167     mTestWidget->initialize(*model);
  1139     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openItemSlot()));
  1168     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openItemSlot()));
  1140     setRowCount(1);
  1169     setRowCount(1);
  1141     TMPXItemId savedId = TMPXItemId(1,1);
  1170     TMPXItemId savedId = TMPXItemId(1,1);
  1142     VideoSortFilterProxyModelData::mItemIds.clear();
  1171     VideoProxyModelData::mItemIds.clear();
  1143     VideoSortFilterProxyModelData::mItemIds.append(savedId);
  1172     VideoProxyModelData::mItemIds.append(savedId);
  1144     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1173     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1145     
  1174     
  1146     // Making the context menu visible ensures that the doEmitActivated is called
  1175     // Making the context menu visible ensures that the doEmitActivated is called
  1147     // instead of just emitActivated, as emitActivated does nothing if context menu
  1176     // instead of just emitActivated, as emitActivated does nothing if context menu
  1148     // is already visible.
  1177     // is already visible.
  1152     }
  1181     }
  1153     mTestWidget->mContextMenu->show();
  1182     mTestWidget->mContextMenu->show();
  1154     
  1183     
  1155     emit testSignal();
  1184     emit testSignal();
  1156     
  1185     
  1157     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
  1186     QVERIFY(VideoProxyModelData::mLastItemId == savedId);
  1158     
  1187     
  1159     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openItemSlot()));    
  1188     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openItemSlot()));    
  1160 }
  1189 }
  1161 
  1190 
  1162 // ---------------------------------------------------------------------------
  1191 // ---------------------------------------------------------------------------
  1164 // ---------------------------------------------------------------------------
  1193 // ---------------------------------------------------------------------------
  1165 //
  1194 //
  1166 void TestListWidget::testPlayItemSlot()
  1195 void TestListWidget::testPlayItemSlot()
  1167 {
  1196 {
  1168     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1197     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1169     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1198     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1170     mTestWidget->initialize(*model);
  1199     mTestWidget->initialize(*model);
  1171     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));
  1200     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));
  1172     setRowCount(1);
  1201     setRowCount(1);
  1173     TMPXItemId savedId = TMPXItemId(1,1);
  1202     TMPXItemId savedId = TMPXItemId(1,1);
  1174     VideoSortFilterProxyModelData::mItemIds.clear();
  1203     VideoProxyModelData::mItemIds.clear();
  1175     VideoSortFilterProxyModelData::mItemIds.append(savedId);
  1204     VideoProxyModelData::mItemIds.append(savedId);
  1176     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1205     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1177     
  1206     
  1178     emit testSignal();
  1207     emit testSignal();
  1179     
  1208     
  1180     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
  1209     QVERIFY(VideoProxyModelData::mLastItemId == savedId);
  1181     
  1210     
  1182     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));    
  1211     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));    
  1183 }
  1212 }
  1184 
  1213 
  1185 // ---------------------------------------------------------------------------
  1214 // ---------------------------------------------------------------------------
  1187 // ---------------------------------------------------------------------------
  1216 // ---------------------------------------------------------------------------
  1188 //
  1217 //
  1189 void TestListWidget::testAddToCollectionSlot()
  1218 void TestListWidget::testAddToCollectionSlot()
  1190 {
  1219 {
  1191     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1220     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1192     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1221     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1193 
  1222 
  1194     VideoListSelectionDialogData::mSelectionType = -1;
  1223     VideoListSelectionDialogData::mSelectionType = -1;
  1195     VideoListSelectionDialogData::mSettedMpxId = TMPXItemId::InvalidId();
  1224     VideoListSelectionDialogData::mSettedMpxId = TMPXItemId::InvalidId();
  1196     
  1225     
  1197     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
  1226     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
  1198     setRowCount(1);
  1227     setRowCount(1);
  1199     TMPXItemId savedId = TMPXItemId(1,1);
  1228     TMPXItemId savedId = TMPXItemId(1,1);
  1200     VideoSortFilterProxyModelData::mItemIds.clear();
  1229     VideoProxyModelData::mItemIds.clear();
  1201     VideoSortFilterProxyModelData::mItemIds.append(savedId);
  1230     VideoProxyModelData::mItemIds.append(savedId);
  1202     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1231     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1203     
  1232     
  1204     // no model
  1233     // no model
  1205     emit testSignal();
  1234     emit testSignal();
  1206     QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
  1235     QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
  1213     QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
  1242     QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
  1214     QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
  1243     QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
  1215     VideoCollectionUiLoaderData::mFindFailureNameList.clear();
  1244     VideoCollectionUiLoaderData::mFindFailureNameList.clear();
  1216     
  1245     
  1217     // invalid id at current index
  1246     // invalid id at current index
  1218     VideoSortFilterProxyModelData::mItemIds.clear();
  1247     VideoProxyModelData::mItemIds.clear();
  1219     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
  1248     VideoProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
  1220     emit testSignal();
  1249     emit testSignal();
  1221     QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
  1250     QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
  1222     QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
  1251     QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
  1223     
  1252     
  1224     // valid id at current index
  1253     // valid id at current index
  1225     VideoSortFilterProxyModelData::mItemIds.clear();
  1254     VideoProxyModelData::mItemIds.clear();
  1226     VideoSortFilterProxyModelData::mItemIds.append(savedId);
  1255     VideoProxyModelData::mItemIds.append(savedId);
  1227     emit testSignal();
  1256     emit testSignal();
  1228     QVERIFY(VideoListSelectionDialogData::mSelectionType == VideoListSelectionDialog::ESelectCollection );
  1257     QVERIFY(VideoListSelectionDialogData::mSelectionType == VideoListSelectionDialog::ESelectCollection );
  1229     QVERIFY(VideoListSelectionDialogData::mSettedMpxId == savedId);
  1258     QVERIFY(VideoListSelectionDialogData::mSettedMpxId == savedId);
  1230     
  1259     
  1231     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
  1260     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
  1237 // ---------------------------------------------------------------------------
  1266 // ---------------------------------------------------------------------------
  1238 // 
  1267 // 
  1239 void TestListWidget::testRemoveFromCollectionSlot()
  1268 void TestListWidget::testRemoveFromCollectionSlot()
  1240 {
  1269 {
  1241     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1270     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1242     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1271     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1243 
  1272 
  1244     VideoSortFilterProxyModelData::mRemoveItemsFromAlbumReturnValue = 0;
  1273     VideoProxyModelData::mRemoveItemsFromAlbumReturnValue = 0;
  1245     VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
  1274     VideoProxyModelData::mLastItemId = TMPXItemId::InvalidId();
  1246     VideoSortFilterProxyModelData::mItemIds.clear();
  1275     VideoProxyModelData::mItemIds.clear();
  1247     
  1276     
  1248     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot()));
  1277     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot()));
  1249     setRowCount(2);
  1278     setRowCount(2);
  1250     TMPXItemId savedId = TMPXItemId(1,1);
  1279     TMPXItemId savedId = TMPXItemId(1,1);
  1251     VideoSortFilterProxyModelData::mItemIds.clear();
  1280     VideoProxyModelData::mItemIds.clear();
  1252     // invalid id at index 0
  1281     // invalid id at index 0
  1253     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
  1282     VideoProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
  1254     VideoSortFilterProxyModelData::mItemIds.append(savedId);
  1283     VideoProxyModelData::mItemIds.append(savedId);
  1255     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
  1284     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
  1256     
  1285     
  1257     // no model
  1286     // no model
  1258     emit testSignal();
  1287     emit testSignal();
  1259     QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
  1288     QVERIFY(VideoProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
  1260     
  1289     
  1261     mTestWidget->initialize(*model);
  1290     mTestWidget->initialize(*model);
  1262     VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId::InvalidId();
  1291     VideoProxyModelData::mOpenedItemId = TMPXItemId::InvalidId();
  1263     
  1292     
  1264     // collection id is invalid
  1293     // collection id is invalid
  1265     emit testSignal();
  1294     emit testSignal();
  1266     QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
  1295     QVERIFY(VideoProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
  1267     VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId(1,2);
  1296     VideoProxyModelData::mOpenedItemId = TMPXItemId(1,2);
  1268     
  1297     
  1269     // media at current index is invalid
  1298     // media at current index is invalid
  1270     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1299     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1271     emit testSignal();
  1300     emit testSignal();
  1272     QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
  1301     QVERIFY(VideoProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
  1273             
  1302             
  1274     // all is ok
  1303     // all is ok
  1275     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
  1304     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
  1276     emit testSignal();
  1305     emit testSignal();
  1277     
  1306     
  1278     QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId(1,2));
  1307     QVERIFY(VideoProxyModelData::mLastItemId  == TMPXItemId(1,2));
  1279     // ids are to be saved at VideoSortFilterProxyModelData::mItemIds 
  1308     // ids are to be saved at VideoProxyModelData::mItemIds 
  1280     QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == savedId);
  1309     QVERIFY(VideoProxyModelData::mItemIds.at(0) == savedId);
  1281     
  1310     
  1282     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot())); 
  1311     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot())); 
  1283 }
  1312 }
  1284  
  1313  
  1285 // ---------------------------------------------------------------------------
  1314 // ---------------------------------------------------------------------------
  1286 // testRemoveCollectionSlot
  1315 // testRemoveCollectionSlot
  1287 // ---------------------------------------------------------------------------
  1316 // ---------------------------------------------------------------------------
  1288 //
  1317 //
  1289 void TestListWidget::testRemoveCollectionSlot()
  1318 void TestListWidget::testRemoveCollectionSlot()
  1290 {
  1319 {
  1291     VideoSortFilterProxyModelData::mRemoveAlbumsFails = false;
  1320     VideoProxyModelData::mRemoveAlbumsFails = false;
  1292     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1321     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1293     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1322     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1294     
  1323     
  1295     HbMessageBoxData::mQuestionReturnValue = true;
  1324     HbMessageBoxData::mQuestionReturnValue = true;
  1296     HbMessageBoxData::mLatestTxt = "";
  1325     HbMessageBoxData::mLatestTxt = "";
  1297     VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
  1326     VideoProxyModelData::mLastIndex = QModelIndex();
  1298     
  1327     
  1299     setRowCount(1);
  1328     setRowCount(1);
  1300     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1329     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
  1301     
  1330     
  1302     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
  1331     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
  1303     HbMessageBox *box = new HbMessageBox();
  1332     HbMessageBox *box = new HbMessageBox();
  1304     
  1333     
  1305     setRowCount(2);
  1334     setRowCount(2);
  1306     TMPXItemId savedId = TMPXItemId(1,1);
  1335     TMPXItemId savedId = TMPXItemId(1,1);
  1307     VideoSortFilterProxyModelData::mItemIds.clear();
  1336     VideoProxyModelData::mItemIds.clear();
  1308     // invalid id at index 0
  1337     // invalid id at index 0
  1309     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
  1338     VideoProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
  1310     VideoSortFilterProxyModelData::mItemIds.append(savedId);
  1339     VideoProxyModelData::mItemIds.append(savedId);
  1311     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
  1340     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
  1312     
  1341     
  1313     // no model
  1342     // no model
  1314     emit testSignal();
  1343     emit testSignal();
  1315     QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
  1344     QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
  1316     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
  1345     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
  1317     
  1346     
  1318     mTestWidget->initialize(*model);
  1347     mTestWidget->initialize(*model);
  1319     
  1348     
  1320     // invalid data    
  1349     // invalid data    
  1321     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, QVariant());
  1350     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, QVariant());
  1322     emit testSignal();
  1351     emit testSignal();
  1323     QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
  1352     QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
  1324     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
  1353     QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
  1325     
  1354     
  1326     // valid data 
  1355     // valid data 
  1327     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, "test");
  1356     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, "test");
  1328     emit testSignal();
  1357     emit testSignal();
  1329     box->emitDialogFinished(mTestWidget, SLOT(removeCollectionDialogFinished(int)), HbMessageBox::Yes);
  1358     box->emitDialogFinished(mTestWidget, SLOT(removeCollectionDialogFinished(int)), HbMessageBox::Yes);
  1330     QVERIFY(VideoSortFilterProxyModelData::mLastIndex.isValid());
  1359     QVERIFY(VideoProxyModelData::mLastIndex.isValid());
  1331     QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 1);
  1360     QVERIFY(VideoProxyModelData::mLastIndex.row() == 1);
  1332     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
  1361     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
  1333     
  1362     
  1334     // msg box return false (for coverity)
  1363     // msg box return false (for coverity)
  1335     VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
  1364     VideoProxyModelData::mLastIndex = QModelIndex();
  1336     HbMessageBoxData::mLatestTxt = "";
  1365     HbMessageBoxData::mLatestTxt = "";
  1337     HbMessageBoxData::mQuestionReturnValue = false;
  1366     HbMessageBoxData::mQuestionReturnValue = false;
  1338     emit testSignal();
  1367     emit testSignal();
  1339     box->emitDialogFinished(mTestWidget, SLOT(removeCollectionDialogFinished(int)), HbMessageBox::No);
  1368     box->emitDialogFinished(mTestWidget, SLOT(removeCollectionDialogFinished(int)), HbMessageBox::No);
  1340     QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
  1369     QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
  1341     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
  1370     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
  1342     
  1371     
  1343     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
  1372     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
  1344 }
  1373 }
  1345 
  1374 
  1348 // ---------------------------------------------------------------------------
  1377 // ---------------------------------------------------------------------------
  1349 //
  1378 //
  1350 void TestListWidget::testOpenDetailsSlot()
  1379 void TestListWidget::testOpenDetailsSlot()
  1351 {
  1380 {
  1352     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1381     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1353     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1382     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1354 
  1383 
  1355     QSignalSpy spysignal(mTestWidget, SIGNAL(command(int)));
  1384     QSignalSpy spysignal(mTestWidget, SIGNAL(command(int)));
  1356     HbMessageBoxData::mLatestTxt = "";
  1385     HbMessageBoxData::mLatestTxt = "";
  1357     VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
  1386     VideoProxyModelData::mLastIndex = QModelIndex();
  1358     setRowCount(0);
  1387     setRowCount(0);
  1359     mTestWidget->initialize(*model);
  1388     mTestWidget->initialize(*model);
  1360     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openDetailsSlot())); 
  1389     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openDetailsSlot())); 
  1361 
  1390 
  1362     // no model
  1391     // no model
  1363     VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
  1392     VideoProxyModelGeneric *tmp = mTestWidget->mModel;
  1364     mTestWidget->mModel = 0;
  1393     mTestWidget->mModel = 0;
  1365     emit testSignal();
  1394     emit testSignal();
  1366     QVERIFY(spysignal.count() == 0);
  1395     QVERIFY(spysignal.count() == 0);
  1367     QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
  1396     QVERIFY(!VideoProxyModelData::mLastIndex.isValid());
  1368     mTestWidget->mModel = tmp;
  1397     mTestWidget->mModel = tmp;
  1369     
  1398     
  1370     // detail fetch fails
  1399     // detail fetch fails
  1371     setRowCount(1);
  1400     setRowCount(1);
  1372     QVariant data = QString("test");
  1401     QVariant data = QString("test");
  1373     VideoListDataModelData::setData(Qt::DisplayRole, data);
  1402     VideoListDataModelData::setData(Qt::DisplayRole, data);
  1374     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1403     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex());
  1375     VideoSortFilterProxyModelData::mDetailsReturnValue = -1;
  1404     VideoProxyModelData::mDetailsReturnValue = -1;
  1376     
  1405     
  1377     emit testSignal();
  1406     emit testSignal();
  1378     QVERIFY(spysignal.count() == 0);
  1407     QVERIFY(spysignal.count() == 0);
  1379     QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
  1408     QVERIFY(VideoProxyModelData::mLastIndex.row() == 0);
  1380     
  1409     
  1381     // detail fetch succeeds
  1410     // detail fetch succeeds
  1382     VideoSortFilterProxyModelData::mDetailsReturnValue = 0;
  1411     VideoProxyModelData::mDetailsReturnValue = 0;
  1383     VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
  1412     VideoProxyModelData::mLastIndex = QModelIndex();
  1384     emit testSignal();
  1413     emit testSignal();
  1385     QVERIFY(spysignal.count() == 1);
  1414     QVERIFY(spysignal.count() == 1);
  1386     QVERIFY(spysignal.at(0).at(0).isValid());
  1415     QVERIFY(spysignal.at(0).at(0).isValid());
  1387     QVERIFY(spysignal.at(0).at(0).toInt() == MpxHbVideoCommon::ActivateVideoDetailsView);
  1416     QVERIFY(spysignal.at(0).at(0).toInt() == MpxHbVideoCommon::ActivateVideoDetailsView);
  1388     QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
  1417     QVERIFY(VideoProxyModelData::mLastIndex.row() == 0);
  1389     
  1418     
  1390     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openDetailsSlot())); 
  1419     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(openDetailsSlot())); 
  1391 }
  1420 }
  1392  
  1421 
  1393 // ---------------------------------------------------------------------------
  1422 // ---------------------------------------------------------------------------
  1394 // testBack
  1423 // testBack
  1395 // ---------------------------------------------------------------------------
  1424 // ---------------------------------------------------------------------------
  1396 //
  1425 //
  1397 void TestListWidget::testBack()
  1426 void TestListWidget::testBack()
  1398 {
  1427 {
  1399     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1428     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1400     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1429     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1401 
  1430 
  1402     QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
  1431     QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
  1403     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
  1432     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
  1404     // no model
  1433     // no model
  1405     emit testSignal();        
  1434     emit testSignal();        
  1436 // 
  1465 // 
  1437 void TestListWidget::testScrollingEndedSlot()
  1466 void TestListWidget::testScrollingEndedSlot()
  1438 {
  1467 {
  1439     VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = true;
  1468     VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = true;
  1440     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1469     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1441     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1470     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1442 
  1471 
  1443     mTestWidget->initialize(*model);
  1472     mTestWidget->initialize(*model);
  1444     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingEndedSlot()));
  1473     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingEndedSlot()));
  1445     
  1474     
  1446     // no visible items
  1475     // no visible items
  1483 // ---------------------------------------------------------------------------
  1512 // ---------------------------------------------------------------------------
  1484 // 
  1513 // 
  1485 void TestListWidget::testScrollPositionChangedSlot()
  1514 void TestListWidget::testScrollPositionChangedSlot()
  1486 {
  1515 {
  1487     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1516     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1488     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1517     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1489 
  1518 
  1490     mTestWidget->initialize(*model);
  1519     mTestWidget->initialize(*model);
  1491     const QPointF point;
  1520     const QPointF point;
  1492     
  1521     
  1493     connect(this, SIGNAL(testSignal(const QPointF&)), mTestWidget, SLOT(scrollPositionChangedSlot(const QPointF&)));
  1522     connect(this, SIGNAL(testSignal(const QPointF&)), mTestWidget, SLOT(scrollPositionChangedSlot(const QPointF&)));
  1527 }
  1556 }
  1528 
  1557 
  1529 void TestListWidget::testRowsInsertedSlot()
  1558 void TestListWidget::testRowsInsertedSlot()
  1530 {
  1559 {
  1531     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1560     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1532     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1561     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1533 
  1562 
  1534     mTestWidget->initialize(*model);
  1563     mTestWidget->initialize(*model);
  1535     
  1564     
  1536     // setup few "visible" items to trigger the fetch
  1565     // setup few "visible" items to trigger the fetch
  1537     int count = 10;
  1566     int count = 10;
  1553 }
  1582 }
  1554 
  1583 
  1555 void TestListWidget::testRowsRemovedSlot()
  1584 void TestListWidget::testRowsRemovedSlot()
  1556 {
  1585 {
  1557     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1586     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
  1558     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
  1587     VideoProxyModelGeneric *model = wrapper.getAllVideosModel();
  1559 
  1588 
  1560     mTestWidget->initialize(*model);
  1589     mTestWidget->initialize(*model);
  1561     
  1590     
  1562     // setup few "visible" items to trigger the fetch
  1591     // setup few "visible" items to trigger the fetch
  1563     int count = 10;
  1592     int count = 10;