videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp
changeset 35 3738fe97f027
parent 34 bbb98528c666
child 36 8aed59de29f9
--- a/videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp	Thu Apr 01 23:22:15 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp	Thu Apr 01 23:32:44 2010 +0300
@@ -29,6 +29,7 @@
 #include "hbmessagebox.h"
 #include "hbinstance.h"
 #include "hbmainwindow.h"
+#include "hbstyleloader.h"
 #include "videothumbnaildata.h"
 #include "videocollectioncommon.h"
 #include "videocollectionwrapper.h"
@@ -38,6 +39,11 @@
 #include "videolistdatamodel.h"
 #include "videolistdatamodeldata.h"
 #include "videosortfilterproxymodeldata.h"
+#include "videoservices.h"
+#include "videocollectionuiloader.h"
+#include "videocollectionuiloaderdata.h"
+#include "videolistselectiondialog.h"
+#include "videolistselectiondialogdata.h"
 #include "hbmessageboxdata.h"
 
 #include "testlistwidget.h"
@@ -87,7 +93,7 @@
 int main(int argc, char *argv[])
 {
     TestListWidget tv;
-
+    QApplication app(argc, argv);
     int res;
     if(argc > 1)
     {   
@@ -131,6 +137,15 @@
 }
 
 // ---------------------------------------------------------------------------
+// initTestCase
+// ---------------------------------------------------------------------------
+//
+void TestListWidget::initTestCase()
+{
+    qRegisterMetaType<QModelIndex>("QModelIndex");
+}
+
+// ---------------------------------------------------------------------------
 // init
 // ---------------------------------------------------------------------------
 //
@@ -138,8 +153,9 @@
 {
     mDummyMainWnd = new HbMainWindow;
     mTempView = new HbView;
-    
-    mTestWidget = new ListWidgetTester(0, mTempView);
+    mTestUiLoader = new VideoCollectionUiLoader();
+    hbInstance->mWindowses.append(mDummyMainWnd);
+    mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
 }
 
 // ---------------------------------------------------------------------------
@@ -175,31 +191,22 @@
 {
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
-    
-    // no prototype
-    HbListView::mReturnNullPrototype = true;
-    QVERIFY(mTestWidget->initialize(*model) == -1);
-    HbListView::mReturnNullPrototype = false;
-    
-    // no scroll bar
-    HbListView::mVScrollBarIsNull = true;
-    QVERIFY(mTestWidget->initialize(*model) == -1);
 
     // succeed case ( new operator cannot be stubbed)
-    HbListView::mVScrollBarIsNull = false;
-    HbListView::mReturnNullPrototype = false;
     QVERIFY(mTestWidget->initialize(*model) == 0);
-    QCOMPARE(HbListView::mLatestrecycling, true);
-    QCOMPARE(HbListView::mLatestClamping, HbScrollArea::BounceBackClamping);
-    QCOMPARE(HbListView::mLatestScrolling, HbScrollArea::PanOrFlick);
-    QCOMPARE(HbListView::mLatestFrictionEnabled, true);
-    QCOMPARE(HbListView::mLatestUniformItemSizes, true);
-    QCOMPARE(HbListView::mLatestVisibility, false);
-    QCOMPARE(HbListView::mLatestEnableValue, false);    
-    QCOMPARE(HbScrollBar::mInteractive, true);    
 	QVERIFY(mTestWidget->mModel == model);  
 	QVERIFY(mTestWidget->mVideoServices == 0);
 	QVERIFY(mTestWidget->mIsService == false);
+	
+	// service initialization
+	VideoServices *service = VideoServices::instance();
+    QVERIFY(mTestWidget->initialize(*model, service) == 0);
+    QVERIFY(mTestWidget->mModel == model);  
+    QVERIFY(mTestWidget->mVideoServices == service);
+    QVERIFY(mTestWidget->mIsService == true);
+    service->decreaseReferenceCount();
+    service = 0;
+	
 }
  
 // ---------------------------------------------------------------------------
@@ -215,30 +222,83 @@
     QVERIFY(mTestWidget->activate() == -1);
     QCOMPARE(HbMenuData::mEnabledSetted, false);
     QCOMPARE(HbListView::mLatestVisibility, false);
-    QVERIFY(!HbListView::mLatestModel);
-    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
+    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
     
-    // no context menu, model exist: succeeds
+    // model exist, no current view default level: succeeds
     QVERIFY(mTestWidget->initialize(*model) == 0);
     QVERIFY(mTestWidget->activate() == 0);
     QCOMPARE(HbMenuData::mEnabledSetted, false);
     QCOMPARE(HbListView::mLatestVisibility, true);
-    QCOMPARE(HbListView::mLatestModel, model);
     QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
     
     HbMenuData::mEnabledSetted = true;
     HbListView::mLatestVisibility = false;
     HbListView::mLatestEnableValue = false;
-    HbListView::mLatestModel = 0;
     VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
     
-    // context menu exists, succeed (signal connecting failure cannot be tested here)
-    mTestWidget->mContextMenu = new HbMenu;
+    // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl, 
+    // no mNavKeyQuitAction
+    HbView *tmpView = new HbView();
+    hbInstance->allMainWindows().value(0)->addView(tmpView);
+    HbAction *tmpAction = mTestWidget->mNavKeyQuitAction;
+    mTestWidget->mNavKeyQuitAction = 0;
+    QVERIFY(mTestWidget->activate() == 0);
+    QCOMPARE(HbMenuData::mEnabledSetted, true);
+    QCOMPARE(HbListView::mLatestVisibility, true);
+    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
+    QVERIFY(!tmpView->mNavigationAction);
+    
+    HbMenuData::mEnabledSetted = true;
+    HbListView::mLatestVisibility = false;
+    HbListView::mLatestEnableValue = false;
+    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
+    mTestWidget->mNavKeyQuitAction = tmpAction;
+    
+    // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl, 
+    // mNavKeyQuitAction exists
     QVERIFY(mTestWidget->activate() == 0);
     QCOMPARE(HbMenuData::mEnabledSetted, true);
     QCOMPARE(HbListView::mLatestVisibility, true);
-    QCOMPARE(HbListView::mLatestModel, model);
+    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
+    QVERIFY(tmpView->mNavigationAction == tmpAction);
+    
+    HbMenuData::mEnabledSetted = true;
+    HbListView::mLatestVisibility = false;
+    HbListView::mLatestEnableValue = false;
+    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
+    
+    // model exists, current view exists, level is ELevelAlbum  
+    // no mNavKeyBackAction
+    tmpView->mNavigationAction = 0;
+    tmpAction = mTestWidget->mNavKeyBackAction;
+    mTestWidget->mNavKeyBackAction = 0;
+    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
+    QCOMPARE(HbMenuData::mEnabledSetted, true);
+    QCOMPARE(HbListView::mLatestVisibility, true);
     QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
+    QVERIFY(!tmpView->mNavigationAction);
+       
+    HbMenuData::mEnabledSetted = true;
+    HbListView::mLatestVisibility = false;
+    HbListView::mLatestEnableValue = false;
+    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
+    
+    mTestWidget->mNavKeyBackAction = tmpAction;
+    // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl, 
+    // mNavKeyBackAction exists
+    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
+    QCOMPARE(HbMenuData::mEnabledSetted, true);
+    QCOMPARE(HbListView::mLatestVisibility, true);
+    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
+    QVERIFY(tmpView->mNavigationAction == tmpAction);
+    
+    HbMenuData::mEnabledSetted = true;
+    HbListView::mLatestVisibility = false;
+    HbListView::mLatestEnableValue = false;
+    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
+            
+    hbInstance->allMainWindows().value(0)->removeView(tmpView);
+    delete tmpView;
 }
  
 // ---------------------------------------------------------------------------
