mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp
changeset 48 af3740e3753f
parent 32 c163ef0b758d
equal deleted inserted replaced
42:79c49924ae23 48:af3740e3753f
    53 // Do this so we can access all member variables.
    53 // Do this so we can access all member variables.
    54 #define private public
    54 #define private public
    55 #include "mpdetailsview.h"
    55 #include "mpdetailsview.h"
    56 #undef private
    56 #undef private
    57 
    57 
    58 
    58 // This so we can test private functions
       
    59 #include "../../src/mpdetailsview.cpp"
       
    60 
       
    61 #include "../moc_mpdetailsview.cpp"
    59 
    62 
    60 /*!
    63 /*!
    61  Make our test case a stand-alone executable that runs all the test functions.
    64  Make our test case a stand-alone executable that runs all the test functions.
    62  */
    65  */
    63 int main(int argc, char *argv[])
    66 int main(int argc, char *argv[])
   129 
   132 
   130 void TestMpDetailsView::testactivateView()
   133 void TestMpDetailsView::testactivateView()
   131 {
   134 {
   132     mTest->activateView();
   135     mTest->activateView();
   133     QCOMPARE( mTest->mActivated, true );
   136     QCOMPARE( mTest->mActivated, true );
   134 
       
   135     QCOMPARE( mTest->mInspireMeOpen, MpSettingsManager::inspireMe() );
       
   136     QCOMPARE( mTest->mSongDetailsGbOpen, MpSettingsManager::songDetailsGb() );
       
   137 }
   137 }
   138 
   138 
   139 void TestMpDetailsView::testdeactivateView()
   139 void TestMpDetailsView::testdeactivateView()
   140 {
   140 {
   141     mTest->deactivateView();
   141     mTest->deactivateView();
   157 {
   157 {
   158     connect( this, SIGNAL( albumArtChanged() ), mTest->mSongData, SIGNAL( albumArtReady() ) );
   158     connect( this, SIGNAL( albumArtChanged() ), mTest->mSongData, SIGNAL( albumArtReady() ) );
   159 
   159 
   160     emit albumArtChanged();
   160     emit albumArtChanged();
   161     QVERIFY( mTest->mAlbumArt->icon().isNull() == false );
   161     QVERIFY( mTest->mAlbumArt->icon().isNull() == false );
   162 }
       
   163 
       
   164 void TestMpDetailsView::testHandleNetworkError()
       
   165 {
       
   166     mTest->handleNetworkError();
       
   167     QVERIFY( mTest->mInspireMeQueryOngoing == false );
       
   168     QVERIFY( mTest->mInspireMeQueryRendered == false );
       
   169 }
       
   170 
       
   171 void TestMpDetailsView::testCanQueryRecommendations()
       
   172 {
       
   173     mTest->mSongData = new MpSongData();
       
   174     mTest->mSongData->mAlbum = QString( "album" );
       
   175     mTest->mSongData->mArtist = QString( "artist" );
       
   176     mTest->mInspireMeGroupBox->setCollapsed( true );
       
   177     QVERIFY( mTest->canQueryRecommendations() == false );
       
   178 
       
   179     mTest->mSongData->mAlbum = QString( "album" );
       
   180     mTest->mSongData->mArtist = QString();
       
   181     mTest->mInspireMeGroupBox->setCollapsed( true );
       
   182     QVERIFY( mTest->canQueryRecommendations() == false );
       
   183 
       
   184     mTest->mSongData->mAlbum = QString();
       
   185     mTest->mSongData->mArtist = QString( "artist" );
       
   186     mTest->mInspireMeGroupBox->setCollapsed( true );
       
   187     QVERIFY( mTest->canQueryRecommendations() == false );
       
   188 
       
   189     mTest->mSongData->mAlbum = QString();
       
   190     mTest->mSongData->mArtist = QString();
       
   191     mTest->mInspireMeGroupBox->setCollapsed( true );
       
   192     QVERIFY( mTest->canQueryRecommendations() == false );
       
   193 
       
   194     mTest->mSongData->mAlbum = QString( "album" );
       
   195     mTest->mSongData->mArtist = QString( "artist" );
       
   196     mTest->mInspireMeGroupBox->setCollapsed( false );
       
   197     QVERIFY( mTest->canQueryRecommendations() == true );
       
   198 
       
   199     mTest->mSongData->mAlbum = QString( "album" );
       
   200     mTest->mSongData->mArtist = QString();
       
   201     mTest->mInspireMeGroupBox->setCollapsed( false );
       
   202     QVERIFY( mTest->canQueryRecommendations() == true );
       
   203 
       
   204     mTest->mSongData->mAlbum = QString();
       
   205     mTest->mSongData->mArtist = QString( "artist" );
       
   206     mTest->mInspireMeGroupBox->setCollapsed( false );
       
   207     QVERIFY( mTest->canQueryRecommendations() == true );
       
   208 
       
   209     mTest->mSongData->mAlbum = QString();
       
   210     mTest->mSongData->mArtist = QString();
       
   211     mTest->mInspireMeGroupBox->setCollapsed( false );
       
   212     QVERIFY( mTest->canQueryRecommendations() == false );
       
   213 }
       
   214 
       
   215 void TestMpDetailsView::testCanQuerySharePlayerLink()
       
   216 {
       
   217     mTest->mSongData = new MpSongData();
       
   218     mTest->mSongData->mTitle = QString( "title" );
       
   219     mTest->mSongData->mArtist = QString( "artist" );
       
   220     QVERIFY( mTest->canQuerySharePlayerLink() == true );
       
   221 
       
   222     mTest->mSongData->mTitle = QString();
       
   223     mTest->mSongData->mArtist = QString( "artist" );
       
   224     QVERIFY( mTest->canQuerySharePlayerLink() == false );
       
   225 
       
   226     mTest->mSongData->mTitle = QString( "title" );
       
   227     mTest->mSongData->mArtist = QString();
       
   228     QVERIFY( mTest->canQuerySharePlayerLink() == false );
       
   229 
       
   230     mTest->mSongData->mTitle = QString();
       
   231     mTest->mSongData->mArtist = QString();
       
   232     QVERIFY( mTest->canQuerySharePlayerLink() == false );
       
   233 }
   162 }
   234 
   163 
   235 void TestMpDetailsView::testHandlePlaybackInfoChanged()
   164 void TestMpDetailsView::testHandlePlaybackInfoChanged()
   236 {
   165 {
   237     mTest->mSongData = new MpSongData();
   166     mTest->mSongData = new MpSongData();
   248     mTest->mSongData->mAlbum = QString("");
   177     mTest->mSongData->mAlbum = QString("");
   249     mTest->mSongData->mArtist = QString("");
   178     mTest->mSongData->mArtist = QString("");
   250     mTest->handlePlaybackInfoChanged();
   179     mTest->handlePlaybackInfoChanged();
   251     QVERIFY( mTest->mInspireMeQueryRendered == true );
   180     QVERIFY( mTest->mInspireMeQueryRendered == true );
   252     QVERIFY( mTest->mSongData->link().isEmpty() == true );
   181     QVERIFY( mTest->mSongData->link().isEmpty() == true );
   253     QCOMPARE( mTest->mAlbumText->plainText(), QString( "Unknown" ) );
   182     QCOMPARE( mTest->mAlbumText->plainText(), QString( "txt_mus_other_unknown7" ) );
   254     QCOMPARE( mTest->mArtistText->plainText(), QString( "Unknown" ) );
   183     QCOMPARE( mTest->mArtistText->plainText(), QString( "txt_mus_other_unknown6" ) );
   255 }
       
   256 
       
   257 void TestMpDetailsView::testClearInspireMe()
       
   258 {
       
   259     mTest->clearInspireMe();
       
   260     QVERIFY( mTest->mInspireList->count() == 0 );
       
   261 }
   184 }
   262 
   185 
   263 void TestMpDetailsView::testHandleDetailsGroupBoxToggled()
   186 void TestMpDetailsView::testHandleDetailsGroupBoxToggled()
   264 {
   187 {
   265     mTest->handleDetailsGroupBoxToggled( false );
   188     mTest->handleDetailsGroupBoxToggled( false );