// Copyright (c) 2007-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:
// Creation Date 29/08/2007
// MMF Video Clients Unit Testing script related to graphics surfaces
// testframework.exe [path]\[this script name]. It requires no exceptional network support. For WINSCW testing, 
// epoc.ini should set SYMBIAN_GRAPHICS_USE_GCE. The class CVideoUtility2 should be available to the client.  
// 
//

//! @file
//! @SYMTestSuiteName          tsu_mmf_vclnt_01
//! @SYMScriptTestEnvironment  This test runs using multimedia test framework with the following test list entry:


PRINT Run all the MMF Video Clients unit tests related to graphics surfaces
PRINT 

// Wait for Window Manager
DELAY 5000

LOAD_SUITE tsu_mmf_vclnt_01.dll

// Positive test

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0801-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test NewL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Construct a new object, with default priority and preference values.
//! @SYMTestExpectedResults Doesn't leave, CVideoPlayerUtility2 is constructed successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0801-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0802-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test NewL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Construct a new object, with various non default priority and preference values.
//! @SYMTestExpectedResults Doesn't leave, CVideoPlayerUtility2 is constructed successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0802-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0803-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test OpenFileL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Open a file with a file name and no controller UID is specified.
//! @SYMTestExpectedResults Doesn't leave, file openned successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0803-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0804-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test OpenFileL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Open a file with a file name and a controller UID is specified.
//! @SYMTestExpectedResults Doesn't leave, file openned successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0804-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0805-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test OpenDesL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Open a descriptor with no controller UID is specified.
//! @SYMTestExpectedResults Doesn't leave, descriptor content openned successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0805-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0806-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test OpenDesL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Open a descriptor with a controller UID is specified.
//! @SYMTestExpectedResults Doesn't leave, descriptor content openned successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0806-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0807-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test OpenUrlL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Open a url with no controller UID is specified.
//! @SYMTestExpectedResults Doesn't leave, url content openned successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0807-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0808-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test OpenUrlL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Open a url with a controller UID is specified.
//! @SYMTestExpectedResults Doesn't leave, url content openned successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0808-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0809-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test OpenFileL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Open a file using file handle with no controller UID is specified.
//! @SYMTestExpectedResults Doesn't leave, file openned successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0809-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0811-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test OpenFileL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Open a video clip from a file passing TMMFileSource with no controller UID is specified.
//! @SYMTestExpectedResults Doesn't leave, the video clip openned successfully. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0811-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0815-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test AddDisplayWindowL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Add display window with specific video extent and window clipping rectangle values which is
completely within the window. Handle event KMMFEventCategoryVideoSurfaceCreated and KMMFEventCategoryVideoSurfaceUpdated.
//! @SYMTestExpectedResults Doesn't leave, no error returned.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0815-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0816-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test simplified variant AddDisplayWindowL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Add display window with default video extent and window clipping rectangle values. Handle event 
KMMFEventCategoryVideoSurfaceCreated and KMMFEventCategoryVideoSurfaceUpdated.
//! @SYMTestExpectedResults Doesn't leave, no error returned.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0816-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0817-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test RemoveDisplayWindow() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Remove a previous added display window.
//! @SYMTestExpectedResults Doesn't leave, no error returned.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0817-CP
TEST_COMPLETE 


//! @SYMTestCaseID          MM-MMF-VCLNT-U-0818-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test RemoveDisplayWindow() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Remove a display window but it is not added yet.
//! @SYMTestExpectedResults Doesn't leave, no error returned.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0818-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0819-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetVideoExtentL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Set the video extent if the surface is created. Otherwise store the extent value.
//! @SYMTestExpectedResults Doesn't leave, no error returned.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0819-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0820-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetWindowClipRectL() method of CVideoPlayerUtility2 class.
//! @SYMTestActions         Set the window clipping rectangle, relative to the window. The clipping retangle is completely 
within the window.
//! @SYMTestExpectedResults Doesn't leave, no error returned.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0820-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0821-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test events handling of CVideoPlayerUtility2 class.
//! @SYMTestActions         Handle surface replace sequence consisting of events KMMFEventCategoryVideoSurfaceCreated,
KMMFEventCategoryVideoSurfaceParametersChanged, KMMFEventCategoryVideoRemoveSurface, and KMMFEventCategoryVideoSurfaceCreated
//! @SYMTestExpectedResults Doesn't leave, no error returned.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0821-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-0822-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test events handling of CVideoPlayerUtility2 class.
//! @SYMTestActions         Handle surface replace sequence consisting of events KMMFEventCategoryVideoSurfaceCreated,
KMMFEventCategoryVideoSurfaceParametersChanged and KMMFEventCategoryVideoSurfaceCreated
//! @SYMTestExpectedResults Doesn't leave, no error returned.
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0822-CP
TEST_COMPLETE 

