videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp
changeset 41 229f037ce963
parent 40 13331705e488
child 44 518105d52e45
--- a/videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp	Fri Jun 11 09:44:20 2010 +0300
+++ b/videocollection/videocollectionview/tsrc/testlistwidget/src/testlistwidget.cpp	Thu Jun 24 09:49:13 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-// Version : %version: 52 %
+// Version : %version: 56 %
 
 #include <qmap.h>
 #include <vcxmyvideosdefs.h>
@@ -147,6 +147,7 @@
 void TestListWidget::initTestCase()
 {
     qRegisterMetaType<QModelIndex>("QModelIndex");
+    qRegisterMetaType<TMPXItemId>("TMPXItemId");
 }
 
 // ---------------------------------------------------------------------------
@@ -188,7 +189,7 @@
 }
  
 // ---------------------------------------------------------------------------
-// testInitialize
+// testInitialized
 // ---------------------------------------------------------------------------
 //
 void TestListWidget::testInitialize()
@@ -200,14 +201,12 @@
     QVERIFY(mTestWidget->initialize(*model) == 0);
 	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->initialize(*model, true) == 0);
     QVERIFY(mTestWidget->mModel == model);  
     QVERIFY(mTestWidget->mVideoServices == service);
-    QVERIFY(mTestWidget->mIsService == true);
     service->decreaseReferenceCount();
     service = 0;
 	
@@ -228,20 +227,25 @@
     QCOMPARE(HbListView::mLatestVisibility, false);
     QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
     
-    // model exist, no current view default level: succeeds
+    // model exist, no current view default level: fails
     QVERIFY(mTestWidget->initialize(*model) == 0);
-    QVERIFY(mTestWidget->activate() == 0);
+    QVERIFY(mTestWidget->activate() == -1);
     QCOMPARE(HbMenuData::mEnabledSetted, false);
-    QCOMPARE(HbListView::mLatestVisibility, true);
-    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 1);
+    QCOMPARE(HbListView::mLatestVisibility, false);
+    QCOMPARE(VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled, 0);
     
     HbMenuData::mEnabledSetted = true;
     HbListView::mLatestVisibility = false;
     HbListView::mLatestEnableValue = false;
     VideoThumbnailTestData::mBackgroundThumbnailFetchingEnabled = 0;
-    
+    HbView *tmpView = new HbView();
     // model exists, current view exists, level neither ELevelAlbum nor ELevelDefaultColl 
-    HbView *tmpView = new HbView();
+    delete mTestWidget;
+    mTestWidget = 0;
+    mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
+    model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
+    
+    QVERIFY(mTestWidget->initialize(*model, 0, VideoCollectionCommon::ELevelVideos) == 0);
     hbInstance->allMainWindows().value(0)->addView(tmpView);
     QVERIFY(mTestWidget->activate() == 0);
     QCOMPARE(HbMenuData::mEnabledSetted, true);
@@ -277,16 +281,42 @@
     // activate:
     // -is service
     // -current service is browse
-    VideoServices *videoServices = VideoServices::instance();
+    VideoServices *videoServices = VideoServices::instance();    
+    delete mTestWidget;
+    mTestWidget = 0;
+    mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
     videoServices->mCurrentService = VideoServices::EBrowse;
+    QVERIFY(mTestWidget->initialize(*model, true) == 0);
+    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelDefaultColl) == 0);
+    QVERIFY(mTestWidget->mNavKeyAction);
+    QVERIFY(HbAction::mNavAction == Hb::BackAction);    
+    
+    // activate:
+    // -is service
+    // -current service is fetch
+    // -activating all videos
     delete mTestWidget;
     mTestWidget = 0;
     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
-    QVERIFY(mTestWidget->initialize(*model, videoServices) == 0);
-    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelDefaultColl) == 0);
+    videoServices->mCurrentService = VideoServices::EUriFetcher;
+    QVERIFY(mTestWidget->initialize(*model, true) == 0);
+    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelVideos) == 0);
     QVERIFY(mTestWidget->mNavKeyAction);
     QVERIFY(HbAction::mNavAction == Hb::QuitAction);
     
