diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/src/unittest_mpmpxpbframeworkwrapper.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/src/unittest_mpmpxpbframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,389 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Unit test for mpmpxpbframeworkwrapper -* -*/ - -#include -#include -#include - -#include -#include - - - -#include "unittest_mpmpxpbframeworkwrapper.h" -#include "stub/inc/mpplaybackdata.h" -#include "stub/inc/mpxcollectionutility.h" -#include "stub/inc/mpxplaybackutility.h" - - -// Do this so we can access all member variables. -#define private public -#include "mpmpxpbframeworkwrapper.h" -#include "mpmpxpbframeworkwrapper_p.h" -#undef private - -//This so we can test private functions -#include "../../src/mpmpxpbframeworkwrapper.cpp" -#include "../../src/mpmpxpbframeworkwrapper_p.cpp" -//Test data -struct TTestAttrs - { - const wchar_t* GeneralTitle; - const wchar_t* MusicArtist; - const TInt GeneralCount; - const wchar_t* MusicAlbumArtFileName; - const wchar_t* MusicAlbum; - const wchar_t* MusicUri; - }; - -const TTestAttrs KAllSongsTestData[] = - { - { L"Title 1", L"Artist 1", 1, L"e:\\data\\images\\art1.jpg", L"Album 1", L"Uri 1"} - ,{ L"Title 2", L"Artist 2", 1, L"e:\\data\\images\\art2.jpg", L"Album 2", L"Uri 2"} - }; - -/*! - Make our test case a stand-alone executable that runs all the test functions. - */ -int main(int argc, char *argv[]) -{ - HbApplication app(argc, argv); - HbMainWindow window; - - TestMpMpxPbFrameworkWrapper tv; - - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpmpxpbframeworkwrapper.txt"; - - int res = QTest::qExec(&tv, 3, pass); - - return res; -} - -TestMpMpxPbFrameworkWrapper::TestMpMpxPbFrameworkWrapper() - : mTest(0), - iMediaTestData(0) -{ -} - -TestMpMpxPbFrameworkWrapper::~TestMpMpxPbFrameworkWrapper() -{ - delete mTest; -} - -/*! - Called before the first testfunction is executed. - */ -void TestMpMpxPbFrameworkWrapper::initTestCase() -{ -} - -/*! - Called after the last testfunction was executed. - */ -void TestMpMpxPbFrameworkWrapper::cleanupTestCase() -{ -} - -/*! - Called before each testfunction is executed. - */ -void TestMpMpxPbFrameworkWrapper::init() -{ - - mTest = new MpMpxPbFrameworkWrapper(); - mTestPrivate = mTest->d_ptr; -} - -/*! - Called after every testfunction. - */ -void TestMpMpxPbFrameworkWrapper::cleanup() -{ - delete mTest; - mTest = 0; -} - -/*! - Tests constructor. - */ -void TestMpMpxPbFrameworkWrapper::testConstructor() -{ - QVERIFY(mTestPrivate->iCollectionUtility != 0); - QVERIFY(mTestPrivate->iPlaybackUtility != 0); - QVERIFY(mTestPrivate->iPlaybackData != 0); -} - -/*! - Tests playbackData - */ -void TestMpMpxPbFrameworkWrapper::testPlaybackData() -{ - MpPlaybackData *playbackdata; - playbackdata = mTest->playbackData(); - QCOMPARE(mTestPrivate->iPlaybackData, playbackdata); -} - -/*! - Tests stop. - */ -void TestMpMpxPbFrameworkWrapper::testStop() -{ - mTest->stop(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdStop); -} - -/*! - Tests playPause. - */ -void TestMpMpxPbFrameworkWrapper::testPlayPause() -{ - mTest->playPause(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdPlayPause); -} - -/*! - Tests skipForward. - */ -void TestMpMpxPbFrameworkWrapper::testSkipForward() -{ - mTest->skipForward(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdNext); -} - -/*! - Tests skipBackward - */ -void TestMpMpxPbFrameworkWrapper::testSkipBackward() -{ - mTest->skipBackward(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdPrevious); -} - -/*! - Tests setPosition - */ -void TestMpMpxPbFrameworkWrapper::testSetPosition() -{ - mTest->setPosition(100); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 100); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); - mTest->setPosition(50); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 50); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); - mTest->setPosition(700); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 700); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); -} - -/*! - Tests setShuffle - */ -void TestMpMpxPbFrameworkWrapper::testSetShuffle() -{ - mTest->setShuffle(true); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, TBool(ETrue)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRandomMode); - mTest->setShuffle(false); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, TBool(EFalse)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRandomMode); -} - -/*! - Tests setRepeat - */ -void TestMpMpxPbFrameworkWrapper::testSetRepeat() -{ - mTest->setRepeat(true); - QCOMPARE(TMPXPlaybackRepeatMode(mTestPrivate->iPlaybackUtility->iValue), EPbRepeatAll); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRepeatMode); - mTest->setRepeat(false); - QCOMPARE(TMPXPlaybackRepeatMode(mTestPrivate->iPlaybackUtility->iValue), EPbRepeatOff); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRepeatMode); -} - -/*! - Tests handleProperty - */ -void TestMpMpxPbFrameworkWrapper::testHandlePlaybackMessage() -{ - RArray supportedIds; - CleanupClosePushL( supportedIds ); - supportedIds.AppendL( KMPXMessageContentIdGeneral ); - CMPXMedia* testMessage = CMPXMedia::NewL(supportedIds.Array()); - CleanupStack::PopAndDestroy(&supportedIds); - CleanupStack::PushL(testMessage); - testMessage->SetTObjectValueL( KMPXMessageGeneralId, KMPXMessageGeneral); - - //Update State - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EStateChanged); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,0); - mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); - - //Initialize complete - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EInitializeComplete); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,1); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralType),TInt(EPbCmdPlay)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralDoSync),TBool(ETrue)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralNoBuffer),TBool(ETrue)); - - //Property change - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EPropertyChanged); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,EPbPropertyPosition); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,50); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mPosition, 50); - - testMessage->SetTObjectValueL(KMPXMessageGeneralType,EPbPropertyDuration); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,100); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mDuration, 100); - - //Media change - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,0); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 5); -} - -/*! - Tests handleProperty - */ -void TestMpMpxPbFrameworkWrapper::testHandleProperty() -{ - for(TInt i = 0; i < 10; i++){ - mTestPrivate->HandlePropertyL(EPbPropertyPosition, i, KErrNone); - mTestPrivate->HandlePropertyL(EPbPropertyDuration, i+1, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mPosition, i); - QCOMPARE(mTestPrivate->iPlaybackData->mDuration, i+1); - } - mTestPrivate->iPlaybackData->mPosition = 100; - mTestPrivate->iPlaybackData->mDuration = 100; - mTestPrivate->HandlePropertyL(EPbPropertyPosition, 10, KErrNotFound); - mTestPrivate->HandlePropertyL(EPbPropertyDuration, 10, KErrNotFound); - - QCOMPARE(mTestPrivate->iPlaybackData->mPosition, 100); - QCOMPARE(mTestPrivate->iPlaybackData->mDuration, 100); -} - -/*! - Tests handleMedia - */ -void TestMpMpxPbFrameworkWrapper::testHandleMedia() -{ - loadTestData(0); - mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(ETrue)); - mTestPrivate->iPlaybackData->mMediaReady = EFalse; - mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(EFalse)); - - loadTestData(1); - mTestPrivate->iPlaybackData->mMediaReady = EFalse; - mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(ETrue)); - const TDesC& title = TPtrC(reinterpret_cast(KAllSongsTestData[1].GeneralTitle)); - QCOMPARE(mTestPrivate->iPlaybackData->title(), QString::fromUtf16( title.Ptr(), title.Length() )); - const TDesC& artist = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicArtist)); - QCOMPARE(mTestPrivate->iPlaybackData->artist(), QString::fromUtf16( artist.Ptr(), artist.Length() )); - const TDesC& album = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicAlbum)); - QCOMPARE(mTestPrivate->iPlaybackData->album(), QString::fromUtf16( album.Ptr(), album.Length() )); - const TDesC& albumArt = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicAlbumArtFileName)); - QCOMPARE(mTestPrivate->iPlaybackData->currentAAUri, QString::fromUtf16( albumArt.Ptr(), albumArt.Length() )); - const TDesC& albumUri = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicUri)); - QCOMPARE(mTestPrivate->iPlaybackData->currentUri, QString::fromUtf16( albumUri.Ptr(), albumUri.Length() )); -} - -/*! - Tests retrieveSong - */ -void TestMpMpxPbFrameworkWrapper::testRetrieveSongDetails() -{ - mTestPrivate->RetrieveSongDetailsL(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 5); -} - -/*! - Tests updateState - */ -void TestMpMpxPbFrameworkWrapper::testUpdateState() -{ - mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; - mTestPrivate->UpdateStateL(); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); - mTestPrivate->iPlaybackUtility->iState = EPbStatePaused; - mTestPrivate->UpdateStateL(); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Paused); - mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; - mTestPrivate->UpdateStateL(); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); - mTestPrivate->iPlaybackUtility->iState = EPbStateStopped; - mTestPrivate->UpdateStateL(); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Stopped); -} - -/*! - Tests forceStop - */ -void TestMpMpxPbFrameworkWrapper::testForceStop() -{ - mTestPrivate->ForceStopL(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralType),TInt(EPbCmdStop)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralDoSync),TBool(ETrue)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralNoBuffer),TBool(ETrue)); - QVERIFY(mTestPrivate->iPlaybackUtility->iObs == 0); -} - -/*! - Used to load test data - */ -void TestMpMpxPbFrameworkWrapper::loadTestData(TInt aPos) -{ - if(iMediaTestData){ - delete iMediaTestData; - iMediaTestData=0; - } - RArray supportedIds; - CleanupClosePushL( supportedIds ); - supportedIds.AppendL( KMPXMediaIdMusic ); - supportedIds.AppendL( KMPXMediaIdGeneral ); - CMPXMedia* entries = CMPXMedia::NewL(supportedIds.Array()); - CleanupStack::PopAndDestroy(&supportedIds); - CleanupStack::PushL(entries); - - entries->SetTextValueL(KMPXMediaGeneralTitle, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].GeneralTitle))); - entries->SetTextValueL(KMPXMediaMusicArtist, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicArtist))); - entries->SetTObjectValueL(KMPXMediaGeneralCount, KAllSongsTestData[aPos].GeneralCount); - entries->SetTextValueL(KMPXMediaMusicAlbumArtFileName, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicAlbumArtFileName))); - entries->SetTextValueL(KMPXMediaMusicAlbum, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicAlbum))); - entries->SetTextValueL(KMPXMediaGeneralUri, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicUri))); - - iMediaTestData = CMPXMedia::NewL(*entries); - CleanupStack::PopAndDestroy(entries); -} - -//end of file