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[]) |
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 ); |