--- /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 <e32svr.h>
+#include <stifparser.h>
+#include <stiftestinterface.h>
+#include <eikproc.h>
+#include <eikenv.h>
+#include <f32file.h>
+#include <apmstd.h>
+#include <pathinfo.h>
+#include <documenthandler.h>
+
+#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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> name( KName );
+
+ TInt flag = documentHandler->SaveL( context, dataType, name, 0 );
+ STIF_ASSERT_TRUE( flag == KErrNone );
+
+ const TInt KPathLength = 50;
+ TBuf<KPathLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<KLength> 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<TInt32> 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]