@@ -250,28 +310,25 @@
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
 
-    HbMenuData::mEnabledSetted = false;
-    HbListView::mLatestVisibility = false;
-    HbListView::mLatestEnableValue = false;
-    HbListView::mLatestModel = 0;
-    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
-    VideoSortFilterProxyModel *nullModel = 0;
+    HbListView::mLatestVisibility = true;
+    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 1;
     
     mTestWidget->activate();
     
     // no context menu and activated without model
     mTestWidget->deactivate();
     QCOMPARE(HbListView::mLatestVisibility, false);
-    QCOMPARE(HbListView::mLatestModel, nullModel);
     QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
     
+    HbListView::mLatestVisibility = true;
+    VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 1;
+    
     // context menu exists and activated with model
     mTestWidget->mContextMenu = new HbMenu;
     QVERIFY(mTestWidget->initialize(*model) == 0);
     mTestWidget->activate();
     mTestWidget->deactivate();
-    QCOMPARE(HbListView::mLatestVisibility, true);
-    QCOMPARE(HbListView::mLatestModel, model);
+    QCOMPARE(HbListView::mLatestVisibility, false);
     QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
    
 }
@@ -318,71 +375,118 @@
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
 
-    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&)));
+    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)));
+    QSignalSpy spysignalFileUri(mTestWidget, SIGNAL(fileUri(const QString&)));
+    QSignalSpy spysignalActivated(mTestWidget, SIGNAL(activated(const QModelIndex&)));
+    
     mTestWidget->initialize(*model);
-    mTestWidget->activate();
-    hbInstance->mWindowses.append(mDummyMainWnd);
+    mTestWidget->activate();    
     
