--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,608 @@
+/*
+* 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 mpmpxdetailsframeworkwrapper
+*
+*/
+
+#include <QSignalSpy>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+#include <mpxmessagegeneraldefs.h>
+#include <mpxplaybackmessage.h>
+#include <mpxmediamusicdefs.h>
+#include <mpxmediageneraldefs.h>
+
+#include <e32std.h>
+#include <e32des8.h>
+
+#include "unittest_mpmpxdetailsframeworkwrapper.h"
+#include "stub/inc/mpxplaybackutility.h"
+#include "stub/inc/mpsongdata.h"
+#include "logger.h"
+
+// classes under test
+#define private public
+#include "mpmpxdetailsframeworkwrapper.h"
+#include "mpmpxdetailsframeworkwrapper_p.h"
+#undef private
+
+struct TTestAttrs
+ {
+ const wchar_t* GeneralTitle; // MpSongData::mTitle
+ const wchar_t* MusicArtist; // MpSongData::mArtist
+ const wchar_t* MusicAlbum; // MpSongData::mAlbum
+ const wchar_t* MusicAlbumArtFileName; // MpSongData::mAlbumArt (TODO: not tested yet)
+ const wchar_t* Comment; // MpSongData::mComment
+ const wchar_t* Composer; // MpSongData::mComposer
+ const TInt Year; // MpSongData::mYear
+ const wchar_t* MusicAlbumTrack; // MpSongData::mAlbumTrack
+ const wchar_t* MusicGenre; // MpSongData::mGenre
+ const wchar_t* MusicUri; // N/A in MpSongData (TODO: not tested yet)
+ };
+
+// title
+const TInt KTitleZeroSized = 0;
+const TInt KTitleVeryLarge = 1;
+const TInt KTitleOff = 2;
+
+// artist
+const TInt KMusicArtistZeroSized = 3;
+const TInt KMusicArtistLarge = 4;
+const TInt KMusicArtistOff = 5;
+
+// album
+const TInt KAlbumZeroSized = 6;
+const TInt KAlbumLarge = 7;
+const TInt KAlbumOff = 8;
+
+// comment
+const TInt KCommentZeroSized = 9;
+const TInt KCommentLarge = 10;
+const TInt KCommentOff = 11;
+
+// composer
+const TInt KComposerZeroSized = 12;
+const TInt KComposerLarge = 13;
+const TInt KComposerOff = 14;
+
+// year
+const TInt KYearNegative = 15;
+const TInt KYearZero = 16;
+const TInt KYearPositive = 17;
+const TInt KYearOff = 18;
+
+// album track
+const TInt KAlbumTrackZeroSized = 19;
+const TInt KAlbumTrackLarge = 20;
+const TInt KAlbumTrackOff = 21;
+
+// genre
+const TInt KGenreZeroSized = 22;
+const TInt KGenreLarge = 23;
+const TInt KGenreOff = 24;
+
+// everything is OFF
+const TInt KAllFieldsOFF = 25;
+
+_LIT(KOff,"OFF");
+
+const TTestAttrs KAllSongsTestData[] =
+ {
+ // Title
+ { L"", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"}
+ ,{ L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"}
+ ,{ L"OFF", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"}
+ // Artist
+ , { L"Title", L"", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"}
+ , { L"Title", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"}
+ ,{ L"Title", L"OFF", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"}
+ // Album
+ , { L"Title", L"Artist", L"", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"}
+ , { L"Title", L"Artist", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"}
+ , { L"Title", L"Artist", L"OFF", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"}
+ // Comment
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"OFF", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"}
+ // Composer
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", 2009, L"Track 1", L"Genre", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"OFF", 2009, L"Track 1", L"", L"Uri 1"}
+ // Year
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", -200, L"Track 1", L"Genre", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 0, L"Track 1", L"Genre", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 3000, L"Track 1", L"Genre", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", -1, L"Track 1", L"Genre", L"Uri 1"}
+ // Album Track
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"", L"Genre", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Genre", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"OFF", L"Genre", L"Uri 1"}
+ // Genre
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"Track", L"", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"Track", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Uri 1"}
+ , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"Track", L"OFF", L"Uri 1"}
+ // all fields OFF
+ , { L"OFF", L"OFF", L"OFF", L"OFF", L"OFF", L"OFF", -1, L"OFF", L"OFF", L"OFF"}
+ };
+
+QString referenceGeneralTitle(int index)
+{
+ QString result;
+ const TDesC& title = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].GeneralTitle));
+ if(title.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( title.Ptr(), title.Length() );
+ }
+ return result;
+}
+
+QString referenceMusicArtist(int index)
+{
+ QString result;
+ const TDesC& artist = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].MusicArtist));
+ if(artist.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( artist.Ptr(), artist.Length());
+ }
+ return result;
+}
+
+QString referenceMusicAlbum(int index)
+{
+ QString result;
+ const TDesC& album = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].MusicAlbum));
+ if(album.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( album.Ptr(), album.Length() );
+ }
+ return result;
+}
+
+QString referenceMusicAlbumArtFileName(int index)
+{
+ QString result;
+ const TDesC& musicAlbumArtFileName = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].MusicAlbumArtFileName));
+ if(musicAlbumArtFileName.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( musicAlbumArtFileName.Ptr(), musicAlbumArtFileName.Length() );
+ }
+ return result;
+}
+
+QString referenceComment(int index)
+{
+ QString result;
+ const TDesC& musicComment = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].Comment));
+ if(musicComment.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( musicComment.Ptr(), musicComment.Length() );
+ }
+ return result;
+}
+
+QString referenceComposer(int index)
+{
+ QString result;
+ const TDesC& composer = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].Composer));
+ if(composer.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( composer.Ptr(), composer.Length() );
+ }
+ return result;
+}
+
+int referenceYear(int index)
+{
+ return (KAllSongsTestData[index].Year >= 0) ? KAllSongsTestData[index].Year : 0;
+}
+
+QString referenceMusicAlbumTrack(int index)
+{
+ QString result;
+ const TDesC& musicAlbumTrack = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].MusicAlbumTrack));
+ if(musicAlbumTrack.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( musicAlbumTrack.Ptr(), musicAlbumTrack.Length() );
+ }
+ return result;
+}
+
+QString referenceMusicGenre(int index)
+{
+ QString result;
+ const TDesC& musicGenre = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].MusicGenre));
+ if(musicGenre.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( musicGenre.Ptr(), musicGenre.Length() );
+ }
+ return result;
+}
+
+QString referenceMusicUri(int index)
+{
+ QString result;
+ const TDesC& musicUri = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[index].MusicUri));
+ if(musicUri.Match(KOff) == KErrNotFound)
+ {
+ result = QString::fromUtf16( musicUri.Ptr(), musicUri.Length() );
+ }
+ return result;
+}
+
+/*!
+ 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;
+
+ TestMpMpxDetailsFrameworkWrapper tv;
+
+ char *pass[3];
+ pass[0] = argv[0];
+ pass[1] = "-o";
+ pass[2] = "c:\\data\\unittest_mpmpxdetailsframeworkwrapper.txt";
+
+ int res = QTest::qExec(&tv, 3, pass);
+
+ return res;
+}
+
+TestMpMpxDetailsFrameworkWrapper::TestMpMpxDetailsFrameworkWrapper()
+ : mTest(0),
+ iMediaTestData(0),
+ mSongDetailInfoChanged(false)
+{
+}
+
+TestMpMpxDetailsFrameworkWrapper::~TestMpMpxDetailsFrameworkWrapper()
+{
+ delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpMpxDetailsFrameworkWrapper::initTestCase()
+{
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpMpxDetailsFrameworkWrapper::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpMpxDetailsFrameworkWrapper::init()
+{
+ User::__DbgMarkStart(RHeap::EUser);
+ TInt freeCount(0);
+ mAllocCells = User::CountAllocCells(freeCount);
+ TRACE3("TestMpMpxDetailsFrameworkWrapper::init() -- allocCount: %d, freeCount: %d",
+ mAllocCells, freeCount );
+
+ mTest = new MpMpxDetailsFrameworkWrapper();
+ mTestPrivate = mTest->d_ptr;
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpMpxDetailsFrameworkWrapper::cleanup()
+{
+ delete mTest;
+ mTest = 0;
+ mTestPrivate = 0;
+
+ TInt freeCount(0);
+ TInt allocCount = User::CountAllocCells(freeCount);
+ TRACE3( "TestMpMpxDetailsFrameworkWrapper::cleanup() -- allocCount: %d, freeCount: %d",
+ allocCount, freeCount );
+ User::__DbgMarkEnd(RHeap::EUser,0); // this should panic if leak
+}
+
+/*!
+ Tests constructor.
+ */
+void TestMpMpxDetailsFrameworkWrapper::testConstructor()
+{
+ QVERIFY( mTestPrivate->q_ptr );
+ QVERIFY( mTestPrivate->iPlaybackUtility );
+ QVERIFY( mTestPrivate->iSongData );
+ // TODO: test observer?
+}
+
+/*!
+ Tests playbackData
+ */
+void TestMpMpxDetailsFrameworkWrapper::testSongData()
+{
+ QCOMPARE(mTestPrivate->iSongData, mTest->songData());
+}
+
+void TestMpMpxDetailsFrameworkWrapper::testHandleProperty()
+{
+ // dummy call just to get coverage up. Empty imp in function under test
+ mTestPrivate->HandlePropertyL(EPbPropertyVolume, 0, 0);
+}
+
+void TestMpMpxDetailsFrameworkWrapper::testHandleSubPlayerNames()
+{
+ // dummy call just to get coverage up. Empty imp in function under test
+ mTestPrivate->HandleSubPlayerNamesL(TUid::Null(), 0, 0, 0);
+}
+
+/*!
+ Tests testHandlePlaybackMessage
+ */
+void TestMpMpxDetailsFrameworkWrapper::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);
+
+ //Media change
+ testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged);
+ testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0);
+ testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,0);
+ mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
+ CleanupStack::PopAndDestroy(testMessage);
+}
+
+void TestMpMpxDetailsFrameworkWrapper::verifyEmptyTestData()
+{
+ QVERIFY(mTestPrivate->iSongData->title().isEmpty());
+ QVERIFY(mTestPrivate->iSongData->album().isEmpty());
+ QVERIFY(mTestPrivate->iSongData->artist().isEmpty());
+ QVERIFY(mTestPrivate->iSongData->comment().isEmpty());
+ QVERIFY(mTestPrivate->iSongData->year().isEmpty());
+ QVERIFY(mTestPrivate->iSongData->genre().isEmpty());
+ QVERIFY(mTestPrivate->iSongData->composer().isEmpty());
+ QVERIFY(mTestPrivate->iSongData->albumTrack().isEmpty());
+ QVERIFY(mTestPrivate->iSongData->link().isEmpty());
+}
+
+void TestMpMpxDetailsFrameworkWrapper::verify(int index)
+{
+ QCOMPARE(mTestPrivate->songData()->title(), referenceGeneralTitle( index ));
+ QCOMPARE(mTestPrivate->songData()->album(), referenceMusicAlbum( index ));
+ QCOMPARE(mTestPrivate->songData()->artist(), referenceMusicArtist( index ));
+ // TODO: how to verify albumArt ?
+ QCOMPARE(mTestPrivate->songData()->comment(), referenceComment( index ));
+ QCOMPARE(mTestPrivate->songData()->composer(), referenceComposer( index ));
+ QCOMPARE(mTestPrivate->songData()->year().toInt(), referenceYear( index ));
+ QCOMPARE(mTestPrivate->songData()->albumTrack(), referenceMusicAlbumTrack( index ));
+ QCOMPARE(mTestPrivate->songData()->genre(), referenceMusicGenre( index ));
+}
+
+void TestMpMpxDetailsFrameworkWrapper::doTestHandleMedia(int dataIndex, TInt aResult)
+{
+ init();
+ loadTestData(dataIndex);
+ mTestPrivate->HandleMediaL(*iMediaTestData, aResult);
+ if(aResult != KErrNone)
+ {
+ verifyEmptyTestData();
+ }
+ else
+ {
+ verify(dataIndex);
+ }
+ cleanup();
+}
+
+/*
+ Tests handleMedia
+*/
+void TestMpMpxDetailsFrameworkWrapper::testHandleMedia()
+{
+ // testing passing error code. iSongData should not be modified
+ // as it got constructed fresh with init(), all its string
+ // members must be empty
+ doTestHandleMedia(KTitleZeroSized, KErrGeneral);
+
+ // Testing zero sized title
+ doTestHandleMedia(KTitleZeroSized, KErrNone);
+
+ // very large title
+ doTestHandleMedia(KTitleVeryLarge, KErrNone);
+
+ // Testing title field OFF
+ doTestHandleMedia(KTitleOff, KErrNone);
+
+ // Testing artist empty string
+ doTestHandleMedia(KMusicArtistZeroSized, KErrNone);
+
+ // Testing artist long
+ doTestHandleMedia(KMusicArtistLarge, KErrNone);
+
+ // Testing artist field OFF
+ doTestHandleMedia(KMusicArtistOff, KErrNone);
+
+ // Testing album zero sized
+ doTestHandleMedia(KAlbumZeroSized, KErrNone);
+
+ // Testing album long
+ doTestHandleMedia(KAlbumLarge, KErrNone);
+
+ // Testing album off
+ doTestHandleMedia(KAlbumOff, KErrNone);
+
+ // Testing comment zero sized
+ doTestHandleMedia(KCommentZeroSized, KErrNone);
+
+ // Testing comment large
+ doTestHandleMedia(KCommentLarge, KErrNone);
+
+ // Testing comment OFF
+ doTestHandleMedia(KCommentOff, KErrNone);
+
+ // Testing composer zero sized
+ doTestHandleMedia(KComposerZeroSized, KErrNone);
+
+ // Testing composer large
+ doTestHandleMedia(KComposerLarge, KErrNone);
+
+ // Testing composer OFF
+ doTestHandleMedia(KComposerOff, KErrNone);
+
+ // Testing year negative
+ doTestHandleMedia(KYearNegative, KErrNone);
+
+ // Testing year 0
+ doTestHandleMedia(KYearZero, KErrNone);
+
+ // Testing year +
+ doTestHandleMedia(KYearPositive, KErrNone);
+
+ // Testing year OFF
+ doTestHandleMedia(KYearOff, KErrNone);
+
+ // Testing album track zero sized
+ doTestHandleMedia(KAlbumTrackZeroSized, KErrNone);
+
+ // Testing album track large
+ doTestHandleMedia(KAlbumTrackLarge, KErrNone);
+
+ // Testing album track OFF
+ doTestHandleMedia(KAlbumTrackOff, KErrNone);
+
+ // Testing genre zero sized
+ doTestHandleMedia(KGenreZeroSized, KErrNone);
+
+ // Testing genre large
+ doTestHandleMedia(KGenreLarge, KErrNone);
+
+ // Testing genre OFF
+ doTestHandleMedia(KGenreOff, KErrNone);
+
+ // Testing all fields OFF
+ doTestHandleMedia(KAllFieldsOFF, KErrNone);
+}
+
+/*!
+ Tests retrieveSong
+ */
+void TestMpMpxDetailsFrameworkWrapper::testRetrieveSong()
+{
+ mTest->retrieveSong(); // async
+ // no need to verify the data received. As we already
+ // tested them in testHandleMedia
+}
+
+void TestMpMpxDetailsFrameworkWrapper::handleSongDetailInfoChanged()
+{
+ mSongDetailInfoChanged = true;
+}
+
+/*!
+ Used to load test data
+ */
+void TestMpMpxDetailsFrameworkWrapper::loadTestData( TInt aPos )
+{
+ TRACE("TestMpMpxDetailsFrameworkWrapper::loadTestData entry");
+ if( iMediaTestData ){
+ delete iMediaTestData;
+ iMediaTestData=0;
+ }
+ RArray<TInt> supportedIds;
+ CleanupClosePushL( supportedIds );
+ supportedIds.AppendL( KMPXMediaIdMusic );
+ supportedIds.AppendL( KMPXMediaIdGeneral );
+ iMediaTestData = CMPXMedia::NewL( supportedIds.Array() );
+ CleanupStack::PopAndDestroy( &supportedIds );
+
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Loading %d.th data entry", aPos);
+ TPtrC title( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].GeneralTitle ) );
+ if(title.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding title: %S to iMediaTestData", &title);
+ iMediaTestData->SetTextValueL( KMPXMediaGeneralTitle, title );
+ }
+
+ TPtrC artist( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].MusicArtist ) );
+ if(artist.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding artist: %S to iMediaTestData", &artist);
+ iMediaTestData->SetTextValueL( KMPXMediaMusicArtist, artist );
+ }
+
+ TPtrC musicAlbum( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].MusicAlbum ) );
+ if(musicAlbum.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbum: %S to iMediaTestData", &musicAlbum);
+ iMediaTestData->SetTextValueL( KMPXMediaMusicAlbum, musicAlbum );
+ }
+
+ TPtrC musicAlbumArtFileName( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].MusicAlbumArtFileName ) );
+ if(musicAlbumArtFileName.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbumArtFileName: %S to iMediaTestData", &musicAlbumArtFileName);
+ iMediaTestData->SetTextValueL( KMPXMediaMusicAlbumArtFileName, musicAlbumArtFileName );
+ }
+
+ TPtrC comment( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].Comment ) );
+ if(comment.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding comment: %S to iMediaTestData", &comment);
+ iMediaTestData->SetTextValueL( KMPXMediaGeneralComment, comment);
+ }
+
+ TPtrC composer( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].Composer ) );
+ if(composer.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding composer: %S to iMediaTestData", &composer);
+ iMediaTestData->SetTextValueL( KMPXMediaMusicComposer, composer);
+ }
+
+ if(KAllSongsTestData[aPos].Year != -1) {
+ TDateTime date_time;
+ date_time.SetYear(KAllSongsTestData[aPos].Year);
+ date_time.SetMonth(EJanuary);
+ date_time.SetDay(1);
+ date_time.SetHour(0);
+ date_time.SetMinute(0);
+ date_time.SetSecond(0);
+ date_time.SetMicroSecond(0);
+ TTime date(date_time);
+ TRACE3("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding year: %d in %LD to iMediaTestData", KAllSongsTestData[aPos].Year, date.Int64());
+ TRACE3("TestMpMpxDetailsFrameworkWrapper::loadTestData Is year %d equal to %d", KAllSongsTestData[aPos].Year, date.DateTime().Year());
+ iMediaTestData->SetTObjectValueL<TInt64>( KMPXMediaMusicYear, date.Int64() );
+ }
+
+ TPtrC musicAlbumTrack( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].MusicAlbumTrack ) );
+ if(musicAlbumTrack.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbumTrack: %S to iMediaTestData", &musicAlbumTrack);
+ iMediaTestData->SetTextValueL( KMPXMediaMusicAlbumTrack, musicAlbumTrack);
+ }
+
+ TPtrC genre( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].MusicGenre ) );
+ if(genre.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding genre: %S to iMediaTestData", &genre);
+ iMediaTestData->SetTextValueL( KMPXMediaMusicGenre, genre);
+ }
+
+ TPtrC musicUri( reinterpret_cast<const TUint16*>( KAllSongsTestData[aPos].MusicUri ) );
+ if(musicUri.Match(KOff) == KErrNotFound) {
+ TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicUri: %S to iMediaTestData", &musicUri);
+ iMediaTestData->SetTextValueL( KMPXMediaGeneralUri, musicUri);
+ }
+ TRACE("TestMpMpxDetailsFrameworkWrapper::loadTestData exit");
+}
+
+//end of file