diff -r 45e72b57a2fd -r e3cecb93e76a videocollection/videocollectionview/tsrc/testlistview/src/testlistview.cpp --- a/videocollection/videocollectionview/tsrc/testlistview/src/testlistview.cpp Tue Jul 06 14:17:50 2010 +0300 +++ b/videocollection/videocollectionview/tsrc/testlistview/src/testlistview.cpp Wed Aug 18 09:50:14 2010 +0300 @@ -15,7 +15,7 @@ * */ -// Version : %version: 48 % +// Version : %version: 51 % #define private public #include "videoservices.h" @@ -63,6 +63,8 @@ #include "videocollectionuiloaderdata.h" #include "videolistdatamodeldata.h" #include "xqserviceutilxtra.h" +#include "videooperatorservicedata.h" +#include "videooperatorservice.h" // --------------------------------------------------------------------------- // main @@ -97,7 +99,7 @@ // init // --------------------------------------------------------------------------- // -void TestListView::init(bool initTestView ) +void TestListView::init(bool initTestView) { XQServiceUtilXtra::service = false; mUiLoader = new VideoCollectionUiLoader(); @@ -114,6 +116,8 @@ QVERIFY(mTestView); if(initTestView) { + VideoOperatorServiceData::mIcons.append("qtg_mono_ovistore"); + VideoOperatorServiceData::mUris.append("testuri"); QVERIFY(mTestView->initializeView() == 0); } @@ -293,6 +297,7 @@ void TestListView::testMenus() { init(); + TMPXItemId tmpId = TMPXItemId::InvalidId(); mTestView->activateView(tmpId); @@ -300,7 +305,7 @@ QList tbActions = mTestView->toolBar()->actions(); QList tbGroupActions; QList tbGroupActions2; - + // All videos is open for default, verify. QVERIFY( mTestView->mToolbarViewsActionGroup != 0 ); QVERIFY( mTestView->mToolbarCollectionActionGroup != 0 ); @@ -311,6 +316,7 @@ QCOMPARE( tbGroupActions.count(), 3 ); QCOMPARE( tbGroupActions2.count(), 2 ); QVERIFY( tbGroupActions.at(0)->isChecked() ); // First is checked. + QCOMPARE( VideoOperatorServiceData::mLoadCallCount, 6); // Verify checkable and visible toolbar actions. HbAction* allVideosAction = mTestView->mToolbarActions[VideoListView::ETBActionAllVideos]; @@ -788,12 +794,26 @@ cleanup(); } // --------------------------------------------------------------------------- -// Slot: test open services view slot +// Slot: test open operator service slot // --------------------------------------------------------------------------- // -void TestListView::testOpenServicesViewSlot() +void TestListView::testOpenOperatorServiceSlot() { - QFAIL("Feature not yet implemented!"); + init(); + TMPXItemId tmpId = TMPXItemId::InvalidId(); + mTestView->activateView(tmpId); + VideoOperatorServiceData::mLaunchServiceCallCount = 0; + connect(this, SIGNAL(testSignal2()), mTestView, SLOT(openOperatorServiceSlot())); + emit testSignal2(); + QCOMPARE(VideoOperatorServiceData::mLaunchServiceCallCount, 1); + cleanup(); + + init(); + VideoOperatorServiceData::mLaunchServiceCallCount = 0; + connect(this, SIGNAL(testSignal2()), mTestView, SLOT(openOperatorServiceSlot())); + emit testSignal2(); + QCOMPARE(VideoOperatorServiceData::mLaunchServiceCallCount, 0); + cleanup(); } // --------------------------------------------------------------------------- @@ -1177,71 +1197,119 @@ // void TestListView::testCollectionOpenedSlot() { - QString testString; - - // View is not initialized. + QString testString(""); + TMPXItemId itemId = TMPXItemId::InvalidId(); + int listWidgetActivateCount = 0; + init(false); - connect(this, SIGNAL(testCollectionOpenedSignal(bool, const QString&, const QModelIndex&)), - mTestView, SLOT(collectionOpenedSlot(bool, const QString&, const QModelIndex&))); - emit testCollectionOpenedSignal(false, testString, QModelIndex()); - cleanup(); - - // No toolbar actions. - init(true); - mUiLoader->findWidget(DOCML_NAME_VC_COLLECTIONWIDGET); // load model - QModelIndex index = VideoCollectionWrapperData::mCollectionsModel->index(0, 0); - // Clear actions. - QMap backupActions = - QMap(mTestView->mToolbarActions); - mTestView->mToolbarActions.clear(); - connect(this, SIGNAL(testCollectionOpenedSignal(bool, const QString&, const QModelIndex&)), - mTestView, SLOT(collectionOpenedSlot(bool, const QString&, const QModelIndex&))); - emit testCollectionOpenedSignal(true, testString, index); - mTestView->mToolbarActions.unite(backupActions); - cleanup(); - - // index is invalid - init(); - emit testCollectionOpenedSignal(true, testString, QModelIndex()); + // collection content widget does not exist + VideoCollectionUiLoaderData::mFindFailure = true; + connect(this, SIGNAL(testCollectionOpenedSignal(bool, const QString&, const TMPXItemId &)), + mTestView, SLOT(collectionOpenedSlot(bool, const QString&, const TMPXItemId &))); + emit testCollectionOpenedSignal(true, testString, itemId); + VideoCollectionUiLoaderData::mFindFailure = false; + QVERIFY(!mTestView->mCurrentList); cleanup(); - // current list is null - init(); - VideoListWidget *tmpList = mTestView->mCurrentList; - emit testCollectionOpenedSignal(true, testString, index); - mTestView->mCurrentList = tmpList; - cleanup(); + init(true); + connect(this, SIGNAL(testCollectionOpenedSignal(bool, const QString&, const TMPXItemId &)), + mTestView, SLOT(collectionOpenedSlot(bool, const QString&, const TMPXItemId &))); + QVERIFY(mTestView->mCurrentList->getLevel() < VideoCollectionCommon::ELevelDefaultColl ); + VideoListWidget *listWidget = mTestView->mCurrentList; + listWidgetActivateCount = VideoListWidgetData::mActivateCount; + + // id is invalid + emit testCollectionOpenedSignal(true, testString, itemId); + QVERIFY(mTestView->mCurrentList == listWidget); + QVERIFY(mTestView->mCurrentList->getLevel() < VideoCollectionCommon::ELevelDefaultColl ); + QVERIFY(listWidgetActivateCount == VideoListWidgetData::mActivateCount); + itemId = TMPXItemId(1,1); + listWidget->activate(); + listWidget->getModel()->open(VideoCollectionCommon::ELevelDefaultColl); + + VideoListWidget *collectionContent = mUiLoader->findWidget(DOCML_NAME_VC_COLLECTIONCONTENTWIDGET); - // current list is collectioncontentwidget - init(); - cleanup(); + // current list is collection content + VideoListWidget *tmpList = mTestView->mCurrentList; + mTestView->mCurrentList = collectionContent; + listWidgetActivateCount = VideoListWidgetData::mActivateCount; + emit testCollectionOpenedSignal(true, testString, itemId); + QVERIFY(listWidgetActivateCount == VideoListWidgetData::mActivateCount); + mTestView->mCurrentList = tmpList; - // index is for video item and not for collection. - init(); + // collection list widget has no model + VideoSortFilterProxyModel *nullModel = 0; + VideoSortFilterProxyModel *tempModel = collectionContent->getModel(); + collectionContent->initialize(*nullModel, false, VideoCollectionCommon::ELevelDefaultColl); + listWidget = mTestView->mCurrentList; + listWidgetActivateCount = VideoListWidgetData::mActivateCount; + emit testCollectionOpenedSignal(true, testString, itemId); + QVERIFY(listWidgetActivateCount == VideoListWidgetData::mActivateCount); + QVERIFY(mTestView->mCurrentList == listWidget); + QVERIFY(mTestView->mCurrentList->getLevel() < VideoCollectionCommon::ELevelDefaultColl ); cleanup(); - - // non-error cases: - testString = "Test text string"; - + init(true); + itemId = TMPXItemId::InvalidId(); + VideoCollectionViewUtilsData::mWidgetLevel = VideoCollectionCommon::ELevelCategory; + mTestView->activateView(itemId); + connect(this, SIGNAL(testCollectionOpenedSignal(bool, const QString&, const TMPXItemId &)), + mTestView, SLOT(collectionOpenedSlot(bool, const QString&, const TMPXItemId &))); + + collectionContent = mUiLoader->findWidget(DOCML_NAME_VC_COLLECTIONCONTENTWIDGET); // Collection opened with default collection. - init(); - mTestView->mCurrentList = mUiLoader->findWidget(DOCML_NAME_VC_COLLECTIONWIDGET); - index = VideoCollectionWrapperData::mCollectionsModel->index(0, 0); - connect(this, SIGNAL(testCollectionOpenedSignal(bool, const QString&, const QModelIndex&)), - mTestView, SLOT(collectionOpenedSlot(bool, const QString&, const QModelIndex&))); - emit testCollectionOpenedSignal(true, testString, index); - // Verify checkable and visible toolbar actions. - cleanup(); - - // Collection opened with userdefined album. - init(); - cleanup(); - - // Collection closed. - init(); - connect(this, SIGNAL(testCollectionOpenedSignal(bool, const QString&, const QModelIndex&)), - mTestView, SLOT(collectionOpenedSlot(bool, const QString&, const QModelIndex&))); - emit testCollectionOpenedSignal(false, testString, QModelIndex()); + itemId = TMPXItemId(1,1); + listWidgetActivateCount = VideoListWidgetData::mActivateCount; + emit testCollectionOpenedSignal(true, testString, itemId); + QVERIFY(VideoListWidgetData::mActivateCount == listWidgetActivateCount + 1); + QVERIFY(mTestView->mCurrentList == collectionContent); + QVERIFY(mTestView->mCurrentList->getLevel() == VideoCollectionCommon::ELevelDefaultColl ); + QVERIFY(!HbView::mSetItemVisibleLast); + + // returning collection widget + emit testCollectionOpenedSignal(false, testString, itemId); + QVERIFY(mTestView->mCurrentList != collectionContent); + QVERIFY(mTestView->mCurrentList->getLevel() == VideoCollectionCommon::ELevelCategory ); + QVERIFY(HbView::mSetItemVisibleLast); + + // Collection opened with album. + itemId = TMPXItemId(1,2); + listWidgetActivateCount = VideoListWidgetData::mActivateCount; + emit testCollectionOpenedSignal(true, testString, itemId); + QVERIFY(VideoListWidgetData::mActivateCount == listWidgetActivateCount + 1); + QVERIFY(mTestView->mCurrentList == collectionContent); + QVERIFY(mTestView->mCurrentList->getLevel() == VideoCollectionCommon::ELevelAlbum ); + QVERIFY(HbView::mSetItemVisibleLast); + + // returning collection widget (no mToolbarViewsActionGroup for coverage) + HbView::mSetItemVisibleLast = false; + QActionGroup *tmpActionGroup = mTestView->mToolbarViewsActionGroup; + mTestView->mToolbarViewsActionGroup = 0; + emit testCollectionOpenedSignal(false, testString, itemId); + QVERIFY(mTestView->mCurrentList != collectionContent); + QVERIFY(mTestView->mCurrentList->getLevel() == VideoCollectionCommon::ELevelCategory ); + QVERIFY(!HbView::mSetItemVisibleLast); + mTestView->mToolbarViewsActionGroup = tmpActionGroup; + + // service + VideoServices *tmpService = VideoServices::instance(); + mTestView->mVideoServices = tmpService; + itemId = TMPXItemId(1,1); + listWidgetActivateCount = VideoListWidgetData::mActivateCount; + emit testCollectionOpenedSignal(true, testString, itemId); + QVERIFY(VideoListWidgetData::mActivateCount == listWidgetActivateCount + 1); + QVERIFY(mTestView->mCurrentList == collectionContent); + QVERIFY(mTestView->mCurrentList->getLevel() == VideoCollectionCommon::ELevelDefaultColl ); + QVERIFY(!HbView::mSetItemVisibleLast); + + // returning collection widget (no mToolbarServiceExtension for coverage) + HbToolBarExtension *tmpExtension = mTestView->mToolbarServiceExtension; + mTestView->mToolbarServiceExtension = 0; + emit testCollectionOpenedSignal(false, testString, itemId); + QVERIFY(mTestView->mCurrentList != collectionContent); + QVERIFY(mTestView->mCurrentList->getLevel() == VideoCollectionCommon::ELevelCategory ); + QVERIFY(HbView::mSetItemVisibleLast); + mTestView->mToolbarServiceExtension = tmpExtension; + cleanup(); } @@ -1255,8 +1323,6 @@ setRowCount(1); mTestView->mModelReady = true; connect(this, SIGNAL(testLayoutChangedSignal()), mTestView, SLOT(layoutChangedSlot())); - connect(this, SIGNAL(testCollectionOpenedSignal(bool, const QString&, const QModelIndex&)), - mTestView, SLOT(collectionOpenedSlot(bool, const QString&, const QModelIndex&))); VideoListWidget *videoListWidget = mUiLoader->findWidget(DOCML_NAME_VC_VIDEOLISTWIDGET); VideoListWidget *collectionWidget = mUiLoader->findWidget(DOCML_NAME_VC_COLLECTIONWIDGET); @@ -1685,4 +1751,61 @@ cleanup(); } +// --------------------------------------------------------------------------- +// testCreateOperatorServicesToolbar +// --------------------------------------------------------------------------- +// +void TestListView::testCreateOperatorServicesToolbar() +{ + // Only one service. + init(); + HbToolBarExtension::mAddActionCallCount = 0; + VideoOperatorServiceData::mIcons.clear(); + VideoOperatorServiceData::mUris.clear(); + VideoOperatorServiceData::mIcons.append("qtg_mono_ovistore"); + VideoOperatorServiceData::mUris.append("testuri"); + QCOMPARE(mTestView->mVideoOperatorServices.count(), 0); + TMPXItemId tmpId = TMPXItemId::InvalidId(); + mTestView->activateView(tmpId); + QCOMPARE(mTestView->mVideoOperatorServices.count(), 1); + QVERIFY(mTestView->mToolbarActions[VideoListView::ETBActionServices] != 0); + QVERIFY(mTestView->mToolbarServiceExtension == 0); + QCOMPARE(HbToolBarExtension::mAddActionCallCount, 0); + cleanup(); + + // Multiple, 3, services + init(); + HbToolBarExtension::mAddActionCallCount = 0; + VideoOperatorServiceData::mIcons.clear(); + VideoOperatorServiceData::mUris.clear(); + VideoOperatorServiceData::mIcons.append("qtg_mono_ovistore"); + VideoOperatorServiceData::mUris.append("testuri"); + VideoOperatorServiceData::mIcons.append("qtg_mono_ovistore2"); + VideoOperatorServiceData::mUris.append("testuri2"); + VideoOperatorServiceData::mIcons.append("qtg_mono_ovistore3"); + VideoOperatorServiceData::mUris.append("testuri3"); + QCOMPARE(mTestView->mVideoOperatorServices.count(), 0); + tmpId = TMPXItemId::InvalidId(); + mTestView->activateView(tmpId); + QCOMPARE(mTestView->mVideoOperatorServices.count(), 3); + QVERIFY(mTestView->mToolbarActions[VideoListView::ETBActionServices] == 0); + QVERIFY(mTestView->mToolbarServiceExtension != 0); + QCOMPARE(HbToolBarExtension::mAddActionCallCount, 3); + cleanup(); + + // Services already loaded. + init(); + VideoOperatorServiceData::mIcons.clear(); + VideoOperatorServiceData::mUris.clear(); + VideoOperatorServiceData::mIcons.append("qtg_mono_ovistore"); + VideoOperatorServiceData::mUris.append("testuri"); + mTestView->mVideoOperatorServices.append(new VideoOperatorService()); + mTestView->activateView(tmpId); + QCOMPARE(mTestView->mVideoOperatorServices.count(), 1); + QVERIFY(mTestView->mToolbarActions[VideoListView::ETBActionServices] == 0); + QVERIFY(mTestView->mToolbarServiceExtension == 0); + cleanup(); + +} + // End of file