+    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
+    TMPXItemId savedId = TMPXItemId(1,1);
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(savedId);
     QVariant data = QString("test");
-    // correct data to index 0
     VideoListDataModelData::setData( Qt::DisplayRole, data);
-    setRowCount(1);
+    setRowCount(2);
     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(0,0));
     
     QModelIndex fetchIndex = model->index(0, 0, QModelIndex());
     
     // selection mode == HbAbstractItemView::MultiSelection
-    HbListView::mSelectionMode = HbAbstractItemView::MultiSelection;
+    mTestWidget->setSelectionMode(HbAbstractItemView::MultiSelection);
     mTestWidget->callEmiteActivated(fetchIndex);
     QVERIFY(spysignal.count() == 0);
-    QVERIFY(mDummyMainWnd->mSoftKeyAction == 0);
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(spysignalFileUri.count() == 0);
+    QVERIFY(spysignalActivated.count() == 1);
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    spysignal.clear();
+    spysignalFileUri.clear();
+    spysignalActivated.clear();
     
     // modelIndex is not valid
-    HbListView::mSelectionMode = HbAbstractItemView::NoSelection;
+    mTestWidget->setSelectionMode(HbAbstractItemView::NoSelection);
     fetchIndex = QModelIndex();
     mTestWidget->callEmiteActivated(fetchIndex);
     QVERIFY(spysignal.count() == 0);
-    QVERIFY(mDummyMainWnd->mSoftKeyAction == 0);
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
-
-    // current level is not ELevelCategory
+    QVERIFY(spysignalFileUri.count() == 0);
+    QVERIFY(spysignalActivated.count() == 0);
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+   
+    // current level is ELevelCategory
+    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
+    // --> variant is not valid 
+    VideoListDataModelData::setData( Qt::DisplayRole, QVariant());
     fetchIndex = model->index(0, 0, QModelIndex());
     mTestWidget->callEmiteActivated(fetchIndex);
     QVERIFY(spysignal.count() == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    QVERIFY(spysignalFileUri.count() == 0);
+    QVERIFY(spysignalActivated.count() == 0);
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
     
-    // current level is ELevelCategory
-    mTestWidget->mCurrentLevel= VideoCollectionCommon::ELevelCategory;
 
-    // -> getType() != ECollections
+    // --> variant is valid, collectionOpened -signal should be emitted
+    VideoListDataModelData::setData( Qt::DisplayRole, data);
+    fetchIndex = model->index(1, 0, QModelIndex());
+    mTestWidget->callEmiteActivated(fetchIndex);
+    QVERIFY(spysignal.count() == 1);
+    QVERIFY(spysignalFileUri.count() == 0);
+    QVERIFY(spysignalActivated.count() == 0);
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+  
+    spysignal.clear();
+    spysignalFileUri.clear();
+    spysignalActivated.clear();
+    
+    // current level is not ELevelCategory
+    // mIsService is true, variant gotten is invalid
+    VideoListDataModelData::setData( Qt::DisplayRole, QVariant());
+    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
+    mTestWidget->mIsService = true;
+    fetchIndex = model->index(0, 0, QModelIndex());
     mTestWidget->callEmiteActivated(fetchIndex);
     QVERIFY(spysignal.count() == 0);
-    QVERIFY(mDummyMainWnd->mSoftKeyAction == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    QVERIFY(spysignalFileUri.count() == 0);
+    QVERIFY(spysignalActivated.count() == 0);
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
     
-    // -> getType() == ECollections
-
-    // --> variant is not valid (invalid data at row index 1)
-    fetchIndex = model->index(1, 0, QModelIndex());
+    // current level is not ELevelCategory
+    // mIsService is true, variant gotten is valid
+    VideoListDataModelData::setData( VideoCollectionCommon::KeyFilePath, data);
+    fetchIndex = model->index(0, 0, QModelIndex());
     mTestWidget->callEmiteActivated(fetchIndex);
     QVERIFY(spysignal.count() == 0);
-    QVERIFY(mDummyMainWnd->mSoftKeyAction == 0);
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 1);
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
-
-    // --> variant is valid (correct data at index 0),5 collectionOpened -signal should be emitted
-    mDummyMainWnd->mSoftKeyAction = 0;
+    QVERIFY(spysignalFileUri.count() == 1);
+    QVERIFY(spysignalActivated.count() == 0);
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
+    
+    spysignal.clear();
+    spysignalFileUri.clear();
+    spysignalActivated.clear();
+    
+    // current level is not ELevelCategory
+    // mIsService is false
+    mTestWidget->mIsService = false;
     fetchIndex = model->index(0, 0, QModelIndex());
     mTestWidget->callEmiteActivated(fetchIndex);
-    QVERIFY(spysignal.count() == 1);
-//    QVERIFY(mDummyMainWnd->mSoftKeyAction == mTestWidget->mSecSkAction);
-    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
-    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
-  
-    hbInstance->mWindowses.clear();
+    QVERIFY(spysignal.count() == 0);
+    QVERIFY(spysignalFileUri.count() == 0);
+    QVERIFY(spysignalActivated.count() == 0);
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
+    
+    // context menu is visible
+    if (!mTestWidget->mContextMenu)
+    {
+        mTestWidget->mContextMenu = new HbMenu;
+    }
+    mTestWidget->mContextMenu->show();
+    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
+    fetchIndex = model->index(0, 0, QModelIndex());
+    mTestWidget->callEmiteActivated(fetchIndex);
+    QVERIFY(spysignal.count() == 0);
+    QVERIFY(spysignalFileUri.count() == 0);
+    QVERIFY(spysignalActivated.count() == 0);
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
 }
  
 
