diff -r 000000000000 -r 2f259fa3e83a classicui_pub/document_handler_api/tsrc/src/testsdkdocumenthandlerblocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_pub/document_handler_api/tsrc/src/testsdkdocumenthandlerblocks.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,1090 @@ +/* +* Copyright (c) 2002 - 2007 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: test document_handler_api +* +*/ + + +// [INCLUDE FILES] +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "testsdkdocumenthandler.h" +#include "testsdkdocumenthandlerobserver.h" + +const TInt KLength = 50; +_LIT( KNewFile, "\\data\\others\\testdocumenthandlercopy.txt" ); +_LIT( KSaveFile, "\\data\\others\\save" ); +_LIT8( KType, "text/vnd.test" ); +_LIT( KUnnamedFile, "\\data\\others\\Unnamed" ); + +// ============================ MEMBER FUNCTIONS =============================== +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CTestSDKDocumentHandler::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::RunMethodL( CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "TestPLNewPL", CTestSDKDocumentHandler::TestDHNewPL ), + ENTRY( "TestDHNewPLC", CTestSDKDocumentHandler::TestDHNewPLC ), + ENTRY( "TestDHNewL", CTestSDKDocumentHandler::TestDHNewL ), + ENTRY( "TestDHNewLC", CTestSDKDocumentHandler::TestDHNewLC ), + ENTRY( "TestDHDeconstructorL", CTestSDKDocumentHandler::TestDHDeconstructorL ), + ENTRY( "TestDHOpenTempFileL", CTestSDKDocumentHandler::TestDHOpenTempFileL ), + ENTRY( "TestDHSaveTempFileL", CTestSDKDocumentHandler::TestDHSaveTempFileL ), + ENTRY( "TestDHInParamListL", CTestSDKDocumentHandler::TestDHInParamListL ), + ENTRY( "TestDHOutParamListL", CTestSDKDocumentHandler::TestDHOutParamListL ), + ENTRY( "TestDHOpenFileRL", CTestSDKDocumentHandler::TestDHOpenFileRL ), + ENTRY( "TestDHOpenFileEmbeddedGPL", CTestSDKDocumentHandler::TestDHOpenFileEmbeddedGPL ), + ENTRY( "TestDHOpenFileEmbeddedRL", CTestSDKDocumentHandler::TestDHOpenFileEmbeddedRL ), + ENTRY( "TestDHOpenFileL", CTestSDKDocumentHandler::TestDHOpenFileL ), + ENTRY( "TestDHOpenFileEmbeddedL", CTestSDKDocumentHandler::TestDHOpenFileEmbeddedL ), + ENTRY( "TestDHSaveL", CTestSDKDocumentHandler::TestDHSaveL ), + ENTRY( "TestDHSaveNL", CTestSDKDocumentHandler::TestDHSaveNL ), + ENTRY( "TestDHCopyL", CTestSDKDocumentHandler::TestDHCopyL ), + ENTRY( "TestDHCopyRL", CTestSDKDocumentHandler::TestDHCopyRL ), + ENTRY( "TestDHMoveL", CTestSDKDocumentHandler::TestDHMoveL ), + ENTRY( "TestDHSilentMoveL", CTestSDKDocumentHandler::TestDHSilentMoveL ), + ENTRY( "TestDHCanHandleL", CTestSDKDocumentHandler::TestDHCanHandleL ), + ENTRY( "TestDHCanOpenL", CTestSDKDocumentHandler::TestDHCanOpenL ), + ENTRY( "TestDHCanSaveL", CTestSDKDocumentHandler::TestDHCanSaveL ), + ENTRY( "TestDHGetPathL", CTestSDKDocumentHandler::TestDHGetPathL ), + ENTRY( "TestDHHandlerAppUidL", CTestSDKDocumentHandler::TestDHHandlerAppUidL ), + ENTRY( "TestDHSetExitObserverL", CTestSDKDocumentHandler::TestDHSetExitObserverL ), + ENTRY( "TestDHCheckFileNameExtensionL", CTestSDKDocumentHandler::TestDHCheckFileNameExtensionL ), + ENTRY( "TestDHCanHandleProgressivelyL", CTestSDKDocumentHandler::TestDHCanHandleProgressivelyL ), + ENTRY( "TestDHGetProgressiveDownloadAppUidsL", CTestSDKDocumentHandler::TestDHGetProgressiveDownloadAppUidsL ), + + + // [test cases entries] + + }; + + const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ============================ MEMBER FUNCTIONS =============================== +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHNewPL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHNewPL( CStifItemParser& /*aItem*/ ) + { + CEikProcess* process = iEikonEnvPointer->Process(); + CleanupStack::PushL( process ); + STIF_ASSERT_NOT_NULL( process ); + + CDocumentHandler* documentHandler = CDocumentHandler::NewL( process ); + CleanupStack::PushL( documentHandler ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + CleanupStack::PopAndDestroy( documentHandler ); + CleanupStack::Pop( process ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHNewPLC +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHNewPLC( CStifItemParser& /*aItem*/ ) + { + CEikProcess* process = iEikonEnvPointer->Process(); + CleanupStack::PushL( process ); + STIF_ASSERT_NOT_NULL( process ); + + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( process ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + CleanupStack::PopAndDestroy( documentHandler ); + CleanupStack::Pop( process ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHNewL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHNewL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewL(); + CleanupStack::PushL( documentHandler ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHNewLC +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHNewLC( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC(); + STIF_ASSERT_NOT_NULL( documentHandler ); + + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHDeconstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHDeconstructorL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC(); + STIF_ASSERT_NOT_NULL( documentHandler ); + + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHOpenTempFileL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHOpenTempFileL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\opentemp.txt" ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + TInt error = KErrNone; + + TRAP( error, documentHandler->OpenTempFileL( KFile, file ) ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return error; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHSaveTempFileL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHSaveTempFileL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "savetemp.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + TInt error = KErrNone; + + TRAP( error, documentHandler->SaveTempFileL( context, dataType, KFile, file ) ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return error; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHInParamListL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHInParamListL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewL( iEikonEnvPointer->Process() ); + CleanupStack::PushL( documentHandler ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + CAiwGenericParamList& paramlist = documentHandler->InParamListL(); + STIF_ASSERT_NOT_NULL( ¶mlist ); + + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHOutParamListL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHOutParamListL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewL( iEikonEnvPointer->Process() ); + CleanupStack::PushL( documentHandler ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + const CAiwGenericParamList* paramlist = documentHandler->OutParamList(); + STIF_ASSERT_NULL( paramlist ); + + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHOpenFileRL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHOpenFileRL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + TInt flag = documentHandler->OpenFileL( file, dataType ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHOpenFileEmbeddedGPL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHOpenFileEmbeddedGPL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + CAiwGenericParamList& paramlist = documentHandler->InParamListL(); + STIF_ASSERT_NOT_NULL( ¶mlist ); + + file.Write( context ); + TInt flag = documentHandler->OpenFileEmbeddedL( file, dataType, paramlist ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHOpenFileEmbeddedRL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHOpenFileEmbeddedRL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + TInt flag = documentHandler->OpenFileEmbeddedL( file, dataType ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHOpenFileL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHOpenFileL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + TInt flag = documentHandler->OpenFileL( KFile, dataType ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHOpenFileEmbeddedL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHOpenFileEmbeddedL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + TInt flag = documentHandler->OpenFileEmbeddedL( KFile, dataType ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHSaveL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHSaveL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KUnnamedFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + TInt flag = documentHandler->SaveL( context, dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHSaveNL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHSaveNL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KSaveFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + TInt flag = documentHandler->SaveL( context, dataType, name, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHCopyL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHCopyL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "C:\\system\\apps\\testdocumenthandler.txt" ); + _LIT( KNewPath, "testdocumenthandlercopy.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KNewFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + CleanupStack::PopAndDestroy( &file ); + + TInt flag = documentHandler->CopyL( KFile, KNewPath, dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHCopyRL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHCopyRL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "C:\\system\\apps\\testdocumenthandler.txt" ); + _LIT( KNewPath, "testdocumenthandlercopy.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KNewFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + TInt flag = documentHandler->CopyL( file, KNewPath, dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHMoveL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHMoveL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "C:\\system\\apps\\testdocumenthandler.txt" ); + _LIT( KNewPath, "testdocumenthandlercopy.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KNewFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + CleanupStack::PopAndDestroy( &file ); + + TInt flag = documentHandler->MoveL( KFile, KNewPath, dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHSilentMoveL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHSilentMoveL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "C:\\system\\apps\\testdocumenthandler.txt" ); + _LIT( KNewPath, "testdocumenthandlercopy.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KNewFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + CleanupStack::PopAndDestroy( &file ); + + TInt flag = documentHandler->SilentMoveL( KFile, KNewPath, PathInfo::PhoneMemoryRootPath(), dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHCanHandleL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHCanHandleL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + TInt flag = documentHandler->OpenFileL( KFile, dataType ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + TInt canhandle = documentHandler->CanHandleL( dataType ); + STIF_ASSERT_TRUE( canhandle ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHCanOpenL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHCanOpenL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + TInt flag = documentHandler->OpenFileL( KFile, dataType ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + TInt canopen = documentHandler->CanOpenL( dataType ); + STIF_ASSERT_TRUE( canopen ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHCanSaveL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHCanSaveL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType; + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + TInt cansave = documentHandler->CanSaveL( dataType ); + STIF_ASSERT_TRUE( cansave ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHGetPathL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHGetPathL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KSaveFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + + _LIT( KName, "save" ); + TBuf name( KName ); + + TInt flag = documentHandler->SaveL( context, dataType, name, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + const TInt KPathLength = 50; + TBuf path; + TInt getpath = documentHandler->GetPath( path ); + STIF_ASSERT_TRUE( getpath == KErrNone ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHHandlerAppUidL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHHandlerAppUidL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KUnnamedFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + TDataType dataType( KType ); + TInt flag = documentHandler->SaveL( context, dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + TUid uid; + documentHandler->HandlerAppUid( uid ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHSetExitObserverL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHSetExitObserverL( CStifItemParser& /*aItem*/ ) + { + CTestSDKDocumentHandlerObserver* observer = new (ELeave) CTestSDKDocumentHandlerObserver; + CleanupStack::PushL( observer ); + STIF_ASSERT_NOT_NULL( observer ); + + CDocumentHandler* documentHandler = CDocumentHandler::NewL( iEikonEnvPointer->Process() ); + CleanupStack::PushL( documentHandler ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + documentHandler->SetExitObserver( observer ); + + CleanupStack::PopAndDestroy( documentHandler ); + CleanupStack::PopAndDestroy( observer ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHCheckFileNameExtensionL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHCheckFileNameExtensionL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KUnnamedFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + TInt flag = documentHandler->SaveL( context, dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + TBuf filename; + documentHandler->CheckFileNameExtension( filename, dataType ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHCanHandleProgressivelyL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHCanHandleProgressivelyL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KUnnamedFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + TInt flag = documentHandler->SaveL( context, dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + TUid uid; + documentHandler->CanHandleProgressivelyL( dataType, uid ); + + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CTestSDKDocumentHandler::TestDHGetProgressiveDownloadAppUidsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKDocumentHandler::TestDHGetProgressiveDownloadAppUidsL( CStifItemParser& /*aItem*/ ) + { + CDocumentHandler* documentHandler = CDocumentHandler::NewLC( iEikonEnvPointer->Process() ); + STIF_ASSERT_NOT_NULL( documentHandler ); + + _LIT( KFile, "\\system\\apps\\testdocumenthandler.txt" ); + _LIT8( KContext, "Content Text" ); + TBuf8 context( KContext ); + + RFs& fs = iEikonEnvPointer->FsSession(); + fs.Delete( KUnnamedFile ); + + RFile file; + CleanupClosePushL( file ); + STIF_ASSERT_NOT_NULL( &file ); + + TDataType dataType( KType ); + if( file.Open( fs, KFile, EFileWrite | EFileShareAny ) != KErrNone ) + { + file.Create( fs, KFile, EFileWrite | EFileShareAny ); + } + + file.Write( context ); + TInt flag = documentHandler->SaveL( context, dataType, 0 ); + STIF_ASSERT_TRUE( flag == KErrNone ); + + RArray uidList; + CleanupClosePushL( uidList ); + STIF_ASSERT_NOT_NULL( &uidList ); + + TUid uid; + documentHandler->CanHandleProgressivelyL( dataType, uid ); + documentHandler->GetProgressiveDownloadAppUidsL( uidList ); + + CleanupStack::PopAndDestroy( &uidList ); + CleanupStack::PopAndDestroy( &file ); + CleanupStack::PopAndDestroy( documentHandler ); + + return KErrNone; + + } + +// [End of File]