mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/src/unittest_mpmpxpbframeworkwrapper.cpp
branchGCC_SURGE
changeset 44 eff9df3d9c98
parent 30 b95ddb5a0d10
parent 42 79c49924ae23
--- 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 <QSignalSpy>
-#include <hbapplication.h>
-#include <hbmainwindow.h>
-
-#include <mpxmedia.h>
-#include <mpxcollectionplaylist.h>
-
-
-
-#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<TInt> supportedIds;
-    CleanupClosePushL( supportedIds );
-    supportedIds.AppendL( KMPXMessageContentIdGeneral );
-    CMPXMedia* testMessage = CMPXMedia::NewL(supportedIds.Array());
-    CleanupStack::PopAndDestroy(&supportedIds);
-    CleanupStack::PushL(testMessage);
-    testMessage->SetTObjectValueL<TMPXMessageId>( KMPXMessageGeneralId, KMPXMessageGeneral);
-    
-    //Update State
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EStateChanged);
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0);
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,0);
-    mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying;
-    mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
-    QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing);
-    
-    //Initialize complete
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EInitializeComplete);
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0);
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,1);
-    mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
-    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TInt>(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral);
-    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TInt>(KMPXCommandPlaybackGeneralType),TInt(EPbCmdPlay));
-    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TBool>(KMPXCommandGeneralDoSync),TBool(ETrue));
-    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TBool>(KMPXCommandPlaybackGeneralNoBuffer),TBool(ETrue));
-
-    //Property change
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EPropertyChanged);
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,EPbPropertyPosition);
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,50);
-    mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
-    QCOMPARE(mTestPrivate->iPlaybackData->mPosition, 50);
-    
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,EPbPropertyDuration);
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,100);
-    mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
-    QCOMPARE(mTestPrivate->iPlaybackData->mDuration, 100);
-    
-    //Media change
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged);
-    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0);
-    testMessage->SetTObjectValueL<TInt>(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<const TUint16*>(KAllSongsTestData[1].GeneralTitle));
-    QCOMPARE(mTestPrivate->iPlaybackData->title(), QString::fromUtf16( title.Ptr(), title.Length() ));
-    const TDesC& artist = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[1].MusicArtist));
-    QCOMPARE(mTestPrivate->iPlaybackData->artist(), QString::fromUtf16( artist.Ptr(), artist.Length() ));
-    const TDesC& album = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[1].MusicAlbum));
-    QCOMPARE(mTestPrivate->iPlaybackData->album(), QString::fromUtf16( album.Ptr(), album.Length() ));
-    const TDesC& albumArt = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[1].MusicAlbumArtFileName));
-    QCOMPARE(mTestPrivate->iPlaybackData->currentAAUri, QString::fromUtf16( albumArt.Ptr(), albumArt.Length() ));
-    const TDesC& albumUri = TPtrC(reinterpret_cast<const TUint16*>(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<TInt>(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral);
-    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TInt>(KMPXCommandPlaybackGeneralType),TInt(EPbCmdStop));
-    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TBool>(KMPXCommandGeneralDoSync),TBool(ETrue));
-    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TBool>(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<TInt> 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<const TUint16*>(KAllSongsTestData[aPos].GeneralTitle)));
-    entries->SetTextValueL(KMPXMediaMusicArtist, TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[aPos].MusicArtist)));
-    entries->SetTObjectValueL<TInt>(KMPXMediaGeneralCount, KAllSongsTestData[aPos].GeneralCount);
-    entries->SetTextValueL(KMPXMediaMusicAlbumArtFileName, TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[aPos].MusicAlbumArtFileName)));
-    entries->SetTextValueL(KMPXMediaMusicAlbum, TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[aPos].MusicAlbum)));
-    entries->SetTextValueL(KMPXMediaGeneralUri, TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[aPos].MusicUri)));
- 
-    iMediaTestData = CMPXMedia::NewL(*entries);
-    CleanupStack::PopAndDestroy(entries);
-}
-
-//end of file