@@ -398,111 +502,103 @@
     QVariant data = QString("test");
     // correct data to index 0
     VideoListDataModelData::setData( Qt::DisplayRole, data);
-    setRowCount(1);
+    setRowCount(2);
     
     QPointF point(1,1);
-
-    QSignalSpy spysignal(mTestWidget, SIGNAL(command(int)));
     mTestWidget->initialize(*model);
-    hbInstance->mWindowses.append(mDummyMainWnd);
     
-    HbListView::mSelectionMode = HbAbstractItemView::MultiSelection;
+    mTestWidget->setSelectionMode(HbAbstractItemView::MultiSelection);
     // mDetailsReady is false
     mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 1);
     QVERIFY(HbMenuData::mExecPoint != point);
     QVERIFY(HbListView::mLongPressedPoint != point);
-    spysignal.clear();
     
     // multiselection is on
     mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
+    QVERIFY(HbMenuData::mExecPoint != point);
+    
+    // selection mode is custom
+    mTestWidget->setSelectionMode(-1);
+    
+    mTestWidget->callLongPressGesture(point);
     QVERIFY(HbMenuData::mExecPoint != point);
         
-    // current index is invalid
-    HbListView::mSelectionMode = HbAbstractItemView::NoSelection;
+    // item at position is null
+    HbListViewItem *pTmp = mTestWidget->mItem;
+    mTestWidget->mItem = 0;
+    mTestWidget->setSelectionMode(HbAbstractItemView::NoSelection);
     HbListView::mCurrentIndex = QModelIndex();    
     mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
     QVERIFY(HbMenuData::mExecPoint != point);
     QVERIFY(HbListView::mLongPressedPoint == point);
     
-    // current index is valid
+    // item at position is not null, but returns invalid index
+    mTestWidget->mItem = pTmp;
+    mTestWidget->mItem->mModelIndex = QModelIndex();
+    mTestWidget->callLongPressGesture(point);
+    QVERIFY(HbMenuData::mExecPoint != point);
+    QVERIFY(HbListView::mLongPressedPoint == point);
+    
+    // item at position is not null, returns current index is valid
     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
+    mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
     
     // model is == 0
     VideoSortFilterProxyModel *tmp = mTestWidget->mModel;
     mTestWidget->mModel = 0;
     mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
     QVERIFY(HbMenuData::mExecPoint != point);
     QVERIFY(HbListView::mLongPressedPoint == point);
     mTestWidget->mModel = tmp;
+    HbListView::mLongPressedPoint = QPointF();
     
-    // mCurrentLevel != ELevelCategory
-    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
+    // gotten id != KVcxMvcMediaTypeVideo, service is true and id !=  KVcxMvcMediaTypeAlbum
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
+    mTestWidget->mIsService = true;
     mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
-    QVERIFY(HbMenuData::mExecPoint == point);
+    QVERIFY(HbMenuData::mExecPoint != point);
     QVERIFY(HbListView::mLongPressedPoint == point);
-    HbMenuData::mExecPoint = QPointF();
+    HbListView::mLongPressedPoint = QPointF();
     
-    // mCurrentLevel == ELevelCategory
-    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
+    // gotten id != KVcxMvcMediaTypeVideo, service is false and id !=  KVcxMvcMediaTypeAlbum
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
+    mTestWidget->mIsService = false;
+    mTestWidget->callLongPressGesture(point);
+    QVERIFY(HbMenuData::mExecPoint != point);
+    QVERIFY(HbListView::mLongPressedPoint == point);
+    HbListView::mLongPressedPoint = QPointF();
     
