mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/src/unittest_mpcollectioncontainers.cpp
changeset 55 f3930dda3342
parent 51 560ce2306a17
equal deleted inserted replaced
51:560ce2306a17 55:f3930dda3342
    21 #include <hblistview.h>
    21 #include <hblistview.h>
    22 #include <hblistviewitem.h>
    22 #include <hblistviewitem.h>
    23 #include <hbindexfeedback.h>
    23 #include <hbindexfeedback.h>
    24 #include <hbgroupbox.h>
    24 #include <hbgroupbox.h>
    25 #include <hgmediawall.h>
    25 #include <hgmediawall.h>
       
    26 #include <hbparameterlengthlimiter.h>
    26 
    27 
    27 #include "mpcommondefs.h"
    28 #include "mpcommondefs.h"
    28 #include "mpcollectiondocumentloader.h"
    29 #include "mpcollectiondocumentloader.h"
    29 #include "stub/inc/mpcollectionview.h"
    30 #include "stub/inc/mpcollectionview.h"
    30 #include "stub/inc/mpmpxcollectiondata.h"
    31 #include "stub/inc/mpmpxcollectiondata.h"
    31 #include "stub/inc/mpcollectiondatamodel.h"
    32 #include "stub/inc/mpcollectiondatamodel.h"
       
    33 #include "stub/inc/mpengine.h"
       
    34 #include "stub/inc/mpenginefactory.h"
    32 
    35 
    33 #include "unittest_mpcollectioncontainers.h"
    36 #include "unittest_mpcollectioncontainers.h"
    34 
    37 
    35 
    38 
    36 // Do this so we can access all member variables.
    39 // Do this so we can access all member variables.
   133     mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
   136     mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
   134     QCOMPARE(mTest->mCollectionContext, ECollectionContextAllSongs);
   137     QCOMPARE(mTest->mCollectionContext, ECollectionContextAllSongs);
   135     QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs);
   138     QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs);
   136     MpCollectionContainerAllSongs *allSongs = static_cast<MpCollectionContainerAllSongs*>(mTest);
   139     MpCollectionContainerAllSongs *allSongs = static_cast<MpCollectionContainerAllSongs*>(mTest);
   137     QVERIFY(allSongs->mList == 0);
   140     QVERIFY(allSongs->mList == 0);
   138     QVERIFY(allSongs->mInfoBar == 0);
   141     QVERIFY(allSongs->mInfoBar != 0);
   139     QVERIFY(allSongs->mNoMusic == 0);
   142     QVERIFY(allSongs->mNoMusic == 0);
   140     QVERIFY(allSongs->mIndexFeedback != 0);
   143     QVERIFY(allSongs->mIndexFeedback != 0);
   141     QVERIFY(allSongs->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter);
   144     QVERIFY(allSongs->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter);
   142 }
   145 }
   143 
   146 
   150     mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists);
   153     mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists);
   151     QCOMPARE(mTest->mCollectionContext, ECollectionContextArtists);
   154     QCOMPARE(mTest->mCollectionContext, ECollectionContextArtists);
   152     QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtists);
   155     QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtists);
   153     MpCollectionContainerArtists *artists = static_cast<MpCollectionContainerArtists*>(mTest);
   156     MpCollectionContainerArtists *artists = static_cast<MpCollectionContainerArtists*>(mTest);
   154     QVERIFY(artists->mList == 0);
   157     QVERIFY(artists->mList == 0);
   155     QVERIFY(artists->mInfoBar == 0);
   158     QVERIFY(artists->mInfoBar != 0);
   156     QVERIFY(artists->mNoMusic == 0);
   159     QVERIFY(artists->mNoMusic == 0);
   157     QVERIFY(artists->mIndexFeedback != 0);
   160     QVERIFY(artists->mIndexFeedback != 0);
   158     QVERIFY(artists->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter);
   161     QVERIFY(artists->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter);
   159 
   162 
   160     temp = mView->mContainerFactory->createContainer(ECollectionContextArtistAlbums);
   163     temp = mView->mContainerFactory->createContainer(ECollectionContextArtistAlbums);
   184     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
   187     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
   185     QCOMPARE(mTest->mCollectionContext, ECollectionContextAlbums);
   188     QCOMPARE(mTest->mCollectionContext, ECollectionContextAlbums);
   186     QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums);
   189     QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums);
   187     MpCollectionContainerAlbums *albums = static_cast<MpCollectionContainerAlbums*>(mTest);
   190     MpCollectionContainerAlbums *albums = static_cast<MpCollectionContainerAlbums*>(mTest);
   188     QVERIFY(albums->mList == 0);
   191     QVERIFY(albums->mList == 0);
   189     QVERIFY(albums->mInfoBar == 0);
   192     QVERIFY(albums->mInfoBar != 0);
   190     QVERIFY(albums->mNoMusic == 0);
   193     QVERIFY(albums->mNoMusic == 0);
   191     QVERIFY(albums->mIndexFeedback != 0);
   194     QVERIFY(albums->mIndexFeedback != 0);
   192     QVERIFY(albums->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter);
   195     QVERIFY(albums->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter);
   193 
   196 
   194     temp = 0;
   197     temp = 0;
   208     QCOMPARE(mTest->mCollectionContext, ECollectionContextPlaylists);
   211     QCOMPARE(mTest->mCollectionContext, ECollectionContextPlaylists);
   209     QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists);
   212     QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists);
   210     MpCollectionContainerPlaylists *playlists = static_cast<MpCollectionContainerPlaylists*>(mTest);
   213     MpCollectionContainerPlaylists *playlists = static_cast<MpCollectionContainerPlaylists*>(mTest);
   211 
   214 
   212     QVERIFY(playlists->mList == 0);
   215     QVERIFY(playlists->mList == 0);
   213     QVERIFY(playlists->mInfoBar == 0);
   216     QVERIFY(playlists->mInfoBar != 0);
   214     QVERIFY(playlists->mNoMusic == 0);
   217     QVERIFY(playlists->mNoMusic == 0);
   215     QVERIFY(playlists->mIndexFeedback != 0);
   218     QVERIFY(playlists->mIndexFeedback != 0);
   216     QVERIFY(playlists->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter);
   219     QVERIFY(playlists->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter);
   217 
   220 
   218     temp = 0;
   221     temp = 0;
   234 
   237 
   235     QVERIFY(allSongs->mList != 0);
   238     QVERIFY(allSongs->mList != 0);
   236     QVERIFY(allSongs->mInfoBar != 0);
   239     QVERIFY(allSongs->mInfoBar != 0);
   237     QVERIFY(allSongs->mNoMusic == 0);
   240     QVERIFY(allSongs->mNoMusic == 0);
   238     QCOMPARE(allSongs->mList->itemRecycling(), true);
   241     QCOMPARE(allSongs->mList->itemRecycling(), true);
   239     QCOMPARE(allSongs->mList->scrollingStyle(), HbListView::PanOrFlick);
       
   240     QCOMPARE(allSongs->mList->clampingStyle(), HbListView::BounceBackClamping);
       
   241     QCOMPARE(allSongs->mList->frictionEnabled(), true);
       
   242     QCOMPARE(allSongs->mList->longPressEnabled(), true);
   242     QCOMPARE(allSongs->mList->longPressEnabled(), true);
   243     QCOMPARE(allSongs->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
   243     QCOMPARE(allSongs->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
   244     QCOMPARE(allSongs->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
   244     QCOMPARE(allSongs->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
   245     QVERIFY(allSongs->mIndexFeedback->itemView() == allSongs->mList);
   245     QVERIFY(allSongs->mIndexFeedback->itemView() == allSongs->mList);
   246 
   246 
   247     // Normal mode. Should see count.
   247     // Normal mode. Should see count.
   248     QCOMPARE(allSongs->mInfoBar->heading(), hbTrId("txt_mus_subhead_songs_l1").arg( 5 ) );
   248     QCOMPARE(allSongs->mInfoBar->heading(), hbTrId("txt_mus_subhead_songs_l1").arg(5) );
   249 }
   249 }
   250 
   250 
   251 /*!
   251 /*!
   252  Test setupContainer via setDataModel for AllSongs container in Fetcher mode.
   252  Test setupContainer via setDataModel for AllSongs container in Fetcher mode.
   253  */
   253  */
   272     mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
   272     mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
   273     mTest->setDataModel(mCollectionDataModel);
   273     mTest->setDataModel(mCollectionDataModel);
   274     MpCollectionContainerAllSongs *allSongs = static_cast<MpCollectionContainerAllSongs*>(mTest);
   274     MpCollectionContainerAllSongs *allSongs = static_cast<MpCollectionContainerAllSongs*>(mTest);
   275 
   275 
   276     QVERIFY(allSongs->mList == 0);
   276     QVERIFY(allSongs->mList == 0);
   277     QVERIFY(allSongs->mInfoBar == 0);
   277     QCOMPARE(allSongs->mInfoBar->heading(), hbTrId("txt_mus_subhead_songs_l1").arg(0) );
   278     QVERIFY(allSongs->mNoMusic != 0);
   278     QVERIFY(allSongs->mNoMusic != 0);
   279 }
   279 }
   280 
   280 
   281 /*!
   281 /*!
   282  Test setupContainer via setDataModel for Artists container.
   282  Test setupContainer via setDataModel for Artists container.
   290     mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists);
   290     mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists);
   291     mTest->setDataModel(mCollectionDataModel);
   291     mTest->setDataModel(mCollectionDataModel);
   292     MpCollectionContainerArtists *artists = static_cast<MpCollectionContainerArtists*>(mTest);
   292     MpCollectionContainerArtists *artists = static_cast<MpCollectionContainerArtists*>(mTest);
   293     QCOMPARE(artists->mCollectionContext, ECollectionContextArtists);
   293     QCOMPARE(artists->mCollectionContext, ECollectionContextArtists);
   294     QVERIFY(artists->mList != 0);
   294     QVERIFY(artists->mList != 0);
   295     QVERIFY(artists->mInfoBar == 0);
   295     QVERIFY(artists->mInfoBar != 0);
   296     QVERIFY(artists->mTBone == 0);
   296     QVERIFY(artists->mTBone == 0);
   297     QVERIFY(artists->mNoMusic == 0);
   297     QVERIFY(artists->mNoMusic == 0);
   298     QCOMPARE(artists->mList->itemRecycling(), true);
   298     QCOMPARE(artists->mList->itemRecycling(), true);
   299     QCOMPARE(artists->mList->scrollingStyle(), HbListView::PanOrFlick);
       
   300     QCOMPARE(artists->mList->clampingStyle(), HbListView::BounceBackClamping);
       
   301     QCOMPARE(artists->mList->frictionEnabled(), true);
       
   302     QCOMPARE(artists->mList->longPressEnabled(), true);
   299     QCOMPARE(artists->mList->longPressEnabled(), true);
   303     QCOMPARE(artists->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
   300     QCOMPARE(artists->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
   304     QCOMPARE(artists->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
   301     QCOMPARE(artists->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
   305     QVERIFY(artists->mIndexFeedback->itemView() == artists->mList);
   302     QVERIFY(artists->mIndexFeedback->itemView() == artists->mList);
   306     QVERIFY(artists->mCurrentAlbumIndex == 0);
   303     QVERIFY(artists->mCurrentAlbumIndex == 0);
       
   304     QCOMPARE(artists->mInfoBar->heading(), hbTrId("txt_mus_subhead_artist_1l").arg(5));
   307 
   305 
   308     // User selects an artist - case where artist has more than 1 album
   306     // User selects an artist - case where artist has more than 1 album
   309     mCollectionData->mContext = ECollectionContextArtistAlbums;
   307     mCollectionData->mContext = ECollectionContextArtistAlbums;
   310     mTest->setDataModel(mCollectionDataModel);
   308     mTest->setDataModel(mCollectionDataModel);
   311     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbums);
   309     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbums);
   318     mCollectionData->mContext = ECollectionContextArtistAlbumsTBone;
   316     mCollectionData->mContext = ECollectionContextArtistAlbumsTBone;
   319     mCollectionData->mCurrentAlbumAvailable = false;
   317     mCollectionData->mCurrentAlbumAvailable = false;
   320     mTest->setDataModel(mCollectionDataModel);
   318     mTest->setDataModel(mCollectionDataModel);
   321     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbumsTBone);
   319     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbumsTBone);
   322     QVERIFY(artists->mList != 0);
   320     QVERIFY(artists->mList != 0);
   323     QVERIFY(artists->mInfoBar == 0);
   321     QVERIFY(artists->mInfoBar != 0);
   324     QVERIFY(artists->mTBone != 0);
   322     QVERIFY(artists->mTBone != 0);
   325     QVERIFY(artists->mTBoneListModel != 0);
   323     QVERIFY(artists->mTBoneListModel != 0);
   326     QVERIFY(artists->mAlbumIndexOffset == 1);
   324     QVERIFY(artists->mAlbumIndexOffset == 1);
   327     QCOMPARE(artists->mTBone->reflectionsEnabled(), false);
   325     QCOMPARE(artists->mTBone->reflectionsEnabled(), false);
   328     QCOMPARE(spy.count(), 1);
   326     QCOMPARE(spy.count(), 1);
   341     mCollectionData->mContext = ECollectionContextArtistAllSongs;
   339     mCollectionData->mContext = ECollectionContextArtistAllSongs;
   342     mTest->setDataModel(mCollectionDataModel);
   340     mTest->setDataModel(mCollectionDataModel);
   343     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAllSongs);
   341     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAllSongs);
   344     QVERIFY(artists->mList != 0);
   342     QVERIFY(artists->mList != 0);
   345     QVERIFY(artists->mInfoBar != 0);
   343     QVERIFY(artists->mInfoBar != 0);
   346     QCOMPARE(artists->mInfoBar->heading(), hbTrId("txt_mus_subtitle_1_all").arg("Title"));
   344     QCOMPARE(artists->mInfoBar->heading(), QString(HbParameterLengthLimiter("txt_mus_subtitle_1_all").arg(QString("Title"))));
   347 
   345 
   348     // User selects back - navigate back to artist albums
   346     // User selects back - navigate back to artist albums
   349     mCollectionData->mContext = ECollectionContextArtistAlbums;
   347     mCollectionData->mContext = ECollectionContextArtistAlbums;
   350     mTest->setDataModel(mCollectionDataModel);
   348     mTest->setDataModel(mCollectionDataModel);
   351     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbums);
   349     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbums);
   352 
   350 
   353     // User selects back - navigate back to artists
   351     // User selects back - navigate back to artists
   354     mCollectionData->mContext = ECollectionContextArtists;
   352     mCollectionData->mContext = ECollectionContextArtists;
   355     mTest->setDataModel(mCollectionDataModel);
   353     mTest->setDataModel(mCollectionDataModel);
   356     QCOMPARE(artists->mCollectionContext, ECollectionContextArtists);
   354     QCOMPARE(artists->mCollectionContext, ECollectionContextArtists);
   357     QVERIFY(artists->mInfoBar == 0);
   355     QVERIFY(artists->mInfoBar != 0);
   358     QVERIFY(artists->mCurrentAlbumIndex == 0);
   356     QVERIFY(artists->mCurrentAlbumIndex == 0);
   359 
   357 
   360     // User selects an artist - case where artist has 1 album
   358     // User selects an artist - case where artist has 1 album
   361     // Goes directly to TBone
   359     // Goes directly to TBone
   362     mCollectionData->mCount = 1;
   360     mCollectionData->mCount = 1;
   363     mCollectionData->mContext = ECollectionContextArtistAlbumsTBone;
   361     mCollectionData->mContext = ECollectionContextArtistAlbumsTBone;
   364     mCollectionData->mCurrentAlbumAvailable = true;
   362     mCollectionData->mCurrentAlbumAvailable = true;
   365     mTest->setDataModel(mCollectionDataModel);
   363     mTest->setDataModel(mCollectionDataModel);
   366     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbumsTBone);
   364     QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbumsTBone);
   367     QVERIFY(artists->mList != 0);
   365     QVERIFY(artists->mList != 0);
   368     QVERIFY(artists->mInfoBar == 0);
   366     QVERIFY(artists->mInfoBar != 0);
   369     QVERIFY(artists->mTBone != 0);
   367     QVERIFY(artists->mTBone != 0);
   370     QVERIFY(artists->mTBoneListModel != 0);
   368     QVERIFY(artists->mTBoneListModel != 0);
   371     QVERIFY(artists->mAlbumIndexOffset == 0);
   369     QVERIFY(artists->mAlbumIndexOffset == 0);
   372     // We set mCurrentAlbumAvailable to true, so no signal should emit.
   370     // We set mCurrentAlbumAvailable to true, so no signal should emit.
   373     QCOMPARE(spy.count(), 1);
   371     QCOMPARE(spy.count(), 1);
   374 
   372 
   375     // User selects back - navigate back to artists
   373     // User selects back - navigate back to artists
   376     mCollectionData->mContext = ECollectionContextArtists;
   374     mCollectionData->mContext = ECollectionContextArtists;
   377     mTest->setDataModel(mCollectionDataModel);
   375     mTest->setDataModel(mCollectionDataModel);
   378     QCOMPARE(artists->mCollectionContext, ECollectionContextArtists);
   376     QCOMPARE(artists->mCollectionContext, ECollectionContextArtists);
   379     QVERIFY(artists->mInfoBar == 0);
   377     QVERIFY(artists->mInfoBar != 0);
   380     QVERIFY(artists->mTBone == 0);
   378     QVERIFY(artists->mTBone == 0);
   381     QVERIFY(artists->mCurrentAlbumIndex == 0);
   379     QVERIFY(artists->mCurrentAlbumIndex == 0);
       
   380     QCOMPARE(artists->mInfoBar->heading(), hbTrId("txt_mus_subhead_artist_1l").arg(1));
   382 }
   381 }
   383 
   382 
   384 /*!
   383 /*!
   385  Test setupContainer via setDataModel for Artists container in Fetcher mode.
   384  Test setupContainer via setDataModel for Artists container in Fetcher mode.
   386  */
   385  */
   413 
   412 
   414     // User selects back - navigate back to artists
   413     // User selects back - navigate back to artists
   415     mCollectionData->mContext = ECollectionContextArtists;
   414     mCollectionData->mContext = ECollectionContextArtists;
   416     mTest->setDataModel(mCollectionDataModel);
   415     mTest->setDataModel(mCollectionDataModel);
   417     QCOMPARE(artists->mCollectionContext, ECollectionContextArtists);
   416     QCOMPARE(artists->mCollectionContext, ECollectionContextArtists);
   418     QVERIFY(artists->mInfoBar == 0);
   417     QVERIFY(artists->mInfoBar != 0);
   419     QVERIFY(artists->mTBone == 0);
   418     QVERIFY(artists->mTBone == 0);
   420     QVERIFY(artists->mCurrentAlbumIndex == 0);
   419     QVERIFY(artists->mCurrentAlbumIndex == 0);
       
   420     QCOMPARE(artists->mInfoBar->heading(), hbTrId("txt_mus_subhead_artist_1l").arg(1));
   421 
   421 
   422     // User selects an artist - case where artist has more than 1 album
   422     // User selects an artist - case where artist has more than 1 album
   423     mCollectionData->mCount = 5;
   423     mCollectionData->mCount = 5;
   424     mCollectionData->mContext = ECollectionContextArtistAlbums;
   424     mCollectionData->mContext = ECollectionContextArtistAlbums;
   425     mTest->setDataModel(mCollectionDataModel);
   425     mTest->setDataModel(mCollectionDataModel);
   446     mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists);
   446     mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists);
   447     mTest->setDataModel(mCollectionDataModel);
   447     mTest->setDataModel(mCollectionDataModel);
   448     MpCollectionContainerArtists *artists = static_cast<MpCollectionContainerArtists*>(mTest);
   448     MpCollectionContainerArtists *artists = static_cast<MpCollectionContainerArtists*>(mTest);
   449 
   449 
   450     QVERIFY(artists->mList == 0);
   450     QVERIFY(artists->mList == 0);
   451     QVERIFY(artists->mInfoBar == 0);
   451     QCOMPARE(artists->mInfoBar->heading(), hbTrId("txt_mus_subhead_artist_1l").arg(0));
   452     QVERIFY(artists->mTBone == 0);
   452     QVERIFY(artists->mTBone == 0);
   453     QVERIFY(artists->mNoMusic != 0);
   453     QVERIFY(artists->mNoMusic != 0);
   454 }
   454 }
   455 
   455 
   456 /*!
   456 /*!
   465     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
   465     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
   466     mTest->setDataModel(mCollectionDataModel);
   466     mTest->setDataModel(mCollectionDataModel);
   467     MpCollectionContainerAlbums *albums = static_cast<MpCollectionContainerAlbums*>(mTest);
   467     MpCollectionContainerAlbums *albums = static_cast<MpCollectionContainerAlbums*>(mTest);
   468     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums);
   468     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums);
   469     QVERIFY(albums->mList != 0);
   469     QVERIFY(albums->mList != 0);
   470     QVERIFY(albums->mInfoBar == 0);
   470     QVERIFY(albums->mInfoBar != 0);
   471     QVERIFY(albums->mTBone == 0);
   471     QVERIFY(albums->mTBone == 0);
   472     QVERIFY(albums->mNoMusic == 0);
   472     QVERIFY(albums->mNoMusic == 0);
   473     QCOMPARE(albums->mList->itemRecycling(), true);
   473     QCOMPARE(albums->mList->itemRecycling(), true);
   474     QCOMPARE(albums->mList->scrollingStyle(), HbListView::PanOrFlick);
       
   475     QCOMPARE(albums->mList->clampingStyle(), HbListView::BounceBackClamping);
       
   476     QCOMPARE(albums->mList->frictionEnabled(), true);
       
   477     QCOMPARE(albums->mList->longPressEnabled(), true);
   474     QCOMPARE(albums->mList->longPressEnabled(), true);
   478     QCOMPARE(albums->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
   475     QCOMPARE(albums->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
   479     QCOMPARE(albums->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
   476     QCOMPARE(albums->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
   480     QVERIFY(albums->mIndexFeedback->itemView() == albums->mList);
   477     QVERIFY(albums->mIndexFeedback->itemView() == albums->mList);
       
   478     QCOMPARE(albums->mInfoBar->heading(),hbTrId("txt_mus_subhead_albums_1l").arg(5));
   481 
   479 
   482     // User selects an album
   480     // User selects an album
   483     QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int)));
   481     QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int)));
   484     mCollectionData->mContext = ECollectionContextAlbumsTBone;
   482     mCollectionData->mContext = ECollectionContextAlbumsTBone;
   485     mCollectionData->mCurrentAlbumAvailable = false;
   483     mCollectionData->mCurrentAlbumAvailable = false;
   486     mTest->setDataModel(mCollectionDataModel);
       
   487     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbumsTBone);
       
   488     QVERIFY(albums->mList != 0);
       
   489     QVERIFY(albums->mInfoBar == 0);
       
   490     QVERIFY(albums->mTBone != 0);
       
   491     QVERIFY(albums->mTBoneListModel != 0);
       
   492     QCOMPARE(albums->mTBone->reflectionsEnabled(), false);
       
   493     QCOMPARE(spy.count(), 1);
       
   494 
       
   495     // User selects back - navigate back to albums
       
   496     mCollectionData->mContext = ECollectionContextAlbums;
       
   497     mTest->setDataModel(mCollectionDataModel);
       
   498     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums);
       
   499     QVERIFY(albums->mList != 0);
       
   500     QVERIFY(albums->mInfoBar == 0);
       
   501     QVERIFY(albums->mTBone == 0);
       
   502 }
       
   503 
       
   504 /*!
       
   505  Test setupContainer via setDataModel for Albums container in Fetcher mode.
       
   506  */
       
   507 void TestMpCollectionContainers::testSetupContainerAlbumsFetcher()
       
   508 {
       
   509     mCollectionData->mCount = 5;
       
   510 
       
   511     // User selects Albums
       
   512     mCollectionData->mContext = ECollectionContextAlbums;
       
   513     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
       
   514     mTest->setViewMode(MpCommon::FetchView);
       
   515     mTest->setDataModel(mCollectionDataModel);
       
   516     MpCollectionContainerAlbums *albums = static_cast<MpCollectionContainerAlbums*>(mTest);
       
   517     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums);
       
   518 
       
   519     // User selects an album
       
   520     QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int)));
       
   521     mCollectionData->mContext = ECollectionContextAlbumsTBone;
       
   522     mCollectionData->mCurrentAlbumAvailable = true;
       
   523     mTest->setDataModel(mCollectionDataModel);
   484     mTest->setDataModel(mCollectionDataModel);
   524     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbumsTBone);
   485     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbumsTBone);
   525     QVERIFY(albums->mList != 0);
   486     QVERIFY(albums->mList != 0);
   526     QVERIFY(albums->mInfoBar != 0);
   487     QVERIFY(albums->mInfoBar != 0);
   527     QVERIFY(albums->mTBone != 0);
   488     QVERIFY(albums->mTBone != 0);
   528     QVERIFY(albums->mTBoneListModel != 0);
   489     QVERIFY(albums->mTBoneListModel != 0);
   529     QCOMPARE(albums->mTBone->reflectionsEnabled(), false);
   490     QCOMPARE(albums->mTBone->reflectionsEnabled(), false);
       
   491     QCOMPARE(spy.count(), 1);
       
   492 
       
   493     // User selects back - navigate back to albums
       
   494     mCollectionData->mContext = ECollectionContextAlbums;
       
   495     mTest->setDataModel(mCollectionDataModel);
       
   496     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums);
       
   497     QVERIFY(albums->mList != 0);
       
   498     QVERIFY(albums->mInfoBar != 0);
       
   499     QVERIFY(albums->mTBone == 0);
       
   500     QCOMPARE(albums->mInfoBar->heading(),hbTrId("txt_mus_subhead_albums_1l").arg(5));
       
   501 }
       
   502 
       
   503 /*!
       
   504  Test setupContainer via setDataModel for Albums container in Fetcher mode.
       
   505  */
       
   506 void TestMpCollectionContainers::testSetupContainerAlbumsFetcher()
       
   507 {
       
   508     mCollectionData->mCount = 5;
       
   509 
       
   510     // User selects Albums
       
   511     mCollectionData->mContext = ECollectionContextAlbums;
       
   512     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
       
   513     mTest->setViewMode(MpCommon::FetchView);
       
   514     mTest->setDataModel(mCollectionDataModel);
       
   515     MpCollectionContainerAlbums *albums = static_cast<MpCollectionContainerAlbums*>(mTest);
       
   516     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums);
       
   517 
       
   518     // User selects an album
       
   519     QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int)));
       
   520     mCollectionData->mContext = ECollectionContextAlbumsTBone;
       
   521     mCollectionData->mCurrentAlbumAvailable = true;
       
   522     mTest->setDataModel(mCollectionDataModel);
       
   523     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbumsTBone);
       
   524     QVERIFY(albums->mList != 0);
       
   525     QVERIFY(albums->mInfoBar != 0);
       
   526     QCOMPARE(albums->mInfoBar->heading(), hbTrId("txt_mus_subtitle_select_song"));
       
   527     QVERIFY(albums->mTBone != 0);
       
   528     QVERIFY(albums->mTBoneListModel != 0);
       
   529     QCOMPARE(albums->mTBone->reflectionsEnabled(), false);
   530     // We set mCurrentAlbumAvailable to true, so no signal should emit.
   530     // We set mCurrentAlbumAvailable to true, so no signal should emit.
   531     QCOMPARE(spy.count(), 0);
   531     QCOMPARE(spy.count(), 0);
   532     QCOMPARE(albums->mInfoBar->heading(), hbTrId("txt_mus_subtitle_select_song"));
   532     QCOMPARE(albums->mInfoBar->heading(), hbTrId("txt_mus_subtitle_select_song"));
   533 
   533 
   534     // User selects back - navigate back to albums
   534     // User selects back - navigate back to albums
   535     mCollectionData->mContext = ECollectionContextAlbums;
   535     mCollectionData->mContext = ECollectionContextAlbums;
   536     mTest->setDataModel(mCollectionDataModel);
   536     mTest->setDataModel(mCollectionDataModel);
   537     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums);
   537     QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums);
   538     QVERIFY(albums->mList != 0);
   538     QVERIFY(albums->mList != 0);
   539     QVERIFY(albums->mInfoBar == 0);
   539     QVERIFY(albums->mInfoBar != 0);
   540     QVERIFY(albums->mTBone == 0);
   540     QVERIFY(albums->mTBone == 0);
       
   541     QCOMPARE(albums->mInfoBar->heading(),hbTrId("txt_mus_subhead_albums_1l").arg(5));
   541 }
   542 }
   542 
   543 
   543 /*!
   544 /*!
   544  Test setupContainer via setDataModel for Albums container with no data.
   545  Test setupContainer via setDataModel for Albums container with no data.
   545  */
   546  */
   549     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
   550     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
   550     mTest->setDataModel(mCollectionDataModel);
   551     mTest->setDataModel(mCollectionDataModel);
   551     MpCollectionContainerAlbums *albums = static_cast<MpCollectionContainerAlbums*>(mTest);
   552     MpCollectionContainerAlbums *albums = static_cast<MpCollectionContainerAlbums*>(mTest);
   552 
   553 
   553     QVERIFY(albums->mList == 0);
   554     QVERIFY(albums->mList == 0);
   554     QVERIFY(albums->mInfoBar == 0);
   555     QCOMPARE(albums->mInfoBar->heading(),hbTrId("txt_mus_subhead_albums_1l").arg(0));
   555     QVERIFY(albums->mTBone == 0);
   556     QVERIFY(albums->mTBone == 0);
   556     QVERIFY(albums->mNoMusic != 0);
   557     QVERIFY(albums->mNoMusic != 0);
   557 }
   558 }
   558 
   559 
   559 /*!
   560 /*!
   568     mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
   569     mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
   569     mTest->setDataModel(mCollectionDataModel);
   570     mTest->setDataModel(mCollectionDataModel);
   570     MpCollectionContainerPlaylists *playlists = static_cast<MpCollectionContainerPlaylists*>(mTest);
   571     MpCollectionContainerPlaylists *playlists = static_cast<MpCollectionContainerPlaylists*>(mTest);
   571     QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists);
   572     QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists);
   572     QVERIFY(playlists->mList != 0);
   573     QVERIFY(playlists->mList != 0);
   573     QVERIFY(playlists->mInfoBar == 0);
   574     QVERIFY(playlists->mInfoBar != 0);
   574     QVERIFY(playlists->mNoMusic == 0);
   575     QVERIFY(playlists->mNoMusic == 0);
   575     QCOMPARE(playlists->mList->itemRecycling(), true);
   576     QCOMPARE(playlists->mList->itemRecycling(), true);
   576     QCOMPARE(playlists->mList->scrollingStyle(), HbListView::PanOrFlick);
       
   577     QCOMPARE(playlists->mList->clampingStyle(), HbListView::BounceBackClamping);
       
   578     QCOMPARE(playlists->mList->frictionEnabled(), true);
       
   579     QCOMPARE(playlists->mList->longPressEnabled(), true);
   577     QCOMPARE(playlists->mList->longPressEnabled(), true);
   580     QCOMPARE(playlists->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
   578     QCOMPARE(playlists->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
   581     QCOMPARE(playlists->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
   579     QCOMPARE(playlists->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
   582     QVERIFY(playlists->mIndexFeedback->itemView() == 0 );
   580     QVERIFY(playlists->mIndexFeedback->itemView() == 0 );
       
   581     QCOMPARE(playlists->mInfoBar->heading(),hbTrId("txt_mus_subhead_playlists_1l").arg(5));
   583 
   582 
   584     // User selects a playlist
   583     // User selects a playlist
   585     mCollectionData->mContext = ECollectionContextPlaylistSongs;
   584     mCollectionData->mContext = ECollectionContextPlaylistSongs;
   586     mTest->setDataModel(mCollectionDataModel);
   585     mTest->setDataModel(mCollectionDataModel);
   587     QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylistSongs);
   586     QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylistSongs);
   588     QVERIFY(playlists->mList != 0);
   587     QVERIFY(playlists->mList != 0);
   589     QVERIFY(playlists->mInfoBar != 0);
   588     QVERIFY(playlists->mInfoBar != 0);
   590     QVERIFY(playlists->mNoMusic == 0);
   589     QVERIFY(playlists->mNoMusic == 0);
   591     QCOMPARE(playlists->mInfoBar->heading(), QString("Title"));
   590     QCOMPARE(playlists->mInfoBar->heading(), QString(HbParameterLengthLimiter("txt_mus_subhead_1_2l").arg(QString("Title")).arg(5)));
   592 
   591     
   593     // User selects back - navigate back to playlists
   592     // User selects back - navigate back to playlists
   594     mCollectionData->mContext = ECollectionContextPlaylists;
   593     mCollectionData->mContext = ECollectionContextPlaylists;
   595     mTest->setDataModel(mCollectionDataModel);
   594     mTest->setDataModel(mCollectionDataModel);
   596     QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists);
   595     QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists);
   597     QVERIFY(playlists->mList != 0);
   596     QVERIFY(playlists->mList != 0);
   598     QVERIFY(playlists->mInfoBar == 0);
   597     QVERIFY(playlists->mInfoBar != 0);
       
   598     QCOMPARE(playlists->mInfoBar->heading(),hbTrId("txt_mus_subhead_playlists_1l").arg(5));
   599 }
   599 }
   600 
   600 
   601 /*!
   601 /*!
   602  Test setupContainer via setDataModel for Playlists container in Fetcher mode.
   602  Test setupContainer via setDataModel for Playlists container in Fetcher mode.
   603  */
   603  */
   625     // User selects back - navigate back to playlists
   625     // User selects back - navigate back to playlists
   626     mCollectionData->mContext = ECollectionContextPlaylists;
   626     mCollectionData->mContext = ECollectionContextPlaylists;
   627     mTest->setDataModel(mCollectionDataModel);
   627     mTest->setDataModel(mCollectionDataModel);
   628     QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists);
   628     QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists);
   629     QVERIFY(playlists->mList != 0);
   629     QVERIFY(playlists->mList != 0);
   630     QVERIFY(playlists->mInfoBar == 0);
   630     QVERIFY(playlists->mInfoBar != 0);
       
   631     QCOMPARE(playlists->mInfoBar->heading(),hbTrId("txt_mus_subhead_playlists_1l").arg(5));
   631 }
   632 }
   632 
   633 
   633 /*!
   634 /*!
   634  Test setupContainer via setDataModel for Playlists container with no data.
   635  Test setupContainer via setDataModel for Playlists container with no data.
   635  */
   636  */
   639     mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
   640     mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
   640     mTest->setDataModel(mCollectionDataModel);
   641     mTest->setDataModel(mCollectionDataModel);
   641     MpCollectionContainerPlaylists *playlists = static_cast<MpCollectionContainerPlaylists*>(mTest);
   642     MpCollectionContainerPlaylists *playlists = static_cast<MpCollectionContainerPlaylists*>(mTest);
   642 
   643 
   643     QVERIFY(playlists->mList == 0);
   644     QVERIFY(playlists->mList == 0);
   644     QVERIFY(playlists->mInfoBar == 0);
   645     QCOMPARE(playlists->mInfoBar->heading(), QString(HbParameterLengthLimiter("txt_mus_subhead_1_2l").arg(QString("Title")).arg(0)));
   645     QVERIFY(playlists->mNoMusic != 0);
   646     QVERIFY(playlists->mNoMusic != 0);
   646 }
   647 }
   647 
   648 
   648 /*!
   649 /*!
   649  Test itemActivated - AllSongs container
   650  Test itemActivated - AllSongs container
   756 /*!
   757 /*!
   757  Test onLongPressed
   758  Test onLongPressed
   758 */
   759 */
   759 void TestMpCollectionContainers::testOnLongPressed()
   760 void TestMpCollectionContainers::testOnLongPressed()
   760 {
   761 {
       
   762     qRegisterMetaType<QModelIndex>("QModelIndex");
       
   763 
   761     mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
   764     mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
   762     QSignalSpy spy(mTest, SIGNAL(itemLongPressed( int, QPointF )));
   765     QSignalSpy spy(mTest, SIGNAL(itemLongPressed( QModelIndex, QPointF )));
   763 
   766 
   764     HbListView *viewItem = new HbListView();
   767     HbListView *viewItem = new HbListView();
   765     static_cast<MpCollectionContainerAllSongs*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
   768     static_cast<MpCollectionContainerAllSongs*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
   766     QCOMPARE(spy.count(), 1);
   769     QCOMPARE(spy.count(), 1);
   767     QCOMPARE(qvariant_cast<int>(spy.at(0).at(0)), -1);
   770     QCOMPARE(qvariant_cast<int>(spy.at(0).at(0)), 0);
   768 
   771 
   769     mTest = 0;
   772     mTest = 0;
   770     mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists);
   773     mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists);
   771     QSignalSpy spy2(mTest, SIGNAL(itemLongPressed( int, QPointF )));
   774     QSignalSpy spy2(mTest, SIGNAL(itemLongPressed( QModelIndex, QPointF )));
   772     static_cast<MpCollectionContainerArtists*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
   775     static_cast<MpCollectionContainerArtists*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
   773     QCOMPARE(spy2.count(), 1);
   776     QCOMPARE(spy2.count(), 1);
   774     QCOMPARE(qvariant_cast<int>(spy2.at(0).at(0)), -1);
   777     QCOMPARE(qvariant_cast<int>(spy2.at(0).at(0)), 0);
   775 
   778 
   776     mTest = 0;
   779     mTest = 0;
   777     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
   780     mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
   778     QSignalSpy spy3(mTest, SIGNAL(itemLongPressed( int, QPointF )));
   781     QSignalSpy spy3(mTest, SIGNAL(itemLongPressed( QModelIndex, QPointF )));
   779     static_cast<MpCollectionContainerAlbums*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
   782     static_cast<MpCollectionContainerAlbums*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
   780     QCOMPARE(spy3.count(), 1);
   783     QCOMPARE(spy3.count(), 1);
   781     QCOMPARE(qvariant_cast<int>(spy3.at(0).at(0)), -1);
   784     QCOMPARE(qvariant_cast<int>(spy3.at(0).at(0)), 0);
   782 
   785 
   783     mTest = 0;
   786     mTest = 0;
   784     mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
   787     mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
   785     QSignalSpy spy4(mTest, SIGNAL(itemLongPressed( int, QPointF )));
   788     QSignalSpy spy4(mTest, SIGNAL(itemLongPressed( QModelIndex, QPointF )));
   786     static_cast<MpCollectionContainerPlaylists*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
   789     static_cast<MpCollectionContainerPlaylists*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
   787     QCOMPARE(spy4.count(), 1);
   790     QCOMPARE(spy4.count(), 1);
   788     QCOMPARE(qvariant_cast<int>(spy4.at(0).at(0)), -1);
   791     QCOMPARE(qvariant_cast<int>(spy4.at(0).at(0)), 0);
   789 }
   792 }
   790 
   793 
   791 
   794 
   792 /*!
   795 /*!
   793  Test albumCentered - Artists container.
   796  Test albumCentered - Artists container.