//
// Copyright (c) 2005-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:
//
//! @file
//! @SYMTestSuiteName		GRAPHICS-BITGDI-FbsBitGcBitmap-PublicApi
//! @SYMScriptTestEnvironment	

/////////////////////////////////////////////////////////////////////
// GRAPHICS-BITGDI-FbsBitGcBitmap-PublicApi.script
//
// Tests all public elements of the CFbsBitGcBitmap
// classes as a means of confidence that the APIs work as expected.
//
// The purpose is to provide a regression test suite of PublishedAll APIs for CFbsBitGcBitmap
// The tests are fully automated.
/////////////////////////////////////////////////////////////////////

LOAD_SUITE      T_GraphicsBitgdiApi
DELAY           1000

START_TESTCASE                  GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0001
//! @SYMTestCaseID              GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0001
//! @SYMAPI     				CFbsBitGcBitmap::Address()
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            09/01/2009
//! @SYMTestCaseDesc            Get the bitmap address without bitmap created
//! @SYMTestActions             1. Create a CFbsBitGcBitmap object
//!                             2. Create a RFbsSession with font and bitmap server
//!                             3. Call Address to get the bitmap address
//!                             4. Destroy the object anc close the session
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The CFbsBitGcBitmap::Address() call returns NULL as expected and should not cause any panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitgdiApi      c:\graphics\GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI.ini
        CREATE_OBJECT           RFbsSession                   RFbsSession1
        CREATE_OBJECT           CFbsBitGcBitmap               CFbsBitGcBitmap1
        COMMAND                 RFbsSession1                  Connect
        COMMAND                 CFbsBitGcBitmap1              new     
        COMMAND                 CFbsBitGcBitmap1              Address   
        COMMAND                 CFbsBitGcBitmap1              ~
    	COMMAND					RFbsSession1				  Disconnect
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0001

START_TESTCASE                  GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0002
//! @SYMTestCaseID              GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0002
//! @SYMAPI     				CFbsBitGcBitmap::Address()
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            09/01/2009
//! @SYMTestCaseDesc            Get a new created bitmap address
//! @SYMTestActions             1. Create a CFbsBitGcBitmap object
//!                             2. Create a RFbsSession with font and bitmap server
//!                             3. Create a 100x200 bitmap
//!                             4. Call Address to get the bitmap address
//!                             5. Destroy the object and close the session
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The CFbsBitGcBitmap::Address() call returns are expected and should not cause any panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitgdiApi      c:\graphics\GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI.ini
        CREATE_OBJECT           RFbsSession                   RFbsSession1
        CREATE_OBJECT           CFbsBitGcBitmap               CFbsBitGcBitmap1
        COMMAND                 RFbsSession1                  Connect
        COMMAND                 CFbsBitGcBitmap1              new     
        COMMAND                 CFbsBitGcBitmap1              Create    GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0002-0001-Create_Command03
        COMMAND                 CFbsBitGcBitmap1              Address   GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0002-0001-Address_Command04
        COMMAND                 CFbsBitGcBitmap1              ~
    	COMMAND					RFbsSession1				  Disconnect
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0002


START_TESTCASE                  GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0003
//! @SYMTestCaseID              GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0003
//! @SYMAPI     				CFbsBitGcBitmap::LockHeap()
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            09/01/2009
//! @SYMTestCaseDesc            Lock the global bitmap heap
//! @SYMTestActions             1. Create a CFbsBitGcBitmap object
//!                             2. Create a RFbsSession with font and bitmap server
//!                             3. Call LockHeap to lock the global bitmap heap
//!                             4. Call UnlockHeap to unlock the global bitmap heap
//!                             5. Destroy the object and disconnect the session
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The CFbsBitGcBitmap::LockHeap() call should not cause any panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitgdiApi      c:\graphics\GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI.ini
        CREATE_OBJECT           RFbsSession                   RFbsSession1
        CREATE_OBJECT           CFbsBitGcBitmap               CFbsBitGcBitmap1
        COMMAND                 RFbsSession1                  Connect
        COMMAND                 CFbsBitGcBitmap1              new     
        COMMAND                 CFbsBitGcBitmap1              LockHeap
        COMMAND                 CFbsBitGcBitmap1              UnlockHeap
        COMMAND                 CFbsBitGcBitmap1              ~
    	COMMAND					RFbsSession1				  Disconnect
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0003