-    // --> mpxId.iId2 != 1
-    TMPXItemId itemId;
-    itemId.iId2 = 0;
-    VideoSortFilterProxyModelData::mItemIds.append(itemId);
+    // gotten id != KVcxMvcMediaTypeVideo, service is false and id ==  KVcxMvcMediaTypeAlbum
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,2));
+    mTestWidget->mIsService = false;
     mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
     QVERIFY(HbMenuData::mExecPoint == point);
     QVERIFY(HbListView::mLongPressedPoint == point);
     HbMenuData::mExecPoint = QPointF();
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    
-    // --> mpxId.iId2 == 1
-    itemId.iId2 = 1;
+    HbListView::mLongPressedPoint = QPointF();
     
-    // ---> mpxId.iId1 == KVcxMvcCategoryIdDownloads
-    itemId.iId1 = KVcxMvcCategoryIdDownloads;
-    VideoSortFilterProxyModelData::mItemIds.append(itemId);
+    // gotten id == KVcxMvcMediaTypeVideo
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,02));
+    mTestWidget->mIsService = false;
     mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
     QVERIFY(HbMenuData::mExecPoint == point);
     QVERIFY(HbListView::mLongPressedPoint == point);
     HbMenuData::mExecPoint = QPointF();
-    VideoSortFilterProxyModelData::mItemIds.clear();
+    HbListView::mLongPressedPoint = QPointF();
     
-    // ---> mpxId.iId1 == KVcxMvcCategoryIdCaptured
-    itemId.iId1 = KVcxMvcCategoryIdCaptured;
-    VideoSortFilterProxyModelData::mItemIds.append(itemId);
-    mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
-    QVERIFY(HbMenuData::mExecPoint == point);
-    QVERIFY(HbListView::mLongPressedPoint == point);
-    HbMenuData::mExecPoint = QPointF();
-    VideoSortFilterProxyModelData::mItemIds.clear();
-    
-    // ---> mpxId.iId1 != KVcxMvcCategoryIdDownloads and mpxId.iId1 != KVcxMvcCategoryIdCaptured
-    itemId.iId1 = KVcxMvcCategoryIdAll;
-    VideoSortFilterProxyModelData::mItemIds.append(itemId);
-    mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
-    QVERIFY(HbMenuData::mExecPoint == point);
-    QVERIFY(HbListView::mLongPressedPoint == point);
-    HbMenuData::mExecPoint = QPointF();  
-    
-    // context menu setup fails, due invalid amount of correct actions
+    // no context menu
+    // (context menu setup fails, due invalid amount of correct actions)
     QMap<VideoListWidget::TContextActionIds, HbAction*>::iterator iter = mTestWidget->mContextMenuActions.begin();
     iter++;
     HbAction *nullAction = 0;
     iter.value() = nullAction;
     mTestWidget->callLongPressGesture(point);
-    QVERIFY(spysignal.count() == 0);
     QVERIFY(HbMenuData::mExecPoint != point);
     QVERIFY(HbListView::mLongPressedPoint == point);
-   
 }
 
 // ---------------------------------------------------------------------------
@@ -514,10 +610,12 @@
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
     VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
-
     VideoSortFilterProxyModelData::mItemIds.clear();
     mTestWidget->initialize(*model);
-    hbInstance->mWindowses.append(mDummyMainWnd);
+    
+    setRowCount(1);
+    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
+    mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
     
     TMPXItemId itemId;
     QPointF point(1,1);
@@ -544,7 +642,7 @@
         }
         ++iter;
     }
-    QVERIFY(visibleCount == 4);
+    QVERIFY(visibleCount == 3);
     
     // invalid amount of actions -> invalid items gets removed
     HbAction *nullAction = 0;
@@ -557,8 +655,8 @@
     
     // mCurrentLevel == ELevelCategory
     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
-    // --> getType returns ECollections
-    // ---> default collection flag is on
+    // mIsService is false
+    mTestWidget->mIsService = false;
     mTestWidget->callLongPressGesture(point);
     iter = mTestWidget->mContextMenuActions.begin();
     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -569,81 +667,116 @@
         {
             visibleCount++;   
          }
-         ++iter;
-     }
-     QVERIFY(visibleCount == 0);
+        ++iter;
+    }
+    QVERIFY(visibleCount == 2);
     