// Nagtive test for CVideoUtility2 object when the controller supports graphics surfaces

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0854-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetDisplayWindowL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Set display window using CVideoPlayerUtility2 object regardless whether the controller 
supports the graphics surfaces.
//! @SYMTestExpectedResults Returns with KErrNotSupported. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0854-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0855-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetInitScreenNumberL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Set initial screen number using CVideoPlayerUtility2 object regardless whether the controller 
supports the graphics surfaces.
//! @SYMTestExpectedResults Returns with KErrNotSupported. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0855-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0856-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test AddDisplayWindowL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Add display window fails when the same window is already displayed.
//! @SYMTestExpectedResults Returns with KErrInUse. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0856-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0857-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test AddDisplayWindowL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Add display window fails when the source has not been opened.
//! @SYMTestExpectedResults Returns with KErrNotReady. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0857-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0858-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test simplified variant of AddDisplayWindowL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Add display window fails when one window is already displayed.
//! @SYMTestExpectedResults Returns with KErrInUse. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0858-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0859-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test simplified variant of AddDisplayWindowL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Add display window fails when the source has not been opened.
//! @SYMTestExpectedResults Returns with KErrNotReady. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0859-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0860-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test AddDisplayWindowL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Add display window fails when the cripping rectangle is not completely contained 
// within the window.
//! @SYMTestExpectedResults Returns with KErrArgument. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0860-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0861-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetVideoExtentL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Set video extent fails when the source has not been opened.
//! @SYMTestExpectedResults Returns with KErrNotReady. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0861-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0862-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetWindowClipRectL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Set window clipping rectangle when one window is already displayed.
//! @SYMTestExpectedResults Returns with KErrNotReady. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0862-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0863-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetWindowClipRectL() method with CVideoPlayerUtility2 object.
//! @SYMTestActions         Set window clipping rectangle when the clipping rectangle is not contained within the window.
//! @SYMTestExpectedResults Returns with KErrArgument. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0863-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-DEVVIDEOCI-U-0864-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test StartDirectScreenAccessL() and StopDirectScreenAccessLmethod with CVideoPlayerUtility2 object.
//! @SYMTestActions         Start and stop direct access using CVideoPlayerUtility2.
//! @SYMTestExpectedResults Returns with KErrNotSupported. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, tsu_mmf_vclnt_01, MM-MMF-VCLNT-U-0864-CP
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-1000-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetAutoScale() method using CVideoPlayerUtility.
//! @SYMTestActions         Open and play a file with autoscale
//! @SYMTestExpectedResults Plays a video file with no errors. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1000-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-1001-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetAutoScale() method using CVideoPlayerUtility.
//! @SYMTestActions         Open and play a file with autoscale
//! @SYMTestExpectedResults Plays a video file with no errors. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1001-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-1002-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetAutoScale() method using CVideoPlayerUtility.
//! @SYMTestActions         Open and play a file with autoscale
//! @SYMTestExpectedResults Plays a video file with no errors. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1002-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-1003-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetAutoScale() method using CVideoPlayerUtility.
//! @SYMTestActions         Open and play a file with autoscale
//! @SYMTestExpectedResults Plays a video file with no errors. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1003-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-1004-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetAutoScale() method using CVideoPlayerUtility2.
//! @SYMTestActions         Open and play a file with autoscale
//! @SYMTestExpectedResults Plays a video file with no errors. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1004-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-1005-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetAutoScale() method using CVideoPlayerUtility2.
//! @SYMTestActions         Open and play a file with autoscale
//! @SYMTestExpectedResults Plays a video file with no errors. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1005-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-1006-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetAutoScale() method using CVideoPlayerUtility2.
//! @SYMTestActions         Open and play a file with autoscale
//! @SYMTestExpectedResults Plays a video file with no errors. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1006-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID          MM-MMF-VCLNT-U-1007-CP
//! @SYMREQ                 REQ7418
//! @SYMTestCaseDesc        Test SetAutoScale() method using CVideoPlayerUtility2.
//! @SYMTestActions         Open and play a file with autoscale
//! @SYMTestExpectedResults Plays a video file with no errors. 
//! @SYMTestPriority        High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1007-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1100-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Add display window succeeds when an event handler has been added with the same display id as the window's.
//! @SYMTestActions			Add display window with display id 0, add event handler with display id 0
//! @SYMTestExpectedResults		Doesn't leave, window added successfully.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1100-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1102-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Event handler SurfaceCreated callback.
//! @SYMTestActions			Add event handler, generate SurfaceCreated event
//! @SYMTestExpectedResults		Event is received in callback.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1102-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1104-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Event handler SurfaceParametersChanged callback.
//! @SYMTestActions			Add event handler, generate SurfaceParametersChanged event
//! @SYMTestExpectedResults		Event is received in callback.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1104-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1106-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Event handler is added after surface is created.
//! @SYMTestActions			Generate SurfaceCreated event, add event handler to display id 0
//! @SYMTestExpectedResults		SurfaceCreated event callback is received by event handler.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1106-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1107-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Removing event handler and window will remove display correctly.
//! @SYMTestActions			Add event handler on display id 0, add display window on display id 0, remove display, remove display window
//! @SYMTestExpectedResults		Doesn't leave. No error returned.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1107-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1108-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Adding event handler and adding window and removing event handler before event is received.
//! @SYMTestActions			Add event handler on display 0, add display window on display 0, remove event handler, generate SurfaceCreated
//! @SYMTestExpectedResults		Doesn't leave. No error returned.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1108-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1110-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Add event handler, remove event handler.
//! @SYMTestActions			Add event handler on display 0, remove event handler on display 0
//! @SYMTestExpectedResults		Doesn't leave. No error returned.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1110-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1111-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Stress test, call AddDisplayWindowL and AddDisplay followed by RemoveDisplayWindow and RemoveDisplay 10 times 
//! @SYMTestActions				Add display window, add display, remove display window, remove display.
//! @SYMTestExpectedResults		Doesn't leave. No error returned.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1111-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1112-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Event handler SurfaceCreated callback.
//! @SYMTestActions			Add event handler, generate SurfaceCreated event twice
//! @SYMTestExpectedResults		Event is received in callback twice
//! @SYMTestPriority			High
 RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1112-CP \mm\tsu_mmf_vclnt_01.ini
 TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1113-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Event handler SurfaceParametersChanged and RemoveSurfaceEvent callback.
//! @SYMTestActions			Add event handler, generate SurfaceParametersChanged and RemoveSurfaceEvent event
//! @SYMTestExpectedResults		Events are received in callback.
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1113-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1200-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Add window fails to add the same window again.
//! @SYMTestActions			Add window on display 0, add the same window again
//! @SYMTestExpectedResults		Fails with KErrInUse
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1200-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE 

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1201-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Add event handler fails to add event handler for the same display.
//! @SYMTestActions			Add event handler on display 0, add event handler on display 0 again
//! @SYMTestExpectedResults		Fails with KErrInUse
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1201-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE

//! @SYMTestCaseID			MM-MMF-VCLNT-U-1202-CP
//! @SYMREQ				REQ9475
//! @SYMTestCaseDesc			Add event handler fails to add before controller has been opened.
//! @SYMTestActions			Add event handler without opening file first.
//! @SYMTestExpectedResults		Fails with KErrNotReady
//! @SYMTestPriority			High
RUN_TEST_STEP -1, TSU_MMF_VCLNT_01, MM-MMF-VCLNT-U-1202-CP \mm\tsu_mmf_vclnt_01.ini
TEST_COMPLETE