+    // activate:
+    // -is service
+    // -current service is fetch
+    // -activating album
+    delete mTestWidget;
+    mTestWidget = 0;
+    mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
+    videoServices->mCurrentService = VideoServices::EUriFetcher;
+    QVERIFY(mTestWidget->initialize(*model, true) == 0);
+    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
+    QVERIFY(mTestWidget->mNavKeyAction);
+    QVERIFY(HbAction::mNavAction == Hb::BackAction);
+    
     hbInstance->allMainWindows().value(0)->removeView(tmpView);
     delete tmpView;
     
@@ -387,7 +417,7 @@
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
 
-    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)));
+    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
     QSignalSpy spysignalFileUri(mTestWidget, SIGNAL(fileUri(const QString&)));
     QSignalSpy spysignalActivated(mTestWidget, SIGNAL(activated(const QModelIndex&)));
     
@@ -451,11 +481,10 @@
     spysignalActivated.clear();
     
     // current level is not ELevelCategory
-    // mIsService is true, variant gotten is invalid
+    // mVideoServices exist, variant gotten is invalid
     mTestWidget->mService = VideoServices::EUriFetcher;
     VideoListDataModelData::setData(VideoCollectionCommon::KeyTitle, QVariant());
     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelVideos;
-    mTestWidget->mIsService = true;
     mTestWidget->mVideoServices = videoServices;
     fetchIndex = model->index(5, 0, QModelIndex());
     mTestWidget->callEmiteActivated(fetchIndex);
@@ -465,7 +494,7 @@
     QVERIFY(VideoSortFilterProxyModelData::mLastItemId == TMPXItemId::InvalidId());
     
     // current level is not ELevelCategory
-    // mIsService is true, variant gotten is valid
+    // mVideoServices, variant gotten is valid
     mTestWidget->mService = VideoServices::EUriFetcher;
     VideoListDataModelData::setData(VideoCollectionCommon::KeyFilePath, data);
     fetchIndex = model->index(0, 0, QModelIndex());
@@ -480,8 +509,8 @@
     spysignalActivated.clear();
     
     // current level is not ELevelCategory
-    // mIsService is false
-    mTestWidget->mIsService = false;
+    // mVideoServices does not exists
+    mTestWidget->mVideoServices = 0;
     fetchIndex = model->index(0, 0, QModelIndex());
     mTestWidget->callEmiteActivated(fetchIndex);
     QVERIFY(spysignal.count() == 0);
@@ -563,24 +592,26 @@
     QVERIFY(HbMenuData::mExecPoint != point);
     mTestWidget->mModel = tmp;
     
-    // gotten id != KVcxMvcMediaTypeVideo, service is true and id != KVcxMvcMediaTypeAlbum
+    VideoServices *videoServices = VideoServices::instance();
+    
+    // gotten id != KVcxMvcMediaTypeVideo, service exists true and id != KVcxMvcMediaTypeAlbum
     VideoSortFilterProxyModelData::mItemIds.clear();
     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
-    mTestWidget->mIsService = true;
+    mTestWidget->mVideoServices = videoServices;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint == point);
     
-    // gotten id != KVcxMvcMediaTypeVideo, service is false and id !=  KVcxMvcMediaTypeAlbum
+    // gotten id != KVcxMvcMediaTypeVideo, service does not exists and id !=  KVcxMvcMediaTypeAlbum
     VideoSortFilterProxyModelData::mItemIds.clear();
     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,1));
-    mTestWidget->mIsService = false;
+    mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint == point);
     
-    // gotten id != KVcxMvcMediaTypeVideo, service is false and id ==  KVcxMvcMediaTypeAlbum
+    // gotten id != KVcxMvcMediaTypeVideo, service service does not exists and id ==  KVcxMvcMediaTypeAlbum
     VideoSortFilterProxyModelData::mItemIds.clear();
     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,2));
-    mTestWidget->mIsService = false;
+    mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint == point);
     HbMenuData::mExecPoint = QPointF();
