startupservices/startupanimation/tsrc/TSanimengine/inc/TSanimengine.h
author hgs
Wed, 20 Oct 2010 17:03:03 +0300
changeset 81 676b6116ca93
parent 77 b01c07dfcf84
permissions -rw-r--r--
201041_01

/*
* 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: STIF testclass declaration
*
*/

#ifndef TSANIMENGINE_H
#define TSANIMENGINE_H

//  INCLUDES
#include <StifLogger.h>
#include <TestScripterInternal.h>
#include <StifTestModule.h>
#include <TestclassAssert.h>


// CONSTANTS
//const ?type ?constant_var = ?constant;

// MACROS
//#define ?macro ?macro_def
#define TEST_CLASS_VERSION_MAJOR 0
#define TEST_CLASS_VERSION_MINOR 0
#define TEST_CLASS_VERSION_BUILD 0

// Logging path
_LIT( KTSanimengineLogPath, "\\logs\\testframework\\TSanimengine\\" ); 
// Log file
_LIT( KTSanimengineLogFile, "TSanimengine.txt" ); 
_LIT( KTSanimengineLogFileWithTitle, "TSanimengine_[%S].txt" );


#include <f32file.h>
#include "sanimobserver.h"

class CSAnimEngine;
class CTestWaiter;

class TMockAnimationObserver : public MSAnimObserver
    {
public:
    TMockAnimationObserver() {}
    virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/, const CFbsBitmap& /*aMask*/ ) {}
    virtual void UpdateScreen( const CFbsBitmap& /*aFrame*/ ) {}
    };

class CTSanimengine;

// DATA TYPES
//enum ?declaration
//typedef ?declaration
//extern ?data_type;

// CLASS DECLARATION

