21 |
21 |
22 #include "mpxaudioeffectengine.h" |
22 #include "mpxaudioeffectengine.h" |
23 #include "unittest_mpmpxplaybackframeworkwrapper.h" |
23 #include "unittest_mpmpxplaybackframeworkwrapper.h" |
24 #include "stub/inc/mpplaybackdata.h" |
24 #include "stub/inc/mpplaybackdata.h" |
25 #include "stub/inc/mpxplaybackutility.h" |
25 #include "stub/inc/mpxplaybackutility.h" |
26 |
26 #include "stub/inc/mpsongdata.h" |
27 |
27 |
28 // Do this so we can access all member variables. |
28 // Do this so we can access all member variables. |
29 #define private public |
29 #define private public |
30 #include "mpmpxplaybackframeworkwrapper.h" |
30 #include "mpmpxplaybackframeworkwrapper.h" |
31 #include "mpmpxplaybackframeworkwrapper_p.h" |
31 #include "mpmpxplaybackframeworkwrapper_p.h" |
32 #undef private |
32 #undef private |
33 |
33 |
34 //This so we can test private functions |
34 // This so we can test private functions |
35 #include "mpmpxplaybackframeworkwrapper_p.cpp" |
35 #include "mpmpxplaybackframeworkwrapper_p.cpp" |
36 //Test data |
36 |
|
37 // Test data |
37 struct TTestAttrs |
38 struct TTestAttrs |
38 { |
39 { |
39 const wchar_t* GeneralTitle; |
40 const wchar_t* GeneralTitle; |
40 const wchar_t* MusicArtist; |
41 const wchar_t* MusicArtist; |
41 const TInt GeneralCount; |
42 const TInt GeneralCount; |
72 } |
73 } |
73 } |
74 } |
74 |
75 |
75 TestMpMpxPlaybackFrameworkWrapper::TestMpMpxPlaybackFrameworkWrapper() |
76 TestMpMpxPlaybackFrameworkWrapper::TestMpMpxPlaybackFrameworkWrapper() |
76 : mTest(0), |
77 : mTest(0), |
77 iMediaTestData(0) |
78 iMediaTestData(0), |
|
79 mSongData(0) |
78 { |
80 { |
79 } |
81 } |
80 |
82 |
81 TestMpMpxPlaybackFrameworkWrapper::~TestMpMpxPlaybackFrameworkWrapper() |
83 TestMpMpxPlaybackFrameworkWrapper::~TestMpMpxPlaybackFrameworkWrapper() |
82 { |
84 { |
83 delete mTest; |
85 delete mTest; |
84 delete iMediaTestData; |
86 delete iMediaTestData; |
|
87 delete mSongData; |
85 } |
88 } |
86 |
89 |
87 /*! |
90 /*! |
88 Called before the first testfunction is executed. |
91 Called before the first testfunction is executed. |
89 */ |
92 */ |
90 void TestMpMpxPlaybackFrameworkWrapper::initTestCase() |
93 void TestMpMpxPlaybackFrameworkWrapper::initTestCase() |
91 { |
94 { |
|
95 mSongData = new MpSongData(); |
92 } |
96 } |
93 |
97 |
94 /*! |
98 /*! |
95 Called after the last testfunction was executed. |
99 Called after the last testfunction was executed. |
96 */ |
100 */ |
101 /*! |
105 /*! |
102 Called before each testfunction is executed. |
106 Called before each testfunction is executed. |
103 */ |
107 */ |
104 void TestMpMpxPlaybackFrameworkWrapper::init() |
108 void TestMpMpxPlaybackFrameworkWrapper::init() |
105 { |
109 { |
106 |
110 mTest = new MpMpxPlaybackFrameworkWrapper(TUid::Uid(MpCommon::KMusicPlayerUid), mSongData); |
107 mTest = new MpMpxPlaybackFrameworkWrapper(); |
|
108 mTestPrivate = mTest->d_ptr; |
111 mTestPrivate = mTest->d_ptr; |
109 } |
112 } |
110 |
113 |
111 /*! |
114 /*! |
112 Called after every testfunction. |
115 Called after every testfunction. |
260 //Media change |
263 //Media change |
261 testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged); |
264 testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged); |
262 testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0); |
265 testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0); |
263 testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,0); |
266 testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,0); |
264 mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); |
267 mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); |
265 QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 8); |
268 QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 6); |
266 |
269 |
267 CleanupStack::PopAndDestroy(testMessage); |
270 CleanupStack::PopAndDestroy(testMessage); |
268 } |
271 } |
269 |
272 |
270 /*! |
273 /*! |
346 |
349 |
347 CleanupStack::PopAndDestroy(emptyTestData); |
350 CleanupStack::PopAndDestroy(emptyTestData); |
348 } |
351 } |
349 |
352 |
350 /*! |
353 /*! |
|
354 Tests handleMedia resulting from request from details |
|
355 */ |
|
356 void TestMpMpxPlaybackFrameworkWrapper::testHandleMediaDetails() |
|
357 { |
|
358 mTestPrivate->iDetailsRequest = true; |
|
359 loadTestData(0); |
|
360 mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); |
|
361 QCOMPARE(mTestPrivate->iSongData->iSetMedia, true); |
|
362 } |
|
363 |
|
364 /*! |
351 Tests retrieveSong |
365 Tests retrieveSong |
352 */ |
366 */ |
353 void TestMpMpxPlaybackFrameworkWrapper::testRetrieveSongDetails() |
367 void TestMpMpxPlaybackFrameworkWrapper::testRetrieveSongDetails() |
354 { |
368 { |
355 mTestPrivate->RetrieveSongDetailsL(); |
369 // Internal requests |
356 QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 8); |
370 mTestPrivate->DoRetrieveSongDetailsL(false); |
|
371 QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 6); |
|
372 |
|
373 // Request from Details view |
|
374 mTestPrivate->iDetailsRequest = false; |
|
375 mTest->retrieveSongDetails(); |
|
376 QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 16); |
|
377 QCOMPARE(mTestPrivate->iDetailsRequest, true); |
|
378 |
|
379 // Request from Details view - no source |
|
380 mTestPrivate->iDetailsRequest = false; |
|
381 mTestPrivate->iPlaybackUtility->iReturnSource = false; |
|
382 mTest->retrieveSongDetails(); |
|
383 QCOMPARE(mTestPrivate->iDetailsRequest, false); |
357 } |
384 } |
358 |
385 |
359 /*! |
386 /*! |
360 Tests updateState |
387 Tests updateState |
361 */ |
388 */ |