diff -r 55fa1ec415c6 -r 8f0df5c82986 videocollection/mpxmyvideoscollection/tsrc/ut_vcxmyvideoscollectionutiltest/src/VcxMyVideosCollectionUtilTestBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videocollection/mpxmyvideoscollection/tsrc/ut_vcxmyvideoscollectionutiltest/src/VcxMyVideosCollectionUtilTestBlocks.cpp Tue May 25 12:44:54 2010 +0300 @@ -0,0 +1,535 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include +#include +#include +#include +#include +#include "VcxMyVideosCollectionUtilTest.h" +#include "vcxmyvideoscollectionutil.h" + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CVcxMyVideosCollectionUtilTest::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "CreateEmptyMediaList", CVcxMyVideosCollectionUtilTest::CreateEmptyMediaListL ), + ENTRY( "CreateEmptyMessageList", CVcxMyVideosCollectionUtilTest::CreateEmptyMessageListL ), + ENTRY( "CopyFromListToList", CVcxMyVideosCollectionUtilTest::CopyFromListToListL ), + ENTRY( "DriveLetter2DriveNumber", CVcxMyVideosCollectionUtilTest::DriveLetter2DriveNumberL ), + ENTRY( "MakeUniqueFileName", CVcxMyVideosCollectionUtilTest::MakeUniqueFileNameL ), + ENTRY( "Origin", CVcxMyVideosCollectionUtilTest::OriginL ), + ENTRY( "Flags", CVcxMyVideosCollectionUtilTest::FlagsL ), + ENTRY( "DownloadId", CVcxMyVideosCollectionUtilTest::DownloadIdL ), + ENTRY( "DownloadState", CVcxMyVideosCollectionUtilTest::DownloadStateL ), + ENTRY( "Id", CVcxMyVideosCollectionUtilTest::IdL ), + ENTRY( "Duration", CVcxMyVideosCollectionUtilTest::DurationL ), + ENTRY( "Title", CVcxMyVideosCollectionUtilTest::TitleL ), + ENTRY( "Rating", CVcxMyVideosCollectionUtilTest::RatingL ), + ENTRY( "AudioFourCc", CVcxMyVideosCollectionUtilTest::AudioFourCcL ), + ENTRY( "AreSupported", CVcxMyVideosCollectionUtilTest::AreSupportedL ), + ENTRY( "AttrBelongsToFullSet", CVcxMyVideosCollectionUtilTest::AttrBelongsToFullSetL ), + ENTRY( "Origin2", CVcxMyVideosCollectionUtilTest::Origin ), + ENTRY( "PrintOpenFileHandles", CVcxMyVideosCollectionUtilTest::PrintOpenFileHandlesL ), + ENTRY( "GetProcessName", CVcxMyVideosCollectionUtilTest::GetProcessNameL ), + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtil::CreateEmptyMediaListL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::CreateEmptyMediaListL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = TVcxMyVideosCollectionUtil::CreateEmptyMediaListL(); + delete media; + return KErrNone; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::CreateEmptyMessageListL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::CreateEmptyMessageListL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = TVcxMyVideosCollectionUtil::CreateEmptyMessageListL(); + delete media; + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::CopyFromListToListL +// --------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::CopyFromListToListL( CStifItemParser& aItem ) + { + CMPXMedia* from = TVcxMyVideosCollectionUtil::CreateEmptyMediaListL(); + CMPXMedia* to = TVcxMyVideosCollectionUtil::CreateEmptyMediaListL(); + RArray ids; + + TInt numberOfMedia; + TInt wantedId; + + aItem.GetNextInt( numberOfMedia ); + aItem.GetNextInt( wantedId ); + + ids.Append( wantedId ); + + // add stuff to be copied to "from" -list + + + TVcxMyVideosCollectionUtil::CopyFromListToListL( *from, *to, ids ); + + // check that the "to" -list have the items it should have + + delete from; + delete to; + + return KErrNone; + } + +// --------------------------------------------------------------------------- +// This helper function converts drive letter to drive number +// --------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::DriveLetter2DriveNumberL( CStifItemParser& /*aItem*/ ) + { + TVcxMyVideosCollectionUtil::DriveLetter2DriveNumber( _L("E:") ); + return KErrNone; + } + +// --------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::MakeUniqueFileNameL +// --------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::MakeUniqueFileNameL( CStifItemParser& /*aItem*/ ) + { + RFs fs; + fs.Connect(); + TBuf path; + TVcxMyVideosCollectionUtil::MakeUniqueFileNameL( fs, _L("c://testframework//testframework.ini"), path ); + fs.Close(); + return KErrNone; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::OriginL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::OriginL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + TUint8 valueSet = EVcxMyVideosOriginCapturedWithCamera; + media->SetTObjectValueL( KVcxMediaMyVideosOrigin, valueSet ); + TUint8 valueGet = TVcxMyVideosCollectionUtil::OriginL( *media ); + if( valueSet != valueGet ) + { + retVal = KErrGeneral; + delete media; + return retVal; + } + valueSet = EVcxMyVideosOriginTvRecording; + media->SetTObjectValueL( KVcxMediaMyVideosOrigin, valueSet ); + valueGet = TVcxMyVideosCollectionUtil::OriginL( *media ); + if( EVcxMyVideosOriginOther != valueGet ) + { + retVal = KErrGeneral; + } + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::FlagsL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::FlagsL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + TUint32 flagsSet( 0xBEEF ); + media->SetTObjectValueL( KMPXMediaGeneralFlags, flagsSet ); + TUint32 flagsGet( TVcxMyVideosCollectionUtil::FlagsL( *media ) ); + if( flagsSet != flagsGet ) + { + retVal = KErrGeneral; + } + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::DownloadIdL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::DownloadIdL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + TUint32 idSet( 0xBEEF ); + media->SetTObjectValueL( KVcxMediaMyVideosDownloadId, idSet ); + TUint32 idGet( TVcxMyVideosCollectionUtil::DownloadIdL( *media ) ); + if( idSet != idGet ) + { + retVal = KErrGeneral; + } + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::DownloadStateL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::DownloadStateL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + TVcxMyVideosDownloadState stateSet = EVcxMyVideosDlStateFailed; + media->SetTObjectValueL( KVcxMediaMyVideosDownloadState, stateSet ); + TVcxMyVideosDownloadState stateGet = TVcxMyVideosCollectionUtil::DownloadStateL( *media ); + if( stateSet != stateGet ) + { + retVal = KErrGeneral; + } + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::IdL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::IdL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + TMPXItemId idSet( 2, 7 ); + media->SetTObjectValueL( KMPXMediaGeneralId, idSet ); + TMPXItemId idGet = TVcxMyVideosCollectionUtil::IdL( *media );; + if( idSet != idGet ) + { + retVal = KErrGeneral; + } + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::DurationL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::DurationL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + TReal32 durationSet( 150 ); + media->SetTObjectValueL( KVcxMediaMyVideosDuration, durationSet ); + TReal32 durationGet = TVcxMyVideosCollectionUtil::DurationL( *media );; + if( durationSet != durationGet ) + { + retVal = KErrGeneral; + } + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// TVcxMyVideosCollectionUtil::Title +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::TitleL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + _LIT( valueSet, "TeamNinja" ); + media->SetTextValueL( KMPXMediaGeneralTitle, valueSet ); + HBufC* valueGet = TVcxMyVideosCollectionUtil::Title( *media ).AllocL(); + if( valueGet->CompareF( valueSet ) ) + { + retVal = KErrGeneral; + } + delete media; + delete valueGet; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::RatingL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::RatingL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + TUint8 valueSet( 21 ); + media->SetTObjectValueL( KVcxMediaMyVideosRating, valueSet ); + TUint8 valueGet = TVcxMyVideosCollectionUtil::RatingL( *media );; + if( valueSet != valueGet ) + { + retVal = KErrGeneral; + } + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::AudioFourCcL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::AudioFourCcL( CStifItemParser& /*aItem*/ ) + { + CMPXMedia* media = CMPXMedia::NewL(); + TInt retVal( KErrNone ); + TUint32 valueSet( 21 ); + media->SetTObjectValueL( KVcxMediaMyVideosAudioFourCc, valueSet ); + TUint32 valueGet = TVcxMyVideosCollectionUtil::AudioFourCcL( *media );; + if( valueSet != valueGet ) + { + retVal = KErrGeneral; + } + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::AreSupported +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::AreSupportedL( CStifItemParser& /*aItem*/ ) + { + TInt retVal( KErrNone ); + CMPXMedia* media = CMPXMedia::NewL(); + RArray attrs; + attrs.Append( KMPXMediaGeneralMimeType ); + TBool inMds( EFalse ); + TVcxMyVideosCollectionUtil::AreSupported( *media, attrs.Array(), inMds ); + delete media; + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::AttrBelongsToFullSet +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::AttrBelongsToFullSetL( CStifItemParser& /*aItem*/ ) + { + TInt retVal( KErrNone ); + // TMPXAttribute attr; + // attr = KMPXMediaGeneralMimeType; + if ( !( TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KMPXMediaGeneralComment ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KMPXMediaGeneralCopyright ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KMPXMediaGeneralMimeType ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KMPXMediaGeneralLastPlaybackPosition ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KVcxMediaMyVideosModifiedDate ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KVcxMediaMyVideosAudioLanguage ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KVcxMediaMyVideosAuthor ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KMPXMediaVideoBitRate ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KMPXMediaVideoHeight ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KMPXMediaVideoWidth ) && + TVcxMyVideosCollectionUtil::AttrBelongsToFullSet( KMPXMediaVideoArtist ) ) ) + { + retVal = KErrGeneral; + } + + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::Origin +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::Origin( CStifItemParser& /*aItem*/ ) + { + TInt retVal( KErrNone ); + + if ( ( TVcxMyVideosCollectionUtil::Origin( KVcxMvcCategoryIdDownloads ) + != EVcxMyVideosOriginDownloaded ) || + ( TVcxMyVideosCollectionUtil::Origin( KVcxMvcCategoryIdTvRecordings ) + != EVcxMyVideosOriginTvRecording ) || + ( TVcxMyVideosCollectionUtil::Origin( KVcxMvcCategoryIdCaptured ) + != EVcxMyVideosOriginCapturedWithCamera ) || + ( TVcxMyVideosCollectionUtil::Origin( KVcxMvcCategoryIdOther ) + != EVcxMyVideosOriginOther ) || + ( TVcxMyVideosCollectionUtil::Origin( KVcxMvcCategoryIdAll ) + != KErrNotFound ) ) + { + retVal = KErrGeneral; + } + + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::PrintOpenFileHandlesL +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::PrintOpenFileHandlesL( CStifItemParser& /*aItem*/ ) + { + TInt retVal( KErrNone ); + +#ifdef _DEBUG + RFs fs; + RFile file; + _LIT( KFileName, "c:\\data\\vcxmyvideoscollectionutiltest_file.txt" ); + _LIT( KInvalidFileName, "c:\\data\\vcxmyvideoscollectionutiltest_fail.txt" ); + User::LeaveIfError( fs.Connect() ); + User::LeaveIfError( file.Open( fs, KFileName, EFileShareAny | EFileRead ) ); + + TVcxMyVideosCollectionUtil::PrintOpenFileHandlesL( KFileName, fs ); + TVcxMyVideosCollectionUtil::PrintOpenFileHandlesL( KInvalidFileName, fs ); + + file.Close(); + fs.Close(); +#endif // _DEBUG + + return retVal; + } + +// ---------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::GetProcessName +// ---------------------------------------------------------------------------- +// +TInt CVcxMyVideosCollectionUtilTest::GetProcessNameL( CStifItemParser& aItem ) + { + TInt retVal( KErrNone ); + TPtrC testProcessName; + TUint64 threadId = RThread().Id().Id(); + TFullName processName; + //_LIT( KTestProcessName, "testscripter_vcxmyvideoscollectionutiltest" ); + + retVal = aItem.GetNextString( testProcessName ); + +#ifdef _DEBUG + if ( retVal == KErrNone ) + { + TVcxMyVideosCollectionUtil::GetProcessName( threadId, processName ); + if ( processName.Find( testProcessName ) == KErrNotFound ) + { + retVal = KErrNotFound; + } + } +#endif // _DEBUG + return retVal; + } + +// ----------------------------------------------------------------------------- +// CVcxMyVideosCollectionUtilTest::?member_function +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +/* +TInt CVcxMyVideosCollectionUtilTest::?member_function( + CItemParser& aItem ) + { + + ?code + + } +*/ + +// ========================== OTHER EXPORTED FUNCTIONS ========================= +// None + +// [End of File] - Do not remove