/**
*  CTSanimengine test class for STIF Test Framework TestScripter.
*  ?other_description_lines
*
*  @lib ?library
*  @since ?Series60_version
*/
NONSHARABLE_CLASS(CTSanimengine) : public CScriptBase
    {
    public:  // Constructors and destructor

        /**
        * Two-phased constructor.
        */
        static CTSanimengine* NewL( CTestModuleIf& aTestModuleIf );

        /**
        * Destructor.
        */
        virtual ~CTSanimengine();

    public: // New functions

        /**
        * ?member_description.
        * @since ?Series60_version
        * @param ?arg1 ?description
        * @return ?description
        */
        //?type ?member_function( ?type ?arg1 );

    public: // Functions from base classes

        /**
        * From CScriptBase Runs a script line.
        * @since ?Series60_version
        * @param aItem Script line containing method name and parameters
        * @return Symbian OS error code
        */
        virtual TInt RunMethodL( CStifItemParser& aItem );

    protected:  // New functions

        /**
        * ?member_description.
        * @since ?Series60_version
        * @param ?arg1 ?description
        * @return ?description
        */
        //?type ?member_function( ?type ?arg1 );

    protected:  // Functions from base classes

        /**
        * From ?base_class ?member_description
        */
        //?type ?member_function();

    private:

        /**
        * C++ default constructor.
        */
        CTSanimengine( CTestModuleIf& aTestModuleIf );

        /**
        * By default Symbian 2nd phase constructor is private.
        */
        void ConstructL();

        // Prohibit copy constructor if not deriving from CBase.
        // ?classname( const ?classname& );
        // Prohibit assigment operator if not deriving from CBase.
        // ?classname& operator=( const ?classname& );

        /**
        * Frees all resources allocated from test methods.
        * @since ?Series60_version
        */
        void Delete();

        /**
        * Test methods are listed below. 
        */

        /**
        * Example test method.
        * @since ?Series60_version
        * @param aItem Script line containing parameters.
        * @return Symbian OS error code.
        */
        virtual TInt ExampleL( CStifItemParser& aItem );
        
        /**
         * Method used to log version of test class
         */
        void SendTestClassVersion();

        //ADD NEW METHOD DEC HERE
        //[TestMethods] - Do not remove

    
    TInt SetupEmptyL();
    TInt SetupObjL();
    TInt SetupImagePluginL();
    TInt SetupTonePluginL();
    TInt SetupBothPluginsL();
    TInt SetupImagePluginFasterL();
    TInt SetupTonePluginFasterL();
    TInt SetupImagePluginReturnsErrorL();
    TInt SetupTonePluginReturnsErrorL();
    TInt SetupBothPluginsReturnErrorL();
    TInt LoadL();
    TInt SetupImageLoadedL();
    TInt SetupToneLoadedL();
    TInt SetupBothLoadedL();
    TInt SetupLoadFailedL();
    TInt SetupBothFinishedL();
    TInt Teardown();

    TBool CheckNoImagePluginOutputL();
    TBool CheckImagePluginOutputL(
        const TUint32 aPluginUid,
        const TDesC& aFileToLoad,
        const TInt aDisplayMode,
        const TSize& aSize,
        const TInt aFrameDelay );
    TBool CheckNoTonePluginOutputL();
    TBool CheckTonePluginOutputL(
        const TUint32 aPluginUid,
        const TDesC& aFileToLoad,
        const TInt aVolume,
        const TInt64& aVolumeRamp );

    TInt TestConstructorL();
    TInt TestConstructorNoMemoryL();
    TInt TestExtensionlessFileL();
    TInt TestTooLongExtensionL();
    TInt SetImagePropertiesUnknownExtensionL();
    TInt SetImagePropertiesUnknownExtensionNoMemoryL();
    TInt SetImagePropertiesKnownExtensionL();
    TInt SetImagePropertiesKnownExtensionNoMemoryL();
    TInt SetImagePropertiesManyPluginsL();
    TInt SetImagePropertiesManyPluginsNoMemoryL();
    TInt SetImagePropertiesWildcardMatchL();
    TInt SetImagePropertiesWildcardMatchNoMemoryL();
    TInt SetImagePropertiesManyExtensionsL();
    TInt SetImagePropertiesManyExtensionsNoMemoryL();
    TInt SetTonePropertiesUnknownExtensionL();
    TInt SetTonePropertiesUnknownExtensionNoMemoryL();
    TInt SetTonePropertiesKnownExtensionL();
    TInt SetTonePropertiesKnownExtensionNoMemoryL();
    TInt SetTonePropertiesManyPluginsL();
    TInt SetTonePropertiesManyPluginsNoMemoryL();
    TInt SetTonePropertiesWildcardMatchL();
    TInt SetTonePropertiesWildcardMatchNoMemoryL();
    TInt TestLoadEmptyL();
    TInt TestCancelLoadEmptyL();
    TInt TestLoadNoMemoryL();
    TInt TestCancelLoadL();
    TInt TestLoadImagePluginFasterL();
    TInt TestLoadTonePluginFasterL();
    TInt TestLoadImagePluginReturnsErrorL();
    TInt TestLoadTonePluginReturnsErrorL();
    TInt TestBackroundColourL();
    TInt TestCancelNotActiveL();
    TInt TestLoadWhenActiveL();
    TInt TestStartWhenActiveL();
    TInt TestStartL();
    TInt TestStartNotReadyL();
    TInt TestLoadAgainL();
    TInt TestStartAgainL();
    TInt TestLoadAndStartAnotherShowL();
    TInt TestLoadAndStartEmptyShowAfterAnotherShowL();
    TInt TestStartWhenLoadFailedL();

private: // data

    /** File server session used in testing. */
    RFs iFs;

    /** Animation observer for testing. */
    TMockAnimationObserver iObserver;

    /** Instance of the class that this test suite is testing. */
    CSAnimEngine* iTestObj;

    /** For testing async calls. */
    CTestWaiter* iWaiter;
    CTestWaiter* iWaiter2;

    

    };

#endif      // TSANIMENGINE_H

// End of File