@@ -588,7 +619,7 @@
     // gotten id == KVcxMvcMediaTypeVideo
     VideoSortFilterProxyModelData::mItemIds.clear();
     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,02));
-    mTestWidget->mIsService = false;
+    mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     QVERIFY(HbMenuData::mExecPoint == point);
     HbMenuData::mExecPoint = QPointF();
@@ -607,12 +638,11 @@
     // -is service
     // -current service is browse
     HbMenuData::mExecPoint = QPointF();
-    VideoServices *videoServices = VideoServices::instance();
     videoServices->mCurrentService = VideoServices::EBrowse;
     delete mTestWidget;
     mTestWidget = 0;
     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
-    QVERIFY(mTestWidget->initialize(*model, videoServices) == 0);
+    QVERIFY(mTestWidget->initialize(*model, true) == 0);
     QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelDefaultColl) == 0);
     mTestWidget->mItem->mModelIndex = model->index(0, 0, QModelIndex());
     mTestWidget->callLongPressedSlot(item, point);
@@ -622,19 +652,61 @@
     QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionDetails]->isVisible());
     
     // long press gesture:
-    // -is service
-    // -current service is EUriFetcher
+    // - is service
+    // - current service is EUriFetcher
+    // - category view activated
     HbMenuData::mExecPoint = QPointF();
     videoServices = VideoServices::instance();
     videoServices->mCurrentService = VideoServices::EUriFetcher;
     delete mTestWidget;
     mTestWidget = 0;
     mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
-    QVERIFY(mTestWidget->initialize(*model, videoServices) == 0);
+    QVERIFY(mTestWidget->initialize(*model, true) == 0);
+    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelCategory) == 0);
+    mTestWidget->mItem->mModelIndex = model->index(0, 0, QModelIndex());
+    mTestWidget->callLongPressedSlot(item, point);
+    QCOMPARE(mTestWidget->mContextMenuActions.count(), 4);
+    QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionOpen]->isVisible()); 
+    QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionAttach]->isVisible());    
+    QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionPlay]->isVisible());    
+    QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionDetails]->isVisible());
+    
+    // long press gesture:
+    // - is service
+    // - current service is EUriFetcher
+    // - user defined collection activated 
+    HbMenuData::mExecPoint = QPointF();
+    videoServices = VideoServices::instance();
+    videoServices->mCurrentService = VideoServices::EUriFetcher;
+    delete mTestWidget;
+    mTestWidget = 0;
+    mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
+    QVERIFY(mTestWidget->initialize(*model, true) == 0);
+    QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelAlbum) == 0);
+    mTestWidget->mItem->mModelIndex = model->index(0, 0, QModelIndex());
+    mTestWidget->callLongPressedSlot(item, point);
+    QCOMPARE(mTestWidget->mContextMenuActions.count(), 4);
+    QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionOpen]->isVisible()); 
+    QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionAttach]->isVisible());    
+    QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionPlay]->isVisible());    
+    QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionDetails]->isVisible());
+    
+    // long press gesture:
+    // - is service
+    // - current service is EUriFetcher
+    // - default collection activated 
+    HbMenuData::mExecPoint = QPointF();
+    videoServices = VideoServices::instance();
+    videoServices->mCurrentService = VideoServices::EUriFetcher;
+    delete mTestWidget;
+    mTestWidget = 0;
+    mTestWidget = new ListWidgetTester(mTestUiLoader, mTempView);
+    QVERIFY(mTestWidget->initialize(*model, true) == 0);
     QVERIFY(mTestWidget->activate(VideoCollectionCommon::ELevelDefaultColl) == 0);
     mTestWidget->mItem->mModelIndex = model->index(0, 0, QModelIndex());
     mTestWidget->callLongPressedSlot(item, point);