START_TESTCASE                  GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0004
//! @SYMTestCaseID              GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0004
//! @SYMAPI     				CFbsBitGcBitmap::LockHeap()
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            09/01/2009
//! @SYMTestCaseDesc            Lock the global bitmap heap with a new bitmap created
//! @SYMTestActions             1. Create a CFbsBitGcBitmap object
//!                             2. Create a RFbsSession with font and bitmap server
//!                             3. Create a 100x200 bitmap
//!                             4. Call LockHeap to lock the global bitmap heap
//!                             5. Call UnlockHeap to unlock the global bitmap heap
//!                             6. Destroy the object and disconnect the session
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The CFbsBitGcBitmap::LockHeap() call should not cause any panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitgdiApi      c:\graphics\GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI.ini
        CREATE_OBJECT           RFbsSession                   RFbsSession1
        CREATE_OBJECT           CFbsBitGcBitmap               CFbsBitGcBitmap1
        COMMAND                 RFbsSession1                  Connect
        COMMAND                 CFbsBitGcBitmap1              new     
        COMMAND                 CFbsBitGcBitmap1              Create    GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0004-0001-Create_Command03
        COMMAND                 CFbsBitGcBitmap1              LockHeap
        COMMAND                 CFbsBitGcBitmap1              UnlockHeap
        COMMAND                 CFbsBitGcBitmap1              ~
    	COMMAND					RFbsSession1				  Disconnect
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0004

START_TESTCASE                  GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0005
//! @SYMTestCaseID              GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0005
//! @SYMAPI     				CFbsBitGcBitmap::LockHeap()
//! @SYMAuthor                  Dorothy Zhang
//! @SYMCreationDate            09/01/2009
//! @SYMTestCaseDesc            Get the address of the first pixel in the bitmap with LockHeap and UnlockHeap call in pairs
//! @SYMTestActions             1. Create a CFbsBitGcBitmap object
//!                             2. Create a RFbsSession with font and bitmap server
//!                             3. Create a 100x200 bitmap
//!                             4. Call LockHeap to lock the global bitmap heap
//!                             5. Call DataAddress to get the address of the first pixel in the bitmap
//!                             6. Call UnlockHeap to unlock the global bitmap heap
//!                             7. Destroy the object and disconnect the session.
//! @SYMTestStatus              Implemented
//! @SYMTestPriority            High
//! @SYMTestExpectedResults     The CFbsBitGcBitmap::UnlockHeap() call should not cause any panic.
//! @SYMTestType                CIT
    START_TEST_BLOCK            10    T_GraphicsBitgdiApi      c:\graphics\GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI.ini
        CREATE_OBJECT           RFbsSession                   RFbsSession1
        CREATE_OBJECT           CFbsBitGcBitmap               CFbsBitGcBitmap1
        COMMAND                 RFbsSession1                  Connect
        COMMAND                 CFbsBitGcBitmap1              new     
        COMMAND                 CFbsBitGcBitmap1              Create    GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0005-0001-Create_Command03
        COMMAND                 CFbsBitGcBitmap1              LockHeap
        COMMAND                 CFbsBitGcBitmap1              DataAddress
        COMMAND                 CFbsBitGcBitmap1              UnlockHeap
        COMMAND                 CFbsBitGcBitmap1              ~
    	COMMAND					RFbsSession1				  Disconnect
    END_TEST_BLOCK    
END_TESTCASE                    GRAPHICS-BITGDI-FbsBitGcBitmap-PublicAPI-0005