-     // ---> default collection flag is off
-     VideoSortFilterProxyModelData::mItemIds.clear();
-     itemId.iId2 = 1;
-     itemId.iId1 = KVcxMvcCategoryIdAll;
-     VideoSortFilterProxyModelData::mItemIds.append(itemId);
-     mTestWidget->callLongPressGesture(point);
-     iter = mTestWidget->mContextMenuActions.begin();
-     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
-     visibleCount = 0;
-     while(iter != mTestWidget->mContextMenuActions.end())
-     {
-         if(iter.value()->mVisible)
-         {
-             visibleCount++;   
-         }
-         ++iter;
-     }
-     QVERIFY(visibleCount == 4);
+    // mIsService is true
+    mTestWidget->mIsService = true;
+    mTestWidget->callLongPressGesture(point);
+    iter = mTestWidget->mContextMenuActions.begin();
+    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
+    visibleCount = 0;
+    while(iter != mTestWidget->mContextMenuActions.end())
+    {
+        if(iter.value()->mVisible)
+        {
+            visibleCount++;   
+        }
+        ++iter;
+    }
+    QVERIFY(visibleCount == 0);
+    
+    // mCurrentLevel == ELevelAlbum
+    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
+    // mIsService is false
+    mTestWidget->mIsService = false;
+    mTestWidget->callLongPressGesture(point);
+    iter = mTestWidget->mContextMenuActions.begin();
+    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
+    visibleCount = 0;
+    while(iter != mTestWidget->mContextMenuActions.end())
+    {
+        if(iter.value()->mVisible)
+        {
+            visibleCount++;   
+        }
+        ++iter;
+    }
+    QVERIFY(visibleCount == 3);    
     
-    // --> getType returns EUserColItems
-     mTestWidget->callLongPressGesture(point);
-     iter = mTestWidget->mContextMenuActions.begin();
-     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
-     visibleCount = 0;
-     while(iter != mTestWidget->mContextMenuActions.end())
-     {
-         if(iter.value()->mVisible)
-         {
-             visibleCount++;   
-         }
-         ++iter;
-     }
-     QVERIFY(visibleCount == 4);    
-     
-     // --> getType returns EUnknow
-     mTestWidget->mCurrentLevel = (VideoCollectionCommon::TCollectionLevels)0;
-     mTestWidget->callLongPressGesture(point);
-      iter = mTestWidget->mContextMenuActions.begin();
-      QVERIFY(iter != mTestWidget->mContextMenuActions.end());
-      visibleCount = 0;
-      while(iter != mTestWidget->mContextMenuActions.end())
-      {
-          if(iter.value()->mVisible)
-          {
-              visibleCount++;   
-          }
-          ++iter;
-      }
-      QVERIFY(visibleCount == 0);    
+    // mIsService is true
+    // object needs to be resetted for the service use
+    cleanup();
+    init();
+    setRowCount(1);
+    model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
+    mTestWidget->initialize(*model);
+    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
+    mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
+    
+    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
+    VideoSortFilterProxyModelData::mItemIds.append(itemId);
+    mTestWidget->mIsService = true;
+    mTestWidget->callLongPressGesture(point);
+    iter = mTestWidget->mContextMenuActions.begin();
+    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
+    visibleCount = 0;
+    while(iter != mTestWidget->mContextMenuActions.end())
+    {
+        if(iter.value()->mVisible)
+        {
+            visibleCount++;   
+        }
+        ++iter;
+    }
+    QVERIFY(visibleCount == 2);    
+      
+    //invalid level
+    mTestWidget->mCurrentLevel = (VideoCollectionCommon::TCollectionLevels)0;
+    mTestWidget->callLongPressGesture(point);
+    iter = mTestWidget->mContextMenuActions.begin();
+    QVERIFY(iter != mTestWidget->mContextMenuActions.end());
+    visibleCount = 0;
+    while(iter != mTestWidget->mContextMenuActions.end())
+    {
+        if(iter.value()->mVisible)
+        {
+            visibleCount++;   
+        }
+        ++iter;
+    }
+    QVERIFY(visibleCount == 0);    
 }
-  
-// ---------------------------------------------------------------------------
-// testShareItemSlot
-// ---------------------------------------------------------------------------
-//
-void TestListWidget::testShareItemSlot()
+
+void TestListWidget::testDoDelayedsSlot()
 {
+    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(doDelayedsSlot()));
+    
+    //dodelayed calls create context menu, which is already tested at
+    // testSetContextMenu -method, these tests are just for coverity's sake
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
-    VideoListDataModel *sourceModel = qobject_cast<VideoListDataModel*>(model->sourceModel());
+    mTestWidget->initialize(*model);
+    
+    delete mTestWidget->mContextMenu;
+    mTestWidget->mContextMenu = 0;   
+    int visibleCount = 0;
+    mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
+    
+    // no context menu
+    emit testSignal();
+    
+    QVERIFY(mTestWidget->mContextMenuActions.count() == 6);
+   
+    // context menu exists
+    emit testSignal();
+   
+    QVERIFY(mTestWidget->mContextMenuActions.count() == 6);
+    
+    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingStartedSlot()));
+}
 
-    // nothing to test yet
-    HbMessageBoxData::mLatestTxt = "";
-    mTestWidget->initialize(*model);
-    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(shareItemSlot()));
-    emit testSignal();
-    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
-    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(shareItemSlot()));
-    
-}
- 
 // ---------------------------------------------------------------------------
 // testDeleteItemSlot
 // ---------------------------------------------------------------------------