-    QCOMPARE(mTestWidget->mContextMenuActions.count(), 3);
+    QCOMPARE(mTestWidget->mContextMenuActions.count(), 4);
+    QVERIFY(!mTestWidget->mContextMenuActions[VideoListWidget::EActionOpen]->isVisible()); 
     QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionAttach]->isVisible());    
     QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionPlay]->isVisible());    
     QVERIFY(mTestWidget->mContextMenuActions[VideoListWidget::EActionDetails]->isVisible());
@@ -659,7 +731,7 @@
     setRowCount(1);
     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
     mTestWidget->mItem->mModelIndex = HbListView::mCurrentIndex ;
-    
+     
     TMPXItemId itemId;
     QPointF point(1,1);
     itemId.iId2 = 0;
@@ -701,8 +773,8 @@
     
     // mCurrentLevel == ELevelCategory
     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelCategory;
-    // mIsService is false
-    mTestWidget->mIsService = false;
+    // service does not exist
+    mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     iter = mTestWidget->mContextMenuActions.begin();
     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -717,8 +789,9 @@
     }
     QVERIFY(visibleCount == 1);
     
-    // mIsService is true, mpxId.iId2 != KVcxMvcMediaTypeAlbum
-    mTestWidget->mIsService = true;
+    VideoServices *videoServices = VideoServices::instance();
+    // service exists, mpxId.iId2 != KVcxMvcMediaTypeAlbum
+    mTestWidget->mVideoServices = videoServices;
     mTestWidget->callLongPressedSlot(item, point);
     iter = mTestWidget->mContextMenuActions.begin();
     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -733,12 +806,11 @@
     }
     QVERIFY(visibleCount == 1);
     
-    // mIsService is false, mpxId.iId2 == KVcxMvcMediaTypeAlbum
-    //VideoSortFilterProxyModelData::mItemIds.clear();
+    // service does not exists , mpxId.iId2 == KVcxMvcMediaTypeAlbum
     VideoSortFilterProxyModelData::mItemIds.append(TMPXItemId(1,KVcxMvcMediaTypeAlbum));
     HbListView::mCurrentIndex = model->index(1, 0, QModelIndex());
     item->mModelIndex = model->index(1, 0, QModelIndex());
-    mTestWidget->mIsService = false;
+    mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     iter = mTestWidget->mContextMenuActions.begin();
     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -756,8 +828,8 @@
     
     // mCurrentLevel == ELevelAlbum
     mTestWidget->mCurrentLevel = VideoCollectionCommon::ELevelAlbum;
-    // mIsService is false
-    mTestWidget->mIsService = false;
+    // service does not exists
+    mTestWidget->mVideoServices = 0;
     mTestWidget->callLongPressedSlot(item, point);
     iter = mTestWidget->mContextMenuActions.begin();
     QVERIFY(iter != mTestWidget->mContextMenuActions.end());
@@ -772,14 +844,13 @@
     }
     QVERIFY(visibleCount == 4);    
     
-    // mIsService is true
+    // service does exists
     // object needs to be resetted for the service use
     cleanup();
     init();
     setRowCount(1);
     model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
-    VideoServices *videoServices = VideoServices::instance();
-    mTestWidget->mIsService = true;
+    mTestWidget->mVideoServices = videoServices;
     videoServices->mCurrentService = VideoServices::EUriFetcher;
     mTestWidget->initialize(*model, videoServices);
     HbListView::mCurrentIndex = model->index(0, 0, QModelIndex());
@@ -817,6 +888,7 @@
         ++iter;
     }
     QVERIFY(visibleCount == 0);
+    videoServices->decreaseReferenceCount();
 }
 
 void TestListWidget::testDoDelayedsSlot()
@@ -1315,7 +1387,7 @@
     VideoCollectionWrapper &wrapper = VideoCollectionWrapper::instance();
     VideoSortFilterProxyModel *model = wrapper.getModel(VideoCollectionCommon::EModelTypeAllVideos);
 
-    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const QModelIndex&)));
+    QSignalSpy spysignal(mTestWidget, SIGNAL(collectionOpened(bool, const QString&, const TMPXItemId&)));
     connect(this, SIGNAL(testSignal()), mTestWidget, SLOT(back()));
     // no model
     emit testSignal();