@@ -668,14 +801,6 @@
     setRowCount(1);
     mTestWidget->mModel = tmp;
     
-    // current index is invalid
-    mTestWidget->mCurrentIndex = QModelIndex();
-    emit testSignal();
-    QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
-    QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
-    setRowCount(0);
-    
     // data fetched from item is invalid
     setRowCount(1);
     mTestWidget->mCurrentIndex = model->index(0, 0, QModelIndex()); 
@@ -694,18 +819,19 @@
     // messagebox question returns false
     HbMessageBoxData::mQuestionReturnValue = false;
     emit testSignal();
-    QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
+    QVERIFY(VideoListDataModelData::dataAccessCount() == 2);
     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
-    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());;
+    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
     HbMessageBoxData::mLatestTxt = "";
     setRowCount(1);
     data = QString("test");
     VideoListDataModelData::setData( Qt::DisplayRole, data);
     
     // messagebox question returns true
+    VideoSortFilterProxyModelData::mDeleteItemsFails = false;
     HbMessageBoxData::mQuestionReturnValue = true;
     emit testSignal();
-    QVERIFY(VideoListDataModelData::dataAccessCount() == 1);
+    QVERIFY(VideoListDataModelData::dataAccessCount() == 3);
     QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
     QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 0);
     
@@ -731,40 +857,38 @@
 }
   
 // ---------------------------------------------------------------------------
+// testPlayItemSlot
+// ---------------------------------------------------------------------------
+//
+void TestListWidget::testPlayItemSlot()
+{
+    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
+    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
+    mTestWidget->initialize(*model);
+    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));
+    setRowCount(1);
+    TMPXItemId savedId = TMPXItemId(1,1);
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
+    
+    emit testSignal();
+    
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId == savedId);
+    
+    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playItemSlot()));    
+}
+
+// ---------------------------------------------------------------------------
 // testPlayAllSlot
 // ---------------------------------------------------------------------------
 //
 void TestListWidget::testPlayAllSlot()
 {
-    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
-
-    // nothing to test yet
-    HbMessageBoxData::mLatestTxt = "";
-    mTestWidget->initialize(*model);
-    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playAllSlot()));
+    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playAllSlot())); 
     emit testSignal();
-    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(playAllSlot()));    
 }
- 
-// ---------------------------------------------------------------------------
-// testAddItemSlot
-// ---------------------------------------------------------------------------
-//
-void TestListWidget::testAddItemSlot()
-{
-    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
-    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
-
-    // nothing to test yet
-    HbMessageBoxData::mLatestTxt = "";
-    mTestWidget->initialize(*model);
-    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addItemSlot()));
-    emit testSignal();
-    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
-    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addItemSlot()));    
-}
   
 // ---------------------------------------------------------------------------
 // testAddToCollectionSlot
@@ -775,16 +899,156 @@
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
 
-    // nothing to test yet
-    HbMessageBoxData::mLatestTxt = "";
-    mTestWidget->initialize(*model);
+    VideoListSelectionDialogData::mSelectionType = -1;
+    VideoListSelectionDialogData::mSettedMpxId = TMPXItemId::InvalidId();
+    
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
+    setRowCount(1);
+    TMPXItemId savedId = TMPXItemId(1,1);
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
+    
+    // no model
     emit testSignal();
-    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
-    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));    
+    QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
+    QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
+
+    mTestWidget->initialize(*model);
+    // dialog finding fails
+    VideoCollectionUiLoaderData::mFindFailureNameList.append(DOCML_NAME_DIALOG);
+    emit testSignal();
+    QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
+    QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
+    VideoCollectionUiLoaderData::mFindFailureNameList.clear();
+    
+    // invalid id at current index
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
+    emit testSignal();
+    QVERIFY(VideoListSelectionDialogData::mSelectionType == -1 );
+    QVERIFY(VideoListSelectionDialogData::mSettedMpxId == TMPXItemId::InvalidId());
+    
+    // valid id at current index
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    emit testSignal();
+    QVERIFY(VideoListSelectionDialogData::mSelectionType == VideoListSelectionDialog::ESelectCollection );
+    QVERIFY(VideoListSelectionDialogData::mSettedMpxId == savedId);
+    
+    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(addToCollectionSlot()));
+        
 }
  
 // ---------------------------------------------------------------------------
+// testRemoveFromCollectionSlot
+// ---------------------------------------------------------------------------
+// 
+void TestListWidget::testRemoveFromCollectionSlot()
+{
+    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
+    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
+
+    VideoSortFilterProxyModelData::mRemoveItemsFromAlbumReturnValue = 0;
+    VideoSortFilterProxyModelData::mLastItemId = TMPXItemId::InvalidId();
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    
+    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot()));
+    setRowCount(2);
+    TMPXItemId savedId = TMPXItemId(1,1);
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    // invalid id at index 0
+    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
+    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
+    
+    // no model
+    emit testSignal();
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
+    
+    mTestWidget->initialize(*model);
+    VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId::InvalidId();
+    
+    // collection id is invalid
+    emit testSignal();
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
+    VideoSortFilterProxyModelData::mOpenedItemId = TMPXItemId(1,2);
+    
+    // media at current index is invalid
+    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
+    emit testSignal();
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId::InvalidId());
+            
+    // all is ok
+    HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
+    emit testSignal();
+    
+    QVERIFY(VideoSortFilterProxyModelData::mLastItemId  == TMPXItemId(1,2));
+    // ids are to be saved at VideoSortFilterProxyModelData::mItemIds 
+    QVERIFY(VideoSortFilterProxyModelData::mItemIds.at(0) == savedId);
+    
+    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeFromCollectionSlot())); 
+}
+ 
+// ---------------------------------------------------------------------------
+// testRemoveCollectionSlot
+// ---------------------------------------------------------------------------
+//
+void TestListWidget::testRemoveCollectionSlot()
+{
+    VideoSortFilterProxyModelData::mRemoveAlbumsFails = false;
+    VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
+    VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
+    
+    HbMessageBoxData::mQuestionReturnValue = true;
+    HbMessageBoxData::mLatestTxt = "";
+    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    
+    setRowCount(1);
+    HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
+    
+    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
+    
+    setRowCount(2);
+    TMPXItemId savedId = TMPXItemId(1,1);
+    VideoSortFilterProxyModelData::mItemIds.clear();
+    // invalid id at index 0
+    VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId::InvalidId());
+    VideoSortFilterProxyModelData::mItemIds.append(savedId);
+    HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
+    
+    // no model
+    emit testSignal();
+    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
+    
+    mTestWidget->initialize(*model);
+    
+    // invalid data    
+    VideoListDataModelData::setData( Qt::DisplayRole, QVariant());
+    emit testSignal();
+    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(HbMessageBoxData::mLatestTxt.isEmpty());
+    
+    // valid data 
+    VideoListDataModelData::setData( Qt::DisplayRole, "test");
+    emit testSignal();
+    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(VideoSortFilterProxyModelData::mLastIndex.row() == 1);
+    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
+    
+    // msg box return false (for coverity)
+    VideoSortFilterProxyModelData::mLastIndex = QModelIndex();
+    HbMessageBoxData::mLatestTxt = "";
+    HbMessageBoxData::mQuestionReturnValue = false;
+    emit testSignal();
+    QVERIFY(!VideoSortFilterProxyModelData::mLastIndex.isValid());
+    QVERIFY(!HbMessageBoxData::mLatestTxt.isEmpty());
+    
+    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(removeCollectionSlot()));
+}
+
+// ---------------------------------------------------------------------------
 // testOpenDetailsSlot
 // ---------------------------------------------------------------------------
 //
@@ -840,10 +1104,9 @@
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionWrapper::EAllVideos);
 
-    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&)));
+    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)));
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
     // no model
-    hbInstance->mWindowses.append(mDummyMainWnd);
     emit testSignal();        
     QVERIFY(spysignal.count() == 0);
         
@@ -858,7 +1121,21 @@
     
     disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
 }
-  
+
+// ---------------------------------------------------------------------------
+// testScrollingEndedSlot
+// ---------------------------------------------------------------------------
+//
+void TestListWidget::testScrollingStartedSlot()
+{
+    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingStartedSlot()));
+    
+    emit testSignal();
+    
+    
+    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollingStartedSlot()));
+}
+
 // ---------------------------------------------------------------------------
 // testScrollingEndedSlot
 // ---------------------------------------------------------------------------
@@ -906,7 +1183,7 @@
 }
 
 // ---------------------------------------------------------------------------
-// testScrollingEndedSlot
+// testScrollPositionChangedSlot
 // ---------------------------------------------------------------------------
 // 
 void TestListWidget::testScrollPositionChangedSlot()
@@ -936,4 +1213,12 @@
     disconnect(this, SIGNAL(testSignal(const QPointF&)), mTestWidget, SLOT(scrollPositionChangedSlot(const QPointF&)));
 }
 
+void TestListWidget::testScrollPositionTimerSlot()
+{
+    connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollPositionTimerSlot()));
+    emit testSignal();
+    disconnect(this, SIGNAL(testSignal()), mTestWidget, SLOT(scrollPositionTimerSlot()));
+        
+}
+
 // end of file