--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerasrv_plat/camera_application_engine_api/tsrc/src/CaeTestRelease.cpp Thu Dec 17 08:51:24 2009 +0200
@@ -0,0 +1,6459 @@
+/*
+* 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: CaeTestRelease.cpp
+*
+*/
+
+#include "CaeTestRelease.h"
+#include <f32file.h>
+#include <e32base.h>
+#include <e32svr.h>
+
+
+const TReal32 KViewFinderFrameFrequencyMinimum = 15.0;
+
+
+
+CCaeTestRelease::CCaeTestRelease ()
+ {
+ }
+
+
+
+CCaeTestRelease::~CCaeTestRelease ()
+ {
+ }
+
+
+void CCaeTestRelease::setUpL ()
+ {
+ iStatesClient = CCaeTestStatesClient::NewL( );
+
+ iStatesClient->SetFileNameBase( KFileNameBase );
+
+ iSettingsClient = CCaeTestSettingsClient::NewL();
+
+ iSettingsClient->SetFileNameBase( KFileNameBase );
+ }
+
+
+void CCaeTestRelease::tearDown ()
+ {
+ // pointers in other test e.g. still states tests etc. are not cleared
+ delete iStatesClient;
+ iStatesClient = NULL;
+ delete iSettingsClient;
+ iSettingsClient = NULL;
+// User::After(30000000);
+ }
+
+
+//
+// Own test functions.
+//
+// The framework will do for a test function:
+//
+// setUpL();
+// TRAPD(leaveCode, 'myTestFunction()');
+// "Report leave error or assertion failure for 'myTestFunction()'".
+// tearDown();
+//
+
+
+/********************************************************/
+/* GENERAL TESTS */
+/********************************************************/
+
+void CCaeTestRelease::TestInitL()
+ {
+ // ID: CAE.GEN.INITL.001
+ //
+ // General
+ //
+ // Action : Test call InitL() when instatiation is done.
+ //
+ // Output : OK.
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EInit );// here we have to put the correct action
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestInitVideoRecorderL()
+ {
+ // ID: CAE.GEN.INITVIDEORECORDERL.001
+ //
+ // General
+ //
+ // Action : Test Call InitVideoRecorderL() when initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EInitVideoRecorder );// here we have to put the correct action
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPowerOffAndOnL()
+ {
+ // ID: CAE.GEN.POWEROFFANDON.001
+ //
+ // General
+ //
+ // Action : Test to turn camera power off and on when initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOffAndOn );
+ assertL( iStatesClient->CountInitComplete() == 2 );
+ }
+
+void CCaeTestRelease::TestReleaseAndReserveL()
+ {
+ // ID: CAE.GEN.RELESEANDRESERVE.001
+ //
+ // General
+ //
+ // Action : Release vapauttaa kameran muiden sovellusten käyttöön.
+ // Reserve varaa kameran (uudestaan) ja palauttaa entiset asetukset (kontrasti,....) voimaan.
+ //
+ // Output : OK.
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EReleaseReserve );
+ assertL( iStatesClient->CountInitComplete() == 2 );
+ }
+
+void CCaeTestRelease::TestCCameraHandleL()
+ {
+ // ID: CAE.GEN.CCAMERAHANDLE.001
+ //
+ // General
+ //
+ // Action : Test call CCameraHandle when instatiation is done.
+ //
+ // Output : OK.
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ECCameraHandle );
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+/********************************************************/
+/* STILL CAPTURE GENERAL TESTS */
+/********************************************************/
+
+void CCaeTestRelease::TestPowerOnWhenInitializedL()
+ {
+ // ID: CAE.GEN-SC.POWERON.001
+ //
+ // General
+ //
+ // Action : Test to turn camera power on when initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOnWhenInitialized );// here we have to put the correct action
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPowerOnWhenStillCapturePreparedL()
+ {
+ // ID: CAE.GEN-SC.POWERON.002
+ //
+ // General
+ //
+ // Action : Test to turn camera power on when still capture prepared.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOnWhenStillPrepared );// here we have to put the correct action
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPowerOffWhenStillCapturePreparedL()
+ {
+ // ID: CAE.GEN-SC.POWEROFF.001
+ //
+ // General
+ //
+ // Action : Test to turn camera power off when still capture prepared.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOffWhenStillPrepared );// here we have to put the correct action
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPowerOffWhenViewfinderRunningL()
+ {
+ // ID: CAE.GEN-SC.POWEROFF.002
+ //
+ // General
+ //
+ // Action : Test to turn camera power off when viewfinder running.
+ //
+ // Output : OK.
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOffWhenVfRunning );// here we have to put the correct action
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+
+/********************************************************/
+/* VIDEO RECORDING GENERAL TESTS */
+/********************************************************/
+
+void CCaeTestRelease::TestPowerOnWhenVideoRecordingPreparedL()
+ {
+ // ID: CAE.GEN-VR.POWERON.003
+ //
+ // General
+ //
+ // Action : Test to turn camera power on when video recording prepared.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOnWhenVideoPrepared );// here we have to put the correct action
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPowerOnWhenRecordingL()
+ {
+ // ID: CAE.GEN.VR.POWERON.004
+ //
+ // General
+ //
+ // Action : Test to turn camera power on when recording.
+ //
+ // Output : OK.
+
+ iStatesClient->SetTimeout( 1000000 );
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOnWhenRecordingVideo );// here we have to put the correct action
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPowerOffWhenVideoRecordingPreparedL()
+ {
+ // ID: CAE.GEN-VR.POWEROFF.003
+ //
+ // General
+ //
+ // Action : Test to turn camera power off video recording prepared.
+ //
+ // Output : OK.
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOffWhenVideoPrepared );// here we have to put the correct action
+ }
+
+void CCaeTestRelease::TestPowerOffWhenRecordingL()
+ {
+ // ID: CAE.GEN-VR.POWEROFF.004
+ //
+ // General
+ //
+ // Action : Test to turn camera power off when recording.
+ //
+ // Output : OK.
+
+ iStatesClient->SetTimeout( 1000000 );
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESwitchPowerOffWhenRecordingVideo );// here we have to put the correct action
+ }
+
+/********************************************************/
+/* VIEW FINDER */
+/********************************************************/
+
+void CCaeTestRelease::TestViewFinderStartAndStopQqvgaL()
+ {
+ // CAE.VF.STARTSTOPVIEWFINDER.QQVGA.001
+ //
+ // View Finder
+ //
+ // Action : Test to start and stop QQVGA view finder when initialization is done.
+ //
+ // Output : OK.
+
+ TSize sizeQqvga( KImgWidthQQVGA, KImgHeightQQVGA );
+
+ iStatesClient->SetViewFinderSize( sizeQqvga );
+ iStatesClient->SetTimeout( 10000000 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartAndStopVf );
+
+ TReal32 viewFinderFrameFrequency = iStatesClient->ViewFinderFrameFrequency();
+
+ assertL( viewFinderFrameFrequency >= KViewFinderFrameFrequencyMinimum );
+ }
+
+void CCaeTestRelease::TestViewFinderStartAndStopSubqcifL()
+ {
+ // CAE.VF.STARTSTOPVIEWFINDER.SUBQCIF.002
+ //
+ // View Finder
+ //
+ // Action : Test to start and stop SUBQCIF view finder when initialization is done.
+ //
+ // Output : OK.
+
+ TSize sizeSubqcif( KImgWidthSubQCIF, KImgHeightSubQCIF );
+
+ iStatesClient->SetViewFinderSize( sizeSubqcif );
+ iStatesClient->SetTimeout( 10000000 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartAndStopVf );
+
+ TReal32 viewFinderFrameFrequency = iStatesClient->ViewFinderFrameFrequency();
+
+ assertL( viewFinderFrameFrequency >= KViewFinderFrameFrequencyMinimum );
+ }
+
+void CCaeTestRelease::TestCroppedViewFinderStartAndStopL()
+ {
+ // CAE.VF.STARTSTOPVIEWFINDER.CROPPED.003
+ //
+ // View Finder
+ //
+ // Action : Test to start and stop cropped view finder when initialization is done.
+ //
+ // Output : OK.
+
+ TSize sizeQqvga( KImgWidthQQVGA, KImgHeightQQVGA );
+
+ iStatesClient->SetViewFinderSize( sizeQqvga );
+ iStatesClient->SetTimeout( 100000 );
+
+ TRAPD( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartAndStopCroppedVf ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+ assertL( error == KErrNotSupported );
+
+ TReal32 viewFinderFrameFrequency = iStatesClient->ViewFinderFrameFrequency();
+
+ assertL( viewFinderFrameFrequency >= KViewFinderFrameFrequencyMinimum );
+ }
+
+void CCaeTestRelease::TestViewFinderDirectStartAndStopL()
+ {
+ // CAE.VF.STARTSTOPVIEWFINDERDIRECT.001
+ //
+ // View Finder
+ //
+ // Action : Test to start and stop view finder direct when initialization is done.
+ //
+ // Output : Leave.
+
+ TRAPD( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartAndStopDirectVf ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+#if (HW_DEVLON)
+ assertL( error != KErrNotSupported ); // Returns error because illegal parameters (NULL)
+#else
+ assertL( error == KErrNotSupported );
+#endif
+ }
+
+void CCaeTestRelease::TestCroppedViewFinderDirectStartAndStopL()
+ {
+ // CAE.VF.STARTSTOPVIEWFINDERDIRECT.002
+ //
+ // View Finder
+ //
+ // Action : Test to start and stop cropped view finder direct when initialization is done.
+ //
+ // Output : Leave.
+
+ TRAPD( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartAndStopCroppedDirectVf ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+#if (HW_DEVLON)
+ assertL( error == KErrNotSupported ); // Not supported
+#else
+ assertL( error == KErrNotSupported );
+#endif
+ }
+
+/********************************************************/
+/* STILL CAPTURE QUALITY LEVEL */
+/********************************************************/
+
+void CCaeTestRelease::TestCaptureQualityLevel0L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.JPEGVGA90.008
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture quality level 0
+ // image when initialization is done and viewfinder is running.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_vga16M.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_ql_0_vga90.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVf );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureQualityLevel1L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.JPEGVGA50.009
+
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture quality level 1
+ // image when initialization is done and viewfinder is running.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 1 );
+
+ iStatesClient->SetStillFileName( _L("cae_ql_1_vga50.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVf );
+ }
+
+
+void CCaeTestRelease::TestCaptureQualityLevel2L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.JPEGQQVGA90.010
+
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture quality level 2
+ // image when initialization is done and viewfinder is running.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 2 );
+
+ iStatesClient->SetStillFileName( _L("cae_ql_2_qqvga90.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVf );
+ }
+
+
+/********************************************************/
+/* STILL CAPTURE */
+/********************************************************/
+
+void CCaeTestRelease::TestCaptureVga16ML()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA16M.002
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture VGA 16M
+ // image when initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFileName( _L("cae_vga16M.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureVga64KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA64K.003
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture VGA 64K
+ // image when initialization is done.
+ //
+ // Output : OK.
+
+ RDebug::Print(_L("XYZ:TestCaptureVga64KL start"));
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor64K );
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFileName( _L("cae_vga64K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+
+ RDebug::Print(_L("XYZ:TestCaptureVga64KL ending"));
+ }
+
+
+void CCaeTestRelease::TestCaptureVga4KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA4K.004
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture VGA 4K
+ // image when initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor4K );
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFileName( _L("cae_vga4K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureQqvga16ML()
+ {
+ // ID: CAE.SC.CAPTURESTILL.QQVGA16M.005
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture QQVGA 16M
+ // image when initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizeQqvga( KImgWidthQQVGA, KImgHeightQQVGA );
+
+ iStatesClient->SetStillFrameSize( sizeQqvga );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_qqvga16M.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_qqvga16M.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+ }
+
+
+void CCaeTestRelease::TestCaptureQqvga64KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.QQVGA64K.006
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture QQVGA 64K
+ // image when initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor64K );
+
+ TSize sizeQqvga( KImgWidthQQVGA, KImgHeightQQVGA );
+
+ iStatesClient->SetStillFrameSize( sizeQqvga );
+
+ iStatesClient->SetStillFileName( _L("cae_qqvga64K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+ }
+
+
+void CCaeTestRelease::TestCaptureQqvga4KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.QQVGA4K.007
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture QQVGA 4K
+ // image when initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor4K );
+
+ TSize sizeQqvga( KImgWidthQQVGA, KImgHeightQQVGA );
+
+ iStatesClient->SetStillFrameSize( sizeQqvga );
+
+ iStatesClient->SetStillFileName( _L("cae_qqvga4K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+ }
+
+
+void CCaeTestRelease::TestCaptureMp1_16ML()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP1.16M.011
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 1MegaPixel 16M
+ // image when initialization is done.
+ //
+ // ** For Mirage X PROD1**
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizeMp1( KImgWidthMP1, KImgHeightMP1 );
+
+ iStatesClient->SetStillFrameSize( sizeMp1 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp1_16M.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureMp1_64KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP1.64K.012
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 1MegaPixel 64K
+ // image when initialization is done.
+ //
+ // ** For Mirage X PROD1**
+ //
+ // Output : OK.
+
+ RDebug::Print(_L("XYZ:TestCaptureMp1_64KL start"));
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor64K );
+
+ TSize sizeMp1( KImgWidthMP1, KImgHeightMP1 );
+
+ iStatesClient->SetStillFrameSize( sizeMp1 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp1_64K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+
+ RDebug::Print(_L("XYZ:TestCaptureMp1_64KL ending"));
+ }
+
+
+void CCaeTestRelease::TestCaptureMp1_4KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP1.4K.013
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 1Mega Pixel 4K
+ // image when initialization is done.
+ //
+ // ** For Mirage X PROD1**
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor4K );
+
+ TSize sizeMp1( KImgWidthMP1, KImgHeightMP1 );
+
+ iStatesClient->SetStillFrameSize( sizeMp1 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp1_4K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureJpegMp1L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.JPEGMP1.014
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 1MegaPixel Jpeg
+ // image when initialization is done.
+ //
+ // ** For Mirage X PROD1**
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatJpeg );
+
+ iStatesClient->SetStillCompressionQuality( 50 );
+
+ TSize sizeMp1( KImgWidthMP1, KImgHeightMP1 );
+
+ iStatesClient->SetStillFrameSize( sizeMp1 );
+
+ iStatesClient->SetStillFileName( _L("cae_jpegmp1_50.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureMp1M3_16ML()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP1M3.16M.018
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 1,3MegaPixel 16M
+ // image when initialization is done.
+ //
+ // ** For Mirage X PROD2**
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizeMp1M3( KImgWidthMP1M3, KImgHeightMP1M3 );
+
+ iStatesClient->SetStillFrameSize( sizeMp1M3 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp1m3_16M.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureMp1M3_64KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP1M3.64K.019
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 1,3MegaPixel 64K
+ // image when initialization is done.
+ //
+ // ** For Mirage X PROD2**
+ //
+ // Output : OK.
+
+ RDebug::Print(_L("XYZ:TestCaptureMp1_64KL start"));
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor64K );
+
+ TSize sizeMp1M3( KImgWidthMP1M3, KImgHeightMP1M3 );
+
+ iStatesClient->SetStillFrameSize( sizeMp1M3 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp1m3_64K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+
+ RDebug::Print(_L("XYZ:TestCaptureMp1_64KL ending"));
+ }
+
+
+void CCaeTestRelease::TestCaptureMp1M3_4KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP1M3.4K.020
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 1,3Mega Pixel 4K
+ // image when initialization is done.
+ //
+ // ** For Mirage X PROD2**
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor4K );
+
+ TSize sizeMp1M3( KImgWidthMP1M3, KImgHeightMP1M3 );
+
+ iStatesClient->SetStillFrameSize( sizeMp1M3 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp1m3_4K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureJpegMp1M3L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.JPEGMP1M3.021
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 1,3MegaPixel Jpeg
+ // image when initialization is done.
+ //
+ // ** For Mirage X PROD2**
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatJpeg );
+
+ iStatesClient->SetStillCompressionQuality( 50 );
+
+ TSize sizeMp1M3( KImgWidthMP1M3, KImgHeightMP1M3 );
+
+ iStatesClient->SetStillFrameSize( sizeMp1M3 );
+
+ iStatesClient->SetStillFileName( _L("cae_jpegmp1m3_50.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureMp2_16ML()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP2.16M.025
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 2 MegaPixel 16M
+ // image when initialization is done.
+ //
+ // ** For UNAGI 2M PROD7 **
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizeMp2( KImgWidthMP2, KImgHeightMP2 );
+
+ iStatesClient->SetStillFrameSize( sizeMp2 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp2_16M.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureMp2_64KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP2.64K.026
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 2 MegaPixel 64K
+ // image when initialization is done.
+ //
+ // ** For UNAGI 2M PROD7 **
+ //
+ // Output : OK.
+
+ RDebug::Print(_L("XYZ:TestCaptureMp2_64KL start"));
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor64K );
+
+ TSize sizeMp2( KImgWidthMP2, KImgHeightMP2 );
+
+ iStatesClient->SetStillFrameSize( sizeMp2 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp2_64K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+
+ RDebug::Print(_L("XYZ:TestCaptureMp2_64KL ending"));
+ }
+
+
+void CCaeTestRelease::TestCaptureMp2_4KL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.MP2.4K.027
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 2 Mega Pixel 4K
+ // image when initialization is done.
+ //
+ // ** For UNAGI 2M PROD7 **
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor4K );
+
+ TSize sizeMp2( KImgWidthMP2, KImgHeightMP2 );
+
+ iStatesClient->SetStillFrameSize( sizeMp2 );
+
+ iStatesClient->SetStillFileName( _L("cae_mp2_4K.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureJpegMp2L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.JPEG.MP2.028
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 2 MegaPixel Jpeg
+ // image when initialization is done.
+ //
+ // ** For UNAGI 2M PROD7 **
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatJpeg );
+
+ iStatesClient->SetStillCompressionQuality( 50 );
+
+ TSize sizeMp2( KImgWidthMP2, KImgHeightMP2 );
+
+ iStatesClient->SetStillFrameSize( sizeMp2 );
+
+ iStatesClient->SetStillFileName( _L("cae_jpegmp2_50.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureExifMp2L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.EXIF.MP2.029
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture 2 MegaPixel Exif
+ // image when initialization is done.
+ //
+ // ** For UNAGI 2M PROD7 **
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetStillCompressionQuality( 95 );
+
+ TSize sizeMp2( KImgWidthMP2, KImgHeightMP2 );
+
+ iStatesClient->SetStillFrameSize( sizeMp2 );
+
+ iStatesClient->SetStillFileName( _L("cae_exifmp2_95.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureExifSVGAL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.EXIF.SVGA.030
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture SVGA (800x600) Exif
+ // image when initialization is done.
+ //
+ // ** For UNAGI 2M PROD7 **
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetStillCompressionQuality( 30 );
+
+ TSize sizeSVGA( KImgWidthSVGA, KImgHeightSVGA );
+
+ iStatesClient->SetStillFrameSize( sizeSVGA );
+
+ iStatesClient->SetStillFileName( _L("cae_exif_svga_30.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureCodecL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.CODEC.031
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture an image
+ // when codec has been set to default.
+ //
+ //
+ // Output : OK.
+
+ iSettingsClient->SetStillFormat( CCamera::EFormatExif );
+
+ iSettingsClient->SetStillFileName( _L("cae_exif_codec.jpg") );
+
+ iSettingsClient->SetImageCodecs( KNullUid, KNullUid );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetJpegCodecWhenStillPrepared );
+
+ assertL( iSettingsClient->CountInitComplete() == 1 );
+ assertL( iSettingsClient->CountStillPrepareComplete() == 1 );
+ assertL( iSettingsClient->CountSnapImageReady() == 1 );
+ assertL( iSettingsClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureCodec2L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.CODEC.032
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture an image
+ // when codec has been set to specific uid.
+ //
+ //
+ // Output : OK.
+
+ iSettingsClient->SetStillFormat( CCamera::EFormatExif );
+
+ iSettingsClient->SetStillFileName( _L("cae_exif_codec.jpg") );
+
+ #if ( SYMBIAN_CODECS )
+ iSettingsClient->SetImageCodecs( TUid::Uid( KSymbianJpegDecoderValue ), TUid::Uid( KSymbianJpegEncoderValue ) );
+ #else
+ iSettingsClient->SetImageCodecs( TUid::Uid( KOptimizedJpegDecoderValue ), TUid::Uid( KOptimizedJpegEncoderValue ) );
+ #endif
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetJpegCodecWhenStillPrepared );
+
+ assertL( iSettingsClient->CountInitComplete() == 1 );
+ assertL( iSettingsClient->CountStillPrepareComplete() == 1 );
+ assertL( iSettingsClient->CountSnapImageReady() == 1 );
+ assertL( iSettingsClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureCaptureL()
+ {
+ // ID: CAE.SC.CAPTURECAPTURE.001
+ //
+ // Group: Capture
+ //
+ // Action : Capture photo two times successively
+ //
+ // Output : No leave.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->SetStillFileName( _L("cae_capturecapture_ql0.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ECaptureCapture );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 2 );
+ assertL( iStatesClient->CountStillImageReady() == 2 );
+ }
+
+
+void CCaeTestRelease::TestCaptureCaptureSpecPrepL()
+ {
+ // ID: CAE.SC.CAPTURECAPTURE.002
+ //
+ // Group: Capture
+ //
+ // Action : Capture photo two times successively
+ //
+ // Output : No leave.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizeQqvga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeQqvga );
+
+ iStatesClient->SetStillFileName( _L("cae_capturecapture_vga16M.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecPrepCaptureCapture );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 2 );
+ assertL( iStatesClient->CountStillImageReady() == 2 );
+ }
+
+void CCaeTestRelease::TestCaptureAfterPowerOffL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.POWEROFF.001
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif image
+ // image after poweroff.
+ //
+ // Output : No leave
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ //iStatesClient->SetSnapFileName( _L("cae_snap_1_8_vga_poweroff.mbm") );
+
+ iStatesClient->SetSnapImageSize( TSize( 44, 52 ) );
+
+ iStatesClient->SetStillFileName( _L("cae_snap_1_8_vga_poweroff.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ECaptureStillAfterPowerOff );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == 0 );
+ }
+
+
+/********************************************************/
+/* PREPARE STILL CAPTURE */
+/********************************************************/
+
+void CCaeTestRelease::TestPrepareStillCapture0L()
+ {
+ // ID: CAE.SC.PREPARESTILLCAPTUREL.001
+ //
+ // Group: Capture
+ //
+ // Action : Prepare the engine for still image capture on specified quality level.
+ // Initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareStillCapturing );
+ }
+
+void CCaeTestRelease::TestPrepareStillCapture1L()
+ {
+ // ID: CAE.SC.PREPARESTILLCAPTUREL.002
+ //
+ // Group: Capture
+ //
+ // Action : Prepare the engine for still image capture on specified quality level.
+ // Initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 1 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareStillCapturing );
+ }
+
+void CCaeTestRelease::TestPrepareStillCapture2L()
+ {
+ // ID: CAE.SC.PREPARESTILLCAPTUREL.003
+ //
+ // Group: Capture
+ //
+ // Action : Prepare the engine for still image capture on specified quality level.
+ // Initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareStillCapturing );
+ }
+
+void CCaeTestRelease::TestPrepareStillCapture0WhenPreparedL()
+ {
+ // ID: CAE.SC.PREPARESTILLCAPTUREL.004
+ //
+ // Group: Capture
+ //
+ // Action : Prepare the engine for still image capture on specified quality
+ // level when already prepared.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareStillCapturingWhenPrepared );//we have to put correct action
+ }
+
+void CCaeTestRelease::TestSpecPrepareSCSupportedFormatWhenInitializedL()
+ {
+ // ID: CAE.SC.PREPARESTILLCAPTUREL.007
+ //
+ // Group: Capture
+ //
+ // Action : Set still image capturing format to a format supported by Camera API implementation.
+ // Initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareStill );//verified if is correct action
+ }
+
+/********************************************************/
+/* STILL CAPTURE ENGINE INITIALIZED */
+/********************************************************/
+
+void CCaeTestRelease::TestCaptureStillWhenEngineInitializedL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.001
+ //
+ // Group: Capture
+ //
+ // Action : Capture still image. Engine initialization is done.
+ //
+ // Output : Leave.
+
+ TRAPD( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::ECaptureStillWhenEngineInitialized ) );// verified if is correct action
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+ assertL( error != KErrNone );
+ }
+
+
+/********************************************************/
+/* STILL BURST CAPTURE */
+/********************************************************/
+
+void CCaeTestRelease::TestCaptureStillBurst3L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURST.3.001
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture three
+ // images in a burst when initialization is done.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 3;
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_vga16M_burst3.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_vga16M_burst3.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurst );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureStillBurst0L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURST.0.002
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture
+ // images in a burst when BurstLength has to small value,
+ // when initialization is done.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 0;
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ TRAPD( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurst ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+ assertL( error == KErrArgument );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 0 );
+ }
+
+void CCaeTestRelease::TestCaptureStillBurst100L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURST.100.003
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture
+ // images in a burst when BurstLength has to big value,
+ // when initialization is done.
+ //
+ // Output : Leave.
+
+ const TInt KStillBurstLength = 100;
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ TInt error = KErrNone;
+ TRAP( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurst ) );
+ assertL( error == KErrNoMemory );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+
+ // assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestCancelCaptureStillBurst3L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURST.CANCEL.004
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture three
+ // images in a burst and cancel still burst, initialization is done.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 3;
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_vga16M_burst_cancel.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_vga16M_burst_cancel.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureAndCancelStillBurst );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == 1 ); // 3.1 and later
+ //assertL( iStatesClient->CountStillBurstCaptureMoment() == 0 ); // 3.0 and earlier
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == 0 );
+ assertL( iStatesClient->CountStillBurstComplete() == 0 );
+ }
+
+void CCaeTestRelease::TestStopCaptureStillBurstAfter2L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURST.STOP2.005
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture three
+ // images in a burst and stop still burst, when initialization is done.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 5;
+ const TInt KStillBurstStoppedLength = 2;
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_vga16M_burst_stop.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_vga16M_burst_stop.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureAndStopStillBurst );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstStoppedLength + 1 );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstStoppedLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstStoppedLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestSpecPrepCaptureStillBurst3L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURST.3.006
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture three
+ // images in a burst when initialization is done.
+ // Preparation is done using explicitly specified image format parameters.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 3;
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizevga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizevga );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_vga16M_spburst3.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_vga16M_spburst3.mbm") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecPrepAndCaptureStillBurst );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureStillBurstInterval0L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTINTERVAL.0.001
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode,
+ // SetStillBurstCaptureIntervalL, StillBurstCaptureInterval
+ // and capture three images in a burst when initialization is done.
+ //
+ // Output : Leave.
+
+ const TInt KStillBurstLength = 3;
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetSnapFileName( _L("cae_snap_vga16M_burst_intvl_0.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_vga16M_burst_intvl_0.jpg") );
+
+ iSettingsClient->SetStillBurstLength( KStillBurstLength );
+
+ TTimeIntervalMicroSeconds burstInterval( 0 );
+
+ iSettingsClient->SetStillBurstCaptureInterval( burstInterval );
+
+ iSettingsClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndSetStillBurstCaptureInterval );
+
+ assertL( iSettingsClient->CountInitComplete() == 1 );
+ assertL( iSettingsClient->CountStillPrepareComplete() == 1 );
+ assertL( iSettingsClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iSettingsClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iSettingsClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iSettingsClient->CountStillBurstComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureStillBurstInterval1000000L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTINTERVAL.1000000.002
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode,
+ // SetStillBurstCaptureIntervalL, StillBurstCaptureInterval
+ // and capture three images in a burst, when initialization is done.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 3;
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetSnapFileName( _L("cae_snap_vga16M_burst_intvl_1000000.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_vga16M_burst_intvl_1000000.jpg") );
+
+ iSettingsClient->SetStillBurstLength( KStillBurstLength );
+
+ TTimeIntervalMicroSeconds burstInterval( 1000000 );
+
+ iSettingsClient->SetStillBurstCaptureInterval( burstInterval );
+
+ iSettingsClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndSetStillBurstCaptureInterval );
+
+ assertL( iSettingsClient->CountInitComplete() == 1 );
+ assertL( iSettingsClient->CountStillPrepareComplete() == 1 );
+ assertL( iSettingsClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iSettingsClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iSettingsClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iSettingsClient->CountStillBurstComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureStillBurstIntervalM1L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTINTERVAL.M1.003
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode,
+ // SetStillBurstCaptureIntervalL, StillBurstCaptureInterval
+ // and capture three images in a burst, when initialization is done.
+ //
+ // Output : Leave.
+
+ const TInt KStillBurstLength = 3;
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetStillBurstLength( KStillBurstLength );
+
+ TTimeIntervalMicroSeconds burstInterval( -1 );
+
+ iSettingsClient->SetStillBurstCaptureInterval( burstInterval );
+
+ TRAPD( error, iSettingsClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndSetStillBurstCaptureInterval ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+ assertL( error == KErrArgument );
+
+ assertL( iSettingsClient->CountInitComplete() == 1 );
+ assertL( iSettingsClient->CountStillPrepareComplete() == 1 );
+ assertL( iSettingsClient->CountStillBurstCaptureMoment() == 0 );
+ assertL( iSettingsClient->CountSnapImageReady() == 0 );
+ assertL( iSettingsClient->CountStillImageReady() == 0 );
+ assertL( iSettingsClient->CountStillBurstComplete() == 0 );
+ }
+
+void CCaeTestRelease::TestCaptureStillBurstExif3L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTEXIF.3.001
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture three
+ // VGA Exif images in a burst when initialization is done.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 3;
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_burst3_exif.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_burst3_exif.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurstExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureStillBurstExif6L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTEXIF.6.002
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture six
+ // Exif images in a burst when initialization is done. Uses default
+ // image resolution.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 6;
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_burst6_exif.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_burst6_exif.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurstExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountViewFinderFrameReady() == 0 );
+
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestCaptureStillBurstExif6NSL()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTEXIF.6.006
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture six
+ // Exif images in a burst when initialization is done. Uses default
+ // image resolution. Test will not stop on errors in call-backs
+ // and this will test the completeStillBurst() call if run out of memory.
+ // in cppUnit memory tests.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 6;
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_burst6_exif.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_burst6_exif.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->SetStopOnErrorInMcaeoSnapImageReady( EFalse );
+
+ iStatesClient->SetStopOnErrorInMcaeoStillImageReady( EFalse );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurstExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountViewFinderFrameReady() == 0 );
+
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureStillBurstExif6_ThumbnailL()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTEXIF.6.007
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture six
+ // Exif images in a burst when initialization is done. Uses default
+ // image resolution. Exif image thumbnails are decoded to snap images.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 6;
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_burst6_7_exif.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_burst6_7_exif.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->SetSnapImageSource( CCaeEngine::ESnapImageSourceThumbnail );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurstExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountViewFinderFrameReady() == 0 );
+
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureStillBurstExif100L()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTEXIF.100.003
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture
+ // exif images in a burst when BurstLength has to big value,
+ // when initialization is done.
+ //
+ // Output : Leave.
+
+ const TInt KStillBurstLength = 100;
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ TInt error = KErrNone;
+ TRAP( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurstExif ) );
+ assertL( error == KErrNoMemory );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+
+ assertL( iStatesClient->CountStillBurstComplete() == 0 );
+ }
+
+
+void CCaeTestRelease::TestCaptureStillBurstExif6VfL()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTEXIF.6.VF.004
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture six
+ // Exif images in a burst when initialization is done. Uses default
+ // image resolution. The view finder is running during the burst.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 6;
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_burst6_exif.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_burst6_exif.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->SetRunningWithViewFinder( ETrue );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurstExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureStillBurstExif6VfCancelL()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTEXIF.6.VF.CANCEL.005
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and cancel the burst after
+ // the first capture. Intention is to test the situation when the burst is pending
+ // the view finder to occur before it continues and cancel the burst at that
+ // point. Uses default image resolution. The view finder is running
+ // during the burst.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 6;
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_burst6_exif.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_burst6_exif.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->SetRunningWithViewFinder( ETrue );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureAndCancelStillBurstExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == 0 );
+
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == 2 );
+ assertL( iStatesClient->CountStillBurstComplete() == 0 );
+ }
+
+
+/********************************************************/
+/* STILL CAPTURE EXIF */
+/********************************************************/
+
+void CCaeTestRelease::TestCaptureVgaExifL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.EXIF.001
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif
+ // image when initialization is done and viewfinder is running.
+ //
+ // Output : OK.
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_vga_exif.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_vga_exif.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVfExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureQqvgaExifL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.QQVGA.EXIF.002
+
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Qqvga Exif
+ // image when initialization is done and viewfinder is running.
+ //
+ // Output : OK.
+
+ TSize sizeQqvga( KImgWidthQQVGA, KImgHeightQQVGA );
+
+ iStatesClient->SetStillFrameSize( sizeQqvga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_qqvga_exif.mbm") );
+
+ iStatesClient->SetStillFileName( _L("cae_qqvga_exif.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVfExif );
+ }
+
+
+void CCaeTestRelease::TestCaptureVgaSnapOneHalfExifL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.EXIF.003
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif image
+ // image when initialization is done and viewfinder is running.
+ // The snap image is downscaled to 1/2 on Exif decoding.
+ //
+ // Output : OK.
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_1_2_vga_exif.mbm") );
+
+ iStatesClient->SetSnapImageSize( TSize( 176, 208 ) );
+
+ iStatesClient->SetStillFileName( _L("cae_snap_1_2_vga_exif.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVfSnapExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureVgaSnapOneFourthExifL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.EXIF.004
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif image
+ // image when initialization is done and viewfinder is running.
+ // The snap image is downscaled 1/4 on Exif decoding.
+ //
+ // Output : OK.
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_1_4_vga_exif.mbm") );
+
+ iStatesClient->SetSnapImageSize( TSize( 88, 104 ) );
+
+ iStatesClient->SetStillFileName( _L("cae_snap_1_4_vga_exif.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVfSnapExif );
+ }
+
+
+void CCaeTestRelease::TestCaptureVgaSnapOneEighthExifL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.EXIF.005
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif image
+ // image when initialization is done and viewfinder is running.
+ // The snap image is downscaled 1/8 on Exif decoding.
+ //
+ // Output : OK.
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_1_8_vga_exif.mbm") );
+
+ iStatesClient->SetSnapImageSize( TSize( 44, 52 ) );
+
+ iStatesClient->SetStillFileName( _L("cae_snap_1_8_vga_exif.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVfSnapExif );
+ }
+
+
+void CCaeTestRelease::TestCaptureVgaSnapExifL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.EXIF.006
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif image
+ // image when initialization is done and viewfinder is running.
+ // The snap image is given but not downscaled on Exif decoding.
+ //
+ // Output : OK.
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_vga_exif.mbm") );
+
+ iStatesClient->SetSnapImageSize( TSize( 176, 250 ) );
+
+ iStatesClient->SetStillFileName( _L("cae_snap_vga_exif.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVfSnapExif );
+ }
+
+
+void CCaeTestRelease::TestCaptureVgaSnapOneEighthJpegL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.JPEG.007
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Jpeg
+ // image when initialization is done and viewfinder is running.
+ // The snap image is downscaled 1/8 on Jpeg decoding.
+ // This is same as CAE.SC.CAPTURESTILL.VGA.EXIF.005 but format is Jpeg.
+ //
+ // Output : OK.
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatJpeg ); // test Jpeg format too
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_1_8_vga_jpeg.mbm") );
+
+ iStatesClient->SetSnapImageSize( TSize( 44, 52 ) );
+
+ iStatesClient->SetStillFileName( _L("cae_snap_1_8_vga_jpeg.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVfSnapExif );
+ }
+
+void CCaeTestRelease::TestCaptureVgaSnapOneEighthExif2L()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.EXIF.008
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif image
+ // image when initialization is done and viewfinder is running.
+ // The snap image is downscaled 1/8 on Exif decoding. The snap
+ // image size is set only after prepare.
+ //
+ // Output : OK. Visual check of snap file size.
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_1_8_vga_exif2.mbm") );
+
+ iStatesClient->SetSnapImageSize( TSize( 44, 52 ) );
+
+ iStatesClient->SetStillFileName( _L("cae_snap_1_8_vga_exif2.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ECaptureStillSetSnapSizeExif );
+ }
+
+
+void CCaeTestRelease::TestCaptureVgaSnapColor16MExifL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.EXIF.009
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif image
+ // when initialization is done and viewfinder is running.
+ // The snap image color mode is set to EColor16M.
+ //
+ // Output : OK. Visual check of snap file color mode.
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ iStatesClient->SetSnapFileName( _L("cae_snap_color_mode_vga_exif.mbm") );
+
+ iStatesClient->SetSnapImageColorMode( EColor16M );
+
+ iStatesClient->SetStillFileName( _L("cae_snap_color_mode_vga_exif.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ECaptureStillSetSnapColorModeExif );
+ }
+
+
+/********************************************************/
+/* PREPARE VIDEO RECORDING */
+/********************************************************/
+
+void CCaeTestRelease::TestPrepareVideoRecording0L()
+ {
+ // ID: CAE.VR.PREPAREVIDEORECORDINGL.001
+ //
+ // Group: Record
+ //
+ // Action : Prepare the engine for video recording on specified quality level.
+ // Initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_prepare_vr_0.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareVideoRecording );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPrepareVideoRecording1L()
+ {
+ // ID: CAE.VR.PREPAREVIDEORECORDINGL.002
+ //
+ // Group: Record
+ //
+ // Action : Prepare the engine for video recording on specified quality level.
+ // Initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetVideoQualityLevelIndex( 1 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_prepare_vr_1.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareVideoRecording );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPrepareVideoRecording2L()
+ {
+ // ID: CAE.VR.PREPAREVIDEORECORDINGL.003
+ //
+ // Group: Record
+ //
+ // Action : Prepare the engine for video recording on specified quality level.
+ // Initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetVideoQualityLevelIndex( 2 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_prepare_vr_2.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareVideoRecording );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPrepareVideoRecording0WhenPreparedL()
+ {
+ // ID: CAE.VR.PREPAREVIDEORECORDINGL.004
+ //
+ // Group: Record
+ //
+ // Action : Prepare the engine for video recording on specified quality
+ // level when already prepared.
+ //
+ // Output : OK.
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_prepared_vr_0.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareVideoRecordingWhenPrepared );//we have to put correct action
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 2 );
+ }
+
+void CCaeTestRelease::TestSpecPrepareVRSupportedFormatWhenVRInitializedL()
+{
+ // ID: CAE.VR.PREPAREVIDEORECORDINGL.007
+ //
+ // Group: Record.
+ //
+ // Action : Set video recording format to a format supported by MMF Camcorder plug-in
+ // and Camera API implementation.
+ // Video recorder initialization is done.
+ //
+ // Output : OK.
+
+ iStatesClient->SetTimeout( 1000000 );
+
+ TSize sizeQcif( KImgWidthQCIF, KImgHeightQCIF );
+ iStatesClient->SetVideoFrameSize( sizeQcif );
+ iStatesClient->SetVideoFrameRate( 10.0 );
+ iStatesClient->SetVideoBitRate( 50000 );
+ iStatesClient->SetVideoAudio( ETrue );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ //iStatesClient->SetVideoFileName( _L("cae_video_format_initialized.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareVideo );//verified if is correct action
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ }
+
+/********************************************************/
+/* VIDEO RECORDING QUALITY LEVEL */
+/********************************************************/
+
+void CCaeTestRelease::TestRecordQualityLevel0L()
+ {
+ // ID: CAE.VR.VIDEORECORDING.QCIF64000FR15.001
+ //
+ // Group: Record.
+ //
+ // Action : Test to prepare video recording and record quality level 0
+ // video clip when initialization is done and viewfinder is running.
+ //
+ // Output : No leave. File cae_ql_0.3gp.
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+ TSize sizeSubQcif( KImgWidthSubQCIF, KImgHeightSubQCIF );
+
+ iStatesClient->SetViewFinderSize( sizeSubQcif );
+
+ iStatesClient->SetVfFileName( _L("cae_video_ql_0_vfimg.mbm") );
+
+ // iStatesClient->SetVfFileCountToSave( 150 );
+
+ iStatesClient->SetTimeout( 30000000 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_ql_0.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareRecordVideoStartAndStopVf );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestRecordQualityLevel1L()
+ {
+ // ID: CAE.VR.VIDEORECORDING.SUBQCIF60000FR15.002
+ //
+ // Group: Record.
+ //
+ // Action : Test to prepare video recording and record quality level 1
+ // video clip when initialization is done and viewfinder is running.
+ //
+ // Output : No leave. File cae_ql_1.3gp.
+
+ iStatesClient->SetVideoQualityLevelIndex( 1 );
+
+ TSize sizeSubQcif( KImgWidthSubQCIF, KImgHeightSubQCIF );
+
+ iStatesClient->SetViewFinderSize( sizeSubQcif );
+
+ iStatesClient->SetTimeout( 20000000 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_ql_1.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareRecordVideoStartAndStopVf );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestPrepareAudioBitRateVR128L()
+ {
+ // ID: CAE.VR.PREPAREAUDIOBITRATEANDRECORDVIDEO.002
+ //
+ // Group: Record.
+ //
+ // Action : To ensure that the implementation is compatible with camcorder plug-in.
+ // Use high video bitrate. This is for PROD7.
+ //
+ // Output : No leave. File cae_subqcif_VideoBitRate_128000.3gp.
+
+ TSize sizeSubQcif( 176, 144 );
+
+ iStatesClient->SetViewFinderSize( sizeSubQcif );
+ iStatesClient->SetVideoFrameSize( sizeSubQcif );
+ iStatesClient->SetVideoFrameRate( TReal32( 15.0 ) );
+
+ iStatesClient->SetVideoBitRate( TInt( 128000 ) );
+ iStatesClient->SetAudioBitRate( TInt( 12200 ) );
+
+ iStatesClient->SetTimeout( 20000000 );
+
+ // 3: AMR audio, H.263 video, video type video/H263-2000; profile=0; level=45
+ // 0: AMR audio, H.263 video, video type video/H263-2000
+ iStatesClient->SetVideoCodecSet( 3 );
+
+ iStatesClient->SetVideoFileName( _L("cae_subqcif_VideoBitRate_128000.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAudioBrAndRecordVideo );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestPrepareAudioBitRateVR128InvVtypeL()
+ {
+ // ID: CAE.VR.PREPAREAUDIOBITRATEANDRECORDVIDEO.003
+ //
+ // Group: Record.
+ //
+ // Action : To ensure that the implementation is compatible with camcorder plug-in.
+ // Use high video bitrate and invalid videotype.
+ //
+ // Output : Leave
+
+ TSize sizeSubQcif( 176, 144 );
+
+ iStatesClient->SetViewFinderSize( sizeSubQcif );
+ iStatesClient->SetVideoFrameSize( sizeSubQcif );
+ iStatesClient->SetVideoFrameRate( TReal32( 15.0 ) );
+
+ iStatesClient->SetVideoBitRate( TInt( 128000 ) );
+ iStatesClient->SetAudioBitRate( TInt( 12200 ) );
+
+ iStatesClient->SetTimeout( 20000000 );
+
+ // 3: AMR audio, H.263 video, video type video/H263-2000; profile=0; level=45
+ // 0: AMR audio, H.263 video, video type video/H263-2000
+ iStatesClient->SetVideoCodecSet( 0 );
+
+ iStatesClient->SetVideoFileName( _L("cae_subqcif_VideoBitRate_128000inv.3gp") );
+
+ TRAPD( err, iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAudioBrAndRecordVideo ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ assertL( err != KErrNone );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 0 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 0 );
+ }
+
+
+void CCaeTestRelease::TestRecordQualityLevel2L()
+ {
+ // ID: CAE.VR.VIDEORECORDING.SUBQCIF40000FR5.003
+ //
+ // Group: Record.
+ //
+ // Action : Test to prepare video recording and record quality level 2
+ // video clip when initialization is done and viewfinder is running.
+ //
+ // Output : No leave. File cae_q2_0.3gp.
+
+ iStatesClient->SetVideoQualityLevelIndex( 2 );
+
+ TSize sizeSubQcif( KImgWidthSubQCIF, KImgHeightSubQCIF );
+
+ iStatesClient->SetViewFinderSize( sizeSubQcif );
+
+ iStatesClient->SetTimeout( 20000000 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_ql_2.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareRecordVideoStartAndStopVf );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+/********************************************************/
+/* START AND STOP VIDEO RECORDING */
+/********************************************************/
+
+void CCaeTestRelease::TestStartAndStopVideoRecordingSubQcifL()
+ {
+ // ID: CAE.VR.STARTSTOPVIDEORECORDING.SUBQCIF.001
+ //
+ // Group: Record
+ //
+ // Action : To ensure that the implementation is compatible with camcorder plug-in.
+ // To ensure that starting and stopping video recording works.
+ // To ensure that recording subQCIF sized video works.
+ // Video recording prepared for subQCIF format.
+ //
+ // Output : OK.
+
+ iStatesClient->SetTimeout( 4000000 );
+
+ TSize sizeSubQcif( KImgWidthSubQCIF, KImgHeightSubQCIF );
+
+ iStatesClient->SetVideoFrameSize( sizeSubQcif );
+ iStatesClient->SetVideoFrameRate( TReal32( 10.0 ) );
+ iStatesClient->SetVideoBitRate( TInt( 25000 ) );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_subqcif.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndRecordVideo );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestStartAndStopVideoRecordingQcifL()
+ {
+ // ID: CAE.VR.STARTSTOPVIDEORECORDING.QCIF.002
+ //
+ // Group: Record
+ //
+ // Action : To ensure that the implementation is compatible with camcorder plug-in.
+ // To ensure that starting and stopping video recording works.
+ // To ensure that recording QCIF sized video works.
+ // Video recording prepared for QCIF format.
+ //
+ // Output : OK.
+
+ iStatesClient->SetTimeout( 4000000 );
+
+ TSize sizeQcif( KImgWidthQCIF, KImgHeightQCIF );
+
+ iStatesClient->SetVideoFrameSize( sizeQcif );
+ iStatesClient->SetVideoFrameRate( TReal32( 10.0 ) );
+ iStatesClient->SetVideoBitRate( TInt( 50000 ) );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_qcif.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndRecordVideo );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+/********************************************************/
+/* STILL CAPTURE DIGITAL ZOOM VALUE */
+/********************************************************/
+
+void CCaeTestRelease::TestSCDigiZoomVal0L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETZOOMVALUEL.001
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ RDebug::Print(_L("XYZ:TestSCDigiZoomVal0L start"));
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetDigiZoomValue( 0 );
+
+ iSettingsClient->SetSnapFileName( _L("cae_digizoom_val_0_vga.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_digizoom_val_0_vga.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenStillPrepared );
+
+ RDebug::Print(_L("XYZ:TestSCDigiZoomVal0L ending"));
+}
+
+void CCaeTestRelease::TestSCDigiZoomVal1VgaL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETZOOMVALUEL.002_vga
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetDigiZoomValue( info.iMaxDigitalZoom );
+
+ iSettingsClient->SetSnapFileName( _L("cae_digizoom_val_1_vga.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_digizoom_val_1_vga.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenStillPrepared );
+}
+
+void CCaeTestRelease::TestSCDigiZoomVal1QqvgaL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETZOOMVALUEL.002_qqvga
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetStillQualityLevelIndex( 2 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetDigiZoomValue( info.iMaxDigitalZoom );
+
+ iSettingsClient->SetSnapFileName( _L("cae_digizoom_val_1_qqvga.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_digizoom_val_1_qqvga.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenStillPrepared );
+}
+
+void CCaeTestRelease::TestSCDigiZoomInitializedVal0L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETZOOMVALUEL.005
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetDigiZoomValue( 0 );
+
+ iSettingsClient->SetSnapFileName( _L("cae_digizoom_initialized_val_0_vga.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_digizoom_initialized_val_0_vga.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenInitialized );
+}
+
+void CCaeTestRelease::TestSCDigiZoomInitializedVal1VgaL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETZOOMVALUEL.012_vga
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetDigiZoomValue( info.iMaxDigitalZoom );
+
+ iSettingsClient->SetSnapFileName( _L("cae_digizoom_initialized_val_1_vga.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_digizoom_initialized_val_1_vga.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenInitialized );
+}
+
+void CCaeTestRelease::TestSCDigiZoomInitializedVal1QqvgaL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETZOOMVALUEL.012_qqvga
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetStillQualityLevelIndex( 2 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetDigiZoomValue( info.iMaxDigitalZoom );
+
+ iSettingsClient->SetSnapFileName( _L("cae_digizoom_initialized_val_1_qqvga.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_digizoom_initialized_val_1_qqvga.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenInitialized );
+}
+
+/********************************************************/
+/* VIDEO RECORDING DIGITAL ZOOM VALUE */
+/********************************************************/
+
+void CCaeTestRelease::TestVRDigiZoomVal0L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETZOOMVALUEL.006
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetDigiZoomValue( 0 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_digizoom_val_0.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenVideoPrepared );
+}
+
+void CCaeTestRelease::TestVRDigiZoomVal1L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETZOOMVALUEL.007
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetDigiZoomValue( info.iMaxDigitalZoom );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_digizoom_val_1.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenVideoPrepared );
+}
+
+void CCaeTestRelease::TestVRDigiZoomRecordingVal0L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETZOOMVALUEL.010
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetDigiZoomValue( 0 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_digizoom_recording_val_0.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenVideoRecording );
+}
+
+void CCaeTestRelease::TestVRDigiZoomRecordingVal1L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETZOOMVALUEL.011
+ //
+ // Action : Test digital zoom.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+ iSettingsClient->SetDigiZoomValue( info.iMaxDigitalZoom );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_digizoom_recording_val_1.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetDigiZoomWhenVideoRecording );
+}
+
+/********************************************************/
+/* START AND STOP VIDEO RECORDING DISK FULL */
+/********************************************************/
+
+void CCaeTestRelease::TestStartAndStopVRWhenTooBigSizeSubQcifL()
+ {
+ // ID: CAE.VR.STARTSTOPVRTOOBIGSIZE.SUBQCIF.001
+ //
+ // Group: Record
+ //
+ // Action :
+ //
+ // Output : Leave.
+
+ iStatesClient->SetTimeout( 100000000 );
+
+ TSize sizeSubQcif( KImgWidthSubQCIF, KImgHeightSubQCIF );
+
+ iStatesClient->SetVideoFrameSize( sizeSubQcif );
+ iStatesClient->SetVideoFrameRate( TReal32( 10.0 ) );
+ iStatesClient->SetVideoBitRate( TInt( 25000 ) );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ //iStatesClient->SetVideoFileName( _L("cae_too_big_subqcif.3gp") );
+
+ TRAPD( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndRecordVideo ) );//we have to put correct action
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+ assertL( error == KErrDiskFull );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+/********************************************************/
+/* GET INFO */
+/********************************************************/
+
+void CCaeTestRelease::TestGetInfoL()
+ {
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.001
+ //
+ // Action : Call GetInfo. Engine initialized
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported |
+ TCameraInfo::EContrastSupported |
+ TCameraInfo::EBrightnessSupported;
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashNone;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight;
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto;
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 1;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 2.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+ TInt numImageSizesSupported = 2;
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M;
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+void CCaeTestRelease::TestGetInfoPROD1MirageXL()
+ {
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.002
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For PROD1 Mirage X**
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported |
+ TCameraInfo::EContrastSupported |
+ TCameraInfo::EBrightnessSupported;
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashNone;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight;
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto;
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 3;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 4.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+ TInt numImageSizesSupported = 4;
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M;
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+
+void CCaeTestRelease::TestGetInfoPROD2MirageXL()
+ {
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.003
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For PROD2 Mirage X**
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported |
+ TCameraInfo::EContrastSupported |
+ TCameraInfo::EBrightnessSupported;
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashNone;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight |
+ CCamera::EExposureCenter |
+ CCamera::EExposureBacklight;
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto;
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 52;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 6.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+ TInt numImageSizesSupported = 3;
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M |
+ CCamera::EFormatExif;
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+
+void CCaeTestRelease::TestGetInfoPROD3MirageXPL()
+ {
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.004
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For PROD3 Mirage XP**
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported |
+ TCameraInfo::EContrastSupported |
+ TCameraInfo::EBrightnessSupported;
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashNone |
+ CCamera::EFlashAuto |
+ CCamera::EFlashForced;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight;
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto |
+ CCamera::EWBDaylight |
+ CCamera::EWBCloudy |
+ CCamera::EWBTungsten |
+ CCamera::EWBFluorescent;
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 3;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 4.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+ TInt numImageSizesSupported = 3; // 4 with HW version of Camera API !
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M |
+ CCamera::EFormatExif;
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+void CCaeTestRelease::TestGetInfoPROD4MirageXL()
+ {
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.005
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For PROD4 Mirage X**
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported |
+ TCameraInfo::EContrastSupported |
+ TCameraInfo::EBrightnessSupported;
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashNone |
+ CCamera::EFlashAuto |
+ CCamera::EFlashForced;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight |
+ CCamera::EExposureCenter |
+ CCamera::EExposureBacklight;
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto;
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 52;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 6.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+ TInt numImageSizesSupported = 3;
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M |
+ CCamera::EFormatExif;
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+void CCaeTestRelease::TestGetInfoPROD6MirageXL()
+ {
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.006
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For PROD6 Mirage X**
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported |
+ TCameraInfo::EViewFinderMirrorSupported;
+
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashNone;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight;
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto;
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 52;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 6.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+ TInt numImageSizesSupported = 3;
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M |
+ CCamera::EFormatExif;
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+
+void CCaeTestRelease::TestGetInfoPROD7Unagi2ML()
+ {
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.007
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For PROD7 Unagi 2M **
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported |
+ TCameraInfo::EViewFinderMirrorSupported;
+ //TCameraInfo::EContrastSupported |
+ //TCameraInfo::EBrightnessSupported;
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashNone |
+ CCamera::EFlashAuto |
+ CCamera::EFlashForced |
+ CCamera::EFlashRedEyeReduce;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight |
+ CCamera::EExposureCenter |
+ CCamera::EExposureBacklight |
+ CCamera::EExposureSport;
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto |
+ CCamera::EWBDaylight |
+ CCamera::EWBCloudy |
+ CCamera::EWBTungsten |
+ CCamera::EWBFluorescent;
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 71;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 20.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+ TInt numImageSizesSupported = 4;
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M |
+ CCamera::EFormatExif;
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+
+
+void CCaeTestRelease::TestGetInfoPROD8MirageXL()
+
+ {
+
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.008
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For PROD8 Mirage X**
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported;
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashNone;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight |
+ CCamera::EExposureSport |
+ CCamera::EExposureCenter;
+
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto |
+ CCamera::EWBDaylight |
+ CCamera::EWBCloudy |
+ CCamera::EWBTungsten |
+ CCamera::EWBFluorescent;
+
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 71;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 20.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+ TInt numImageSizesSupported = 5;
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M |
+ CCamera::EFormatExif;
+
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+
+void CCaeTestRelease::TestGetInfoPROD9HWL()
+
+ {
+
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.009
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For PROD9 HW **
+ //
+ // Output : OK.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ // Do comparisons.
+
+ /*
+ TVersion hardwareVersion = TVersion(0,0,0);
+ assertL( ( info.iHardwareVersion.iMajor == hardwareVersion.iMajor ) &&
+ ( info.iHardwareVersion.iMinor == hardwareVersion.iMinor ) &&
+ ( info.iHardwareVersion.iBuild == hardwareVersion.iBuild ) );
+
+ TVersion softwareVersion = TVersion(0,0,0);
+ assertL( ( info.iSoftwareVersion.iMajor == softwareVersion.iMajor ) &&
+ ( info.iSoftwareVersion.iMinor == softwareVersion.iMinor ) &&
+ ( info.iSoftwareVersion.iBuild == softwareVersion.iBuild ) );
+ */
+
+ TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+ assertL( info.iOrientation == orientation );
+
+ TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+ TCameraInfo::EImageCaptureSupported |
+ TCameraInfo::EVideoCaptureSupported;
+ assertL( info.iOptionsSupported == optionsSupported );
+
+ TUint32 flashModesSupported = CCamera::EFlashAuto |
+ CCamera::EFlashForced |
+ CCamera::EFlashRedEyeReduce;
+ assertL( info.iFlashModesSupported == flashModesSupported );
+
+ TUint32 exposureModesSupported = CCamera::EExposureAuto |
+ CCamera::EExposureNight |
+ CCamera::EExposureBacklight |
+ CCamera::EExposureCenter |
+ CCamera::EExposureSuperNight;
+
+ RDebug::Print(_L("info.iExposureModesSupported = 0x%x / 0x%x"), info.iExposureModesSupported, exposureModesSupported);
+ assertL( info.iExposureModesSupported == exposureModesSupported );
+
+ TUint32 whiteBalanceModesSupported = CCamera::EWBAuto |
+ CCamera::EWBDaylight |
+ CCamera::EWBTungsten |
+ CCamera::EWBFluorescent;
+
+ assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+
+ TInt minzoom = 0;
+ assertL( info.iMinZoom == minzoom );
+
+ TInt maxZoom = 0;
+ assertL( info.iMaxZoom == maxZoom );
+
+ TInt maxDigitalZoom = 40;
+ assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+
+ TReal32 minZoomFactor = 0.0;
+ assertL( info.iMinZoomFactor == minZoomFactor );
+
+ TReal32 maxZoomFactor = 0.0;
+ assertL( info.iMaxZoomFactor == maxZoomFactor );
+
+ TReal32 maxDigitalZoomFactor = 4.0;
+ assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+
+#if ( defined (__WINS__) || defined (__WINSCW) ) // this different on hw
+ TInt numImageSizesSupported = 3;
+#else
+ TInt numImageSizesSupported = 4;
+#endif
+ RDebug::Print(_L("info.iNumImageSizesSupported = %d"), info.iNumImageSizesSupported);
+
+ assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+
+ TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+ CCamera::EFormatFbsBitmapColor64K |
+ CCamera::EFormatFbsBitmapColor16M |
+ CCamera::EFormatExif;
+
+ assertL( info.iImageFormatsSupported == imageFormatsSupported );
+
+ TInt numStillQualityLevelsSupported = 3;
+ assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+
+ TInt numVideoQualityLevelsSupported = 3;
+ assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+
+ }
+
+
+void CCaeTestRelease::TestGetInfoDevlonHWL()
+ {
+
+ // Group: Settings
+ //
+ // ID: CAE.GEN.GETINFO.010
+ //
+ // Action : Call GetInfo. Engine initialized
+ // ** For Devlon HW **
+ //
+ // Output : OK. Note only interfaces are tested, not the content itself anymore
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EGetInfo );
+
+ // Get Camera Application Engine info object.
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+// TCameraInfo::TCameraOrientation orientation = TCameraInfo::EOrientationOutwards;
+// assertL( info.iOrientation == orientation );
+ RDebug::Print(_L("info.iOrientation = 0x%x"), info.iOrientation);
+
+// TUint32 optionsSupported = TCameraInfo::EViewFinderBitmapsSupported |
+// TCameraInfo::EImageCaptureSupported |
+// TCameraInfo::EVideoCaptureSupported;
+// assertL( info.iOptionsSupported == optionsSupported );
+ RDebug::Print(_L("info.iOptionsSupported = 0x%x"), info.iOptionsSupported);
+
+// TUint32 flashModesSupported = CCamera::EFlashAuto |
+// CCamera::EFlashForced |
+// CCamera::EFlashRedEyeReduce;
+// assertL( info.iFlashModesSupported == flashModesSupported );
+ RDebug::Print(_L("info.iFlashModesSupported = 0x%x"), info.iFlashModesSupported);
+
+// TUint32 exposureModesSupported = CCamera::EExposureAuto |
+// CCamera::EExposureNight |
+// CCamera::EExposureBacklight |
+// CCamera::EExposureCenter;
+
+// assertL( info.iExposureModesSupported == exposureModesSupported );
+ RDebug::Print(_L("info.iExposureModesSupported = 0x%x"), info.iExposureModesSupported);
+
+// TUint32 whiteBalanceModesSupported = CCamera::EWBAuto |
+// CCamera::EWBDaylight |
+// CCamera::EWBTungsten |
+// CCamera::EWBFluorescent;
+
+// assertL( info.iWhiteBalanceModesSupported == whiteBalanceModesSupported );
+ RDebug::Print(_L("info.iWhiteBalanceModesSupported = 0x%x"), info.iWhiteBalanceModesSupported);
+
+// TInt minzoom = 0;
+// assertL( info.iMinZoom == minzoom );
+ RDebug::Print(_L("info.iMinZoom = 0x%x"), info.iMinZoom);
+
+// TInt maxZoom = 0;
+// assertL( info.iMaxZoom == maxZoom );
+ RDebug::Print(_L("info.iMaxZoom = 0x%x"), info.iMaxZoom);
+
+// TInt maxDigitalZoom = 40;
+// assertL( info.iMaxDigitalZoom == maxDigitalZoom );
+ RDebug::Print(_L("info.iMaxDigitalZoom = 0x%x"), info.iMaxDigitalZoom);
+
+// TReal32 minZoomFactor = 0.0;
+// assertL( info.iMinZoomFactor == minZoomFactor );
+ RDebug::Print(_L("info.minZoomFactor = 0x%x"), info.iMinZoomFactor);
+
+// TReal32 maxZoomFactor = 0.0;
+// assertL( info.iMaxZoomFactor == maxZoomFactor );
+ RDebug::Print(_L("info.iMaxZoomFactor = 0x%x"), info.iMaxZoomFactor);
+
+// TReal32 maxDigitalZoomFactor = 4.0;
+// assertL( info.iMaxDigitalZoomFactor == maxDigitalZoomFactor );
+ RDebug::Print(_L("info.iMaxDigitalZoomFactor = 0x%x"), info.iMaxDigitalZoomFactor);
+
+//#if ( defined (__WINS__) || defined (__WINSCW) ) // this different on hw
+// TInt numImageSizesSupported = 3;
+//#else
+// TInt numImageSizesSupported = 4;
+//#endif
+// RDebug::Print(_L("info.iNumImageSizesSupported = %d"), info.iNumImageSizesSupported);
+
+// assertL( info.iNumImageSizesSupported == numImageSizesSupported );
+ RDebug::Print(_L("info.iNumImageSizesSupported = 0x%x"), info.iNumImageSizesSupported);
+
+// TUint32 imageFormatsSupported = CCamera::EFormatFbsBitmapColor4K |
+// CCamera::EFormatFbsBitmapColor64K |
+// CCamera::EFormatFbsBitmapColor16M |
+// CCamera::EFormatExif;
+
+// assertL( info.iImageFormatsSupported == imageFormatsSupported );
+ RDebug::Print(_L("info.iImageFormatsSupported = 0x%x"), info.iImageFormatsSupported);
+
+// TInt numStillQualityLevelsSupported = 3;
+// assertL( info.iNumStillQualityLevelsSupported == numStillQualityLevelsSupported );
+ RDebug::Print(_L("info.iNumStillQualityLevelsSupported = 0x%x"), info.iNumStillQualityLevelsSupported);
+
+// TInt numVideoQualityLevelsSupported = 3;
+// assertL( info.iNumVideoQualityLevelsSupported == numVideoQualityLevelsSupported );
+ RDebug::Print(_L("info.iNumVideoQualityLevelsSupported = 0x%x"), info.iNumVideoQualityLevelsSupported);
+
+ }
+
+
+/********************************************************/
+/* RESUME VIDEO RECORDING */
+/********************************************************/
+
+void CCaeTestRelease::TestRecordPauseResumeStopL()
+ {
+ // ID: CAE.VR.RESUMEVIDEORECORDING.001
+ //
+ // Group: Record.
+ //
+ // Action : Resume video clip recording after pause.
+ // Video recording.
+ //
+ // Output : No leave. File KVideoFileName, "videoclip.3gp".
+
+ iStatesClient->SetTimeout( 4000000 );
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_pause_resume.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareRecordPauseResumeStopVideo );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingPaused() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 2 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+/********************************************************/
+/* STILL CAPTURE EXPOSURE MODE */
+/********************************************************/
+
+void CCaeTestRelease::TestSCExposureMode0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETEXPOSUREMODEL.001
+ //
+ // Action : Test auto exposure mode setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetExposureMode( 0 ); // auto mode should be supported
+
+ iSettingsClient->SetStillFileName( _L("cae_exposure_mode_0.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetExposureModeWhenStillPrepared );
+}
+
+void CCaeTestRelease::TestSCExposureMode1L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETEXPOSUREMODEL.002
+ //
+ // Action : Test night exposure mode setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetExposureMode( 1 ); // night mode should be supported
+
+ iSettingsClient->SetStillFileName( _L("cae_exposure_mode_1.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetExposureModeWhenStillPrepared );
+}
+
+void CCaeTestRelease::TestSCExposureModeInitialized0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETEXPOSUREMODEL.015
+ //
+ // Action : Test auto exposure mode setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetExposureMode( 0 ); // auto mode should be supported
+
+ iSettingsClient->SetStillFileName( _L("cae_exposure_mode_initialized_0.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetExposureModeWhenInitialized );
+}
+
+void CCaeTestRelease::TestSCExposureModeInitialized1L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETEXPOSUREMODEL.016
+ //
+ // Action : Test night exposure mode setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetExposureMode( 1 ); // night mode should be supported
+
+ iSettingsClient->SetStillFileName( _L("cae_exposure_mode_initialized_1.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetExposureModeWhenInitialized );
+}
+
+/********************************************************/
+/* VIDEO RECORDING EXPOSURE MODE */
+/********************************************************/
+
+void CCaeTestRelease::TestVRExposureMode0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETEXPOSUREMODEL.008
+ //
+ // Action : Test auto exposure mode setting with video recording and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetExposureMode( 0 ); // auto mode should be supported
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_exposure_mode_0.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetExposureModeWhenVideoPrepared );
+}
+
+void CCaeTestRelease::TestVRExposureMode1L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETEXPOSUREMODEL.009
+ //
+ // Action : Test night exposure mode setting with video recording and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetExposureMode( 1 ); // night mode should be supported
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_exposure_mode_1.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetExposureModeWhenVideoPrepared );
+}
+
+void CCaeTestRelease::TestVRExposureModeRecording0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETEXPOSUREMODEL.017
+ //
+ // Action : Test auto exposure mode setting with Video image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetExposureMode( 0 ); // auto mode should be supported
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_exposure_mode_recording_0.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetExposureModeWhenVideoRecording );
+}
+
+void CCaeTestRelease::TestVRExposureModeRecording1L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETEXPOSUREMODEL.018
+ //
+ // Action : Test night exposure mode setting with Video image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetExposureMode( 1 ); // night mode should be supported
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_exposure_mode_recording_1.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetExposureModeWhenVideoRecording );
+}
+
+/********************************************************/
+/* STILL CAPTURE EV COMPENSATION */
+/********************************************************/
+
+void CCaeTestRelease::TestSCEvCompensation0L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETEVCOMP.001
+ //
+ // Action : Test Ev compensation with still image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ iSettingsClient->SetEvCompensation( 0 );
+
+ iSettingsClient->SetSnapFileName( _L("cae_evcomp_0.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_evcomp_0.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenStillPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+
+ assertL(err == KErrNotSupported);
+}
+
+void CCaeTestRelease::TestSCEvCompensationMaxL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETEVCOMP.002
+ //
+ // Action : Test Ev compensation with still image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMaxEvCompensation );
+
+ iSettingsClient->SetSnapFileName( _L("cae_evcomp_max.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_evcomp_max.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenStillPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+
+ assertL(err == KErrNotSupported);
+}
+
+void CCaeTestRelease::TestSCEvCompensationMinL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETEVCOMP.003
+ //
+ // Action : Test Ev compensation with still image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMinEvCompensation );
+
+ iSettingsClient->SetSnapFileName( _L("cae_evcomp_min.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_evcomp_min.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenStillPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+
+ assertL(err == KErrNotSupported);
+}
+
+
+void CCaeTestRelease::TestSCEvCompensationInitialized0L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETEVCOMP.004
+ //
+ // Action : Test Ev compensation with still image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ iSettingsClient->SetEvCompensation( 0 );
+
+ iSettingsClient->SetSnapFileName( _L("cae_evcomp_initialized_0.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_evcomp_initialized_0.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenInitialized ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+
+ assertL(err == KErrNotSupported);
+}
+
+void CCaeTestRelease::TestSCEvCompensationInitializedMaxL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETEVCOMP.005
+ //
+ // Action : Test Ev compensation with still image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMaxEvCompensation );
+
+ iSettingsClient->SetSnapFileName( _L("cae_evcomp_initilized_max.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_evcomp_initilized_max.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenInitialized ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+
+ assertL(err == KErrNotSupported);
+}
+
+void CCaeTestRelease::TestSCEvCompensationInitializedMinL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETEVCOMP.006
+ //
+ // Action : Test Ev compensation with still image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMinEvCompensation );
+
+ iSettingsClient->SetSnapFileName( _L("cae_evcomp_initialized_min.mbm") );
+
+ iSettingsClient->SetStillFileName( _L("cae_evcomp_initialized_min.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenInitialized ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+
+ assertL(err == KErrNotSupported);
+}
+
+void CCaeTestRelease::TestSCEvCompensationInitializedInvalidL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-SC.SETEVCOMP.007
+ //
+ // Action : Test Ev compensation with still image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMaxEvCompensation + 1 );
+
+ TRAPD( error, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenInitialized ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+ assertL(error == KErrNotSupported);
+}
+
+
+
+/********************************************************/
+/* VIDEO RECORDING EV COMPENSATION */
+/********************************************************/
+
+void CCaeTestRelease::TestVREvCompensationMinL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETEVCOMP.001
+ //
+ // Action : Test Ev compensation with Video image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMinEvCompensation );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_evcomp_min.3gp") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenVideoPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+
+ assertL(err == KErrNotSupported);
+}
+
+void CCaeTestRelease::TestVREvCompensationRecordingMaxL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETEVCOMP.002
+ //
+ // Action : Test Ev compensation with Video image capture and viewfinding.
+ //
+ // Output : KErrNotSupported.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMaxEvCompensation );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_evcomp_recording_max.3gp") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenVideoRecording ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+
+ assertL(err == KErrNotSupported);
+}
+
+
+/* UNUSED
+
+void CCaeTestRelease::TestVREvCompensation0L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETEVCOMP.001
+ //
+ // Action : Test Ev compensation with Video image capture and viewfinding.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetEvCompensation( 0 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_evcomp_0.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenVideoPrepared );
+}
+
+void CCaeTestRelease::TestVREvCompensationMaxL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETEVCOMP.002
+ //
+ // Action : Test Ev compensation with Video image capture and viewfinding.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMaxEvCompensation );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_evcomp_max.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenVideoPrepared );
+}
+
+void CCaeTestRelease::TestVREvCompensationRecording0L()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETEVCOMP.004
+ //
+ // Action : Test Ev compensation with Video image capture and viewfinding.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetEvCompensation( 0 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_evcomp_recording_0.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenVideoRecording );
+}
+
+void CCaeTestRelease::TestVREvCompensationRecordingMinL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETEVCOMP.006
+ //
+ // Action : Test Ev compensation with Video image capture and viewfinding.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMinEvCompensation );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_evcomp_recording_min.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenVideoRecording );
+}
+
+void CCaeTestRelease::TestVREvCompensationRecordingInvalidL()
+{
+ // Group: Settings
+ //
+ // ID: CAE.SET-VR.SETEVCOMP.007
+ //
+ // Action : Test Ev compensation with Video image capture and viewfinding.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+ iSettingsClient->SetEvCompensation( info.iMinEvCompensation - 1 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_evcomp_recording_invalid.3gp") );
+
+ TRAPD( error, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetEvCompensationWhenVideoRecording ) );
+ assertL(error == KErrNotSupported);
+}
+
+*/
+
+/********************************************************/
+/* STILL CAPTURE WHITE BALANCE MODE */
+/********************************************************/
+
+void CCaeTestRelease::TestSCWhiteBalanceMode0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETWHITEBALANCEMODEL.001
+ //
+ // Action : Test white balance setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetWhiteBalanceMode( 0 ); // auto mode should always be supported
+
+ iSettingsClient->SetStillFileName( _L("cae_white_balance_mode_0.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetWhiteBalanceModeWhenStillPrepared );
+}
+
+void CCaeTestRelease::TestSCWhiteBalanceModeInitialized0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETWHITEBALANCEMODEL.019
+ //
+ // Action : Test white balance setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetWhiteBalanceMode( 0 ); // auto mode should always be supported
+
+ iSettingsClient->SetStillFileName( _L("cae_white_balance_mode_initialized_0.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetWhiteBalanceModeWhenInitialized );
+}
+
+/********************************************************/
+/* VIDEO RECORDING WHITE BALANCE MODE */
+/********************************************************/
+
+void CCaeTestRelease::TestVRWhiteBalanceMode0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETWHITEBALANCEMODEL.010
+ //
+ // Action : Test white balance setting with video recording and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetWhiteBalanceMode( 0 ); // auto mode should always be supported
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_white_balance_mode_0.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetWhiteBalanceModeWhenVideoPrepared );
+}
+
+void CCaeTestRelease::TestVRWhiteBalanceModeRecording0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETWHITEBALANCEMODEL.020
+ //
+ // Action : Test white balance setting with Video image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetWhiteBalanceMode( 0 ); // auto mode should always be supported
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_white_balance_mode_recording_0.3gp") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetWhiteBalanceModeWhenVideoRecording );
+}
+
+/********************************************************/
+/* STILL CAPTURE CONTRAST */
+/********************************************************/
+
+void CCaeTestRelease::TestSCContrast50L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETCONTRASTL.001
+ //
+ // Action : Test contrast setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetContrast( 50 );
+
+ iSettingsClient->SetStillFileName( _L("cae_contrast_50.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetContrastWhenStillPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( TCameraInfo::EContrastSupported & info.iOptionsSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+void CCaeTestRelease::TestSCContrastInitialized50L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETCONTRASTL.007
+ //
+ // Action : Test contrast setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetContrast( 50 );
+
+ iSettingsClient->SetStillFileName( _L("cae_contrast_initialized_50.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetContrastWhenInitialized ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( TCameraInfo::EContrastSupported & info.iOptionsSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+/********************************************************/
+/* STILL CAPTURE BRIGHTNESS */
+/********************************************************/
+
+void CCaeTestRelease::TestSCBrightness50L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETBRIGHTNESSL.001
+ //
+ // Action : Test brightness setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetBrightness( 50 );
+
+ iSettingsClient->SetStillFileName( _L("cae_brightness_50.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetBrightnessWhenStillPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( TCameraInfo::EBrightnessSupported & info.iOptionsSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+void CCaeTestRelease::TestSCBrightnessInitialized50L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETBRIGHTNESSL.007
+ //
+ // Action : Test brightness setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetBrightness( 50 );
+
+ iSettingsClient->SetStillFileName( _L("cae_brightness_initialized_50.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetBrightnessWhenInitialized ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( TCameraInfo::EBrightnessSupported & info.iOptionsSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+/********************************************************/
+/* VIDEO RECORDING CONTRAST */
+/********************************************************/
+
+void CCaeTestRelease::TestVRContrast50L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETCONTRASTL.008
+ //
+ // Action : Test contrast setting with video recording and viewfinding.
+ //
+ // Output : No leave.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetContrast( 50 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_contrast_50.3gp") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetContrastWhenVideoPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( TCameraInfo::EContrastSupported & info.iOptionsSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+void CCaeTestRelease::TestVRContrastRecording50L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETCONTRASTL.014
+ //
+ // Action : Test contrast setting with Video image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetContrast( 50 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_contrast_recording_50.3gp") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetContrastWhenVideoRecording ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( TCameraInfo::EContrastSupported & info.iOptionsSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+/********************************************************/
+/* VIDEO RECORDING BRIGHTNESS */
+/********************************************************/
+
+void CCaeTestRelease::TestVRBrightness50L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETBRIGHTNESSL.008
+ //
+ // Action : Test brightness setting with video recording and viewfinding.
+ //
+ // Output : No leave.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetBrightness( 50 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_brightness_50.3gp") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetBrightnessWhenVideoPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( TCameraInfo::EBrightnessSupported & info.iOptionsSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+void CCaeTestRelease::TestVRBrightnessRecording50L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.SETBRIGHTNESSL.014
+ //
+ // Action : Test brightness setting with Video image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo(info);
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetTimeout( 4000000 );
+
+ iSettingsClient->SetBrightness( 50 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_brightness_recording_50.3gp") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetBrightnessWhenVideoRecording ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( TCameraInfo::EBrightnessSupported & info.iOptionsSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+/********************************************************/
+/* VIDEO RECORDING CLIP MAX SIZE */
+/********************************************************/
+
+void CCaeTestRelease::TestVideoClipMaxSize10000L()
+ {
+ // Group: Settings.
+ //
+ //ID: CAE.SET-VR.SETVIDEOCLIPMAXSIZEL.002
+ //
+ // Action : Test video clip max size setting with recording.
+ //
+ // Output : Leave.
+
+ iSettingsClient->SetOpMode( CCaeTestSettingsClient::EClientOpModeVideo );
+
+ iSettingsClient->SetTimeout( 20000000 );
+
+ iSettingsClient->SetVideoQualityLevelIndex( 0 );
+
+ iSettingsClient->SetVideoClipMaxSize( 10000 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iSettingsClient->SetVideoFileName( _L("cae_clip_max_size_10000.3gp") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetClipMaxSizeWhenVideoPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ assertL( err == KErrCompletion );
+ }
+
+/********************************************************/
+/* CANCEL CAPTURE STILL */
+/********************************************************/
+
+void CCaeTestRelease::TestCancelCaptureStillL()
+ {
+ // ID: CAE.SC.CANCELCAPTURESTILL.001
+ //
+ // Group: Capture
+ //
+ // Action : Cancel on-going still image capture request,
+ // when already prepared.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureAndCancelStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == 0 );
+ }
+
+/********************************************************/
+/* GET QUALITY INDEX */
+/********************************************************/
+
+void CCaeTestRelease::TestGetStillQualityIndexWhenEngineInitializedL()
+ {
+ // ID: CAE.SC.GETSTILLQUALITYINDEX.001
+ //
+ // Group: Capture
+ //
+ // Action : Get still quality index, when engine is initialized.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 1 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EGetStillQualityIndexWhenEngineInitialized );
+ }
+
+void CCaeTestRelease::TestGetStillQualityIndexWhenPreparedL()
+ {
+ // ID: CAE.SC.GETSTILLQUALITYINDEX.002
+ //
+ // Group: Capture
+ //
+ // Action : Get still quality index, when still image capture is prepared.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillQualityLevelIndex( 1 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EGetStillQualityIndexWhenPrepared );
+ }
+
+void CCaeTestRelease::TestGetVideoQualityIndexWhenEngineInitializedL()
+{
+ // Group: Video.
+ //
+ // ID: CAE.VR.GETVIDEOQUALITYINDEX.001
+ //
+ // Action : Get video quality index, when engine is initialized.
+ //
+ // Output : No leave.
+
+ iStatesClient->SetTimeout( 1000000 );
+
+ iStatesClient->SetVideoQualityLevelIndex( 1 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EGetVideoQualityIndexWhenEngineInitialized );
+}
+
+void CCaeTestRelease::TestGetVideoQualityIndexWhenPreparedL()
+{
+ // Group: Video.
+ //
+ // ID: CAE.VR.GETVIDEOQUALITYINDEX.002
+ //
+ // Action : Get video quality index, when video recording is prepared.
+ //
+ // Output : No leave.
+
+ iStatesClient->SetTimeout( 1000000 );
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EGetVideoQualityIndexWhenPrepared );
+}
+
+/********************************************************/
+/* REMAINING VIDEO RECORDING TIME */
+/********************************************************/
+
+void CCaeTestRelease::TestRemainingTimeWhenVideoPreparedL()
+{
+ // Group: Video.
+ //
+ // ID: CAE.VR.REMAININGVIDEORECORDINGTIME.001
+ //
+ // Action : Get RemainingVideoRecordingTime, when video recording is prepared.
+ //
+ // Output : No leave.
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ERemainingTimeWhenVideoPrepared );
+}
+
+/********************************************************/
+/* PREPARE AUDIO BIT RATE AND RECORD VIDEO */
+/********************************************************/
+
+void CCaeTestRelease::TestPrepareAudioBitRateVR5000L()
+ {
+ // ID: CAE.VR.PREPAREAUDIOBITRATEANDRECORDVIDEO.001
+ //
+ // Group: Record
+ //
+ // Action : To ensure that the implementation is compatible with camcorder plug-in.
+ //
+ // Output : OK.
+
+ iStatesClient->SetTimeout( 4000000 );
+
+ TSize sizeQcif( KImgWidthQCIF, KImgHeightQCIF );
+
+ iStatesClient->SetVideoFrameSize( sizeQcif );
+ iStatesClient->SetVideoFrameRate( TReal32( 10.0 ) );
+ iStatesClient->SetVideoBitRate( TInt( 25000 ) );
+ iStatesClient->SetAudioBitRate( TInt( 5000 ) );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_subqcif_AudioBitRate_5000.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAudioBrAndRecordVideo );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+
+/************************************************************************/
+/* STILL AND STILL BURST CAPTURE - snap-image creation switched off */
+/************************************************************************/
+
+void CCaeTestRelease::TestCaptureVga16M_NoSnapL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA16M.015
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing and capture VGA 16M
+ // image when initialization is done.
+ // Snap image creation switched off.
+ //
+ // Output : OK.
+
+ iStatesClient->SetSnapImageCreation( EFalse );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ // iStatesClient->SetStillFileName( _L("cae_vga16M_NoSnap.mbm") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureQualityLevel0_NoSnapL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.JPEGVGA90.016
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture quality level 0
+ // image when initialization is done and viewfinder is running.
+ // Snap image creation switched off.
+ //
+ // Output : OK.
+
+ iStatesClient->SetSnapImageCreation( EFalse );
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ // iStatesClient->SetStillFileName( _L("cae_ql_0_vga90_NoSnap.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVf );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureVgaExif_NoSnapL()
+ {
+ // ID: CAE.SC.CAPTURESTILL.VGA.EXIF.017
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture Vga Exif
+ // image when initialization is done and viewfinder is running.
+ // Snap image creation switched off.
+ //
+ // Output : OK.
+
+ iStatesClient->SetSnapImageCreation( EFalse );
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ // iStatesClient->SetStillFileName( _L("cae_vga_exif_NoSnap.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareCaptureStillStartAndStopVfExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureStillBurst3_NoSnapL()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURST.3.007
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture three
+ // images in a burst when initialization is done.
+ // Snap image creation switched off.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 3;
+
+ iStatesClient->SetSnapImageCreation( EFalse );
+
+ iStatesClient->SetStillQualityLevelIndex( 0 );
+
+ // iStatesClient->SetStillFileName( _L("cae_vga16M_burst3_NoSnap.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurst );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestSpecPrepCaptureStillBurst3_NoSnapL()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURST.3.008
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture three
+ // images in a burst when initialization is done.
+ // Preparation is done using explicitly specified image format parameters.
+ // Snap image creation switched off.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 3;
+
+ iStatesClient->SetSnapImageCreation( EFalse );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+ TSize sizevga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizevga );
+
+ // iStatesClient->SetStillFileName( _L("cae_qqvga16M_spburst3_NoSnap.mbm") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecPrepAndCaptureStillBurst );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestCaptureStillBurstExif3_NoSnapL()
+ {
+ // ID: CAE.SC.CAPTURESTILLBURSTEXIF.3.004
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing burst mode and capture three
+ // VGA Exif images in a burst when initialization is done.
+ // Snap image creation switched off.
+ //
+ // Output : OK.
+
+ const TInt KStillBurstLength = 3;
+
+ iStatesClient->SetSnapImageCreation( EFalse );
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iStatesClient->SetStillFrameSize( sizeVga );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+
+ // iStatesClient->SetStillFileName( _L("cae_burst3_exif_NoSnap.jpg") );
+
+ iStatesClient->SetStillBurstLength( KStillBurstLength );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EPrepareAndCaptureStillBurstExif );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == KStillBurstLength );
+
+ assertL( iStatesClient->CountStillBurstCaptureMoment() == KStillBurstLength );
+ assertL( iStatesClient->CountStillBurstComplete() == 1 );
+ }
+
+
+void CCaeTestRelease::TestEnumerateCaptureSizesL()
+ {
+ // ID: CAE.GEN.ENUMERATE.001
+ //
+ // Group: General
+ //
+ // Action : Test to enumerate still capture sizes. Tests the largest image size only.
+ //
+ // Output : OK.
+
+ iStatesClient->SetStillFormat( CCamera::EFormatFbsBitmapColor16M );
+
+#if (MIRAGE_X_PROD1)
+ TSize sizeMp1( KImgWidthMP1, KImgHeightMP1 );
+ iStatesClient->SetStillFrameSize( sizeMp1 );
+#elif (MIRAGE_X_PROD2) || (MIRAGE_X_PROD4) || (MIRAGE_X_PROD3)
+ TSize sizeMp1M3( KImgWidthMP1M3, KImgHeightMP1M3 );
+ iStatesClient->SetStillFrameSize( sizeMp1M3 );
+#elif (MIRAGE_X_PROD7)
+ TSize sizeMp2( KImgWidthMP2, KImgHeightMP2 );
+ iStatesClient->SetStillFrameSize( sizeMp2 );
+#elif (MIRAGE_X_PROD6) || (MIRAGE_X_PROD8) || (MIRAGE_X_PROD9)
+ TSize sizeMp2( KImgWidthMP2, KImgHeightMP2 );
+ iStatesClient->SetStillFrameSize( sizeMp2 );
+#elif (HW_DEVLON)
+ iStatesClient->SetStillFormat( CCamera::EFormatExif );
+ TSize sizeMp3( KImgWidthMP3, KImgHeightMP3 );
+ iStatesClient->SetStillFrameSize( sizeMp3 );
+#else
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+ iStatesClient->SetStillFrameSize( sizeVga );
+#endif
+
+ // ignore errors if correct resolution was not found
+ TRAPD( err, iStatesClient->RunTestActionL( CCaeTestStatesClient::EEnumerateCaptureSizes ) );
+
+ if ( err )
+ {
+ RDebug::Print(_L("CCaeTestRelease::TestEnumerateCaptureSizesL() failed = %d, ignored"), err);
+ }
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 0 );
+ assertL( iStatesClient->CountSnapImageReady() == 0 );
+ assertL( iStatesClient->CountStillImageReady() == 0 );
+ }
+
+
+void CCaeTestRelease::TestSetJpegQuality50L()
+ {
+ // ID: CAE.SET-SC.SETJPEGQUALITY.001
+ //
+ // Group: Capture
+ //
+ // Action : Test to prepare still capturing and capture quality level 0
+ // image when initialization is done and viewfinder is running.
+ //
+ // Output : OK.
+
+ iSettingsClient->SetStillFormat( CCamera::EFormatJpeg );
+
+ iSettingsClient->SetStillCompressionQuality( 50 );
+
+ TSize sizeVga( KImgWidthVGA, KImgHeightVGA );
+
+ iSettingsClient->SetStillFrameSize( sizeVga );
+
+ // iSettingsClient->SetStillFileName( _L("cae_jpeg_quality_setting_50.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestStatesClient::ESetJpegQualityWhenStillPrepared );
+
+ assertL( iSettingsClient->CountInitComplete() == 1 );
+ assertL( iSettingsClient->CountStillPrepareComplete() == 1 );
+ assertL( iSettingsClient->CountSnapImageReady() == 1 );
+ assertL( iSettingsClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestSCCustomInterfaceL()
+ {
+ // ID: CAE.GEN.CUSTOMINTERFACE.001
+ //
+ // Group: General
+ //
+ // Action : Test custom interface with illegal UID values -1, 0 and 1.
+ //
+ // Output : Returns 0 with illegal UID values.
+
+ TUid interfaceUid;
+
+ interfaceUid.iUid = -1;
+ iStatesClient->SetCustomInterfaceUid( interfaceUid );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EGetCustomInterface );
+ assertL( iStatesClient->CustomInterfacePointer() == 0 );
+
+ interfaceUid.iUid = 0;
+ iStatesClient->SetCustomInterfaceUid( interfaceUid );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EGetCustomInterface );
+ assertL( iStatesClient->CustomInterfacePointer() == 0 );
+
+ interfaceUid.iUid = 1;
+ iStatesClient->SetCustomInterfaceUid( interfaceUid );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EGetCustomInterface );
+ assertL( iStatesClient->CustomInterfacePointer() == 0 );
+ }
+
+/******************************/
+/* FLASH MODE */
+/******************************/
+
+void CCaeTestRelease::TestFlashMode0L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETFLASHMODEL.001
+ //
+ // Action : Test flash mode setting with still image capture and viewfinding.
+ //
+ // Output : No leave.
+
+ const TInt KSetVal = 0;
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetFlashMode( KSetVal );
+
+ iSettingsClient->SetStillFileName( _L("cae_flash_mode_0.jpg") );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetFlashModeWhenStillPrepared );
+}
+
+void CCaeTestRelease::TestFlashMode1L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETFLASHMODEL.002
+ //
+ // Action : Test flash mode setting with still image capture and viewfinding.
+ //
+ // Output : Leave.
+
+ const TInt KSetVal = 1;
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetFlashMode( KSetVal );
+
+ iSettingsClient->SetStillFileName( _L("cae_flash_mode_1.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetFlashModeWhenStillPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( KSetVal & info.iFlashModesSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+void CCaeTestRelease::TestFlashMode2L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-SC.SETFLASHMODEL.003
+ //
+ // Action : Test flash mode setting with still image capture and viewfinding.
+ //
+ // Output : Leave.
+
+ const TInt KSetVal = 2;
+
+ TCamAppEngineInfo info;
+ iSettingsClient->GetInfo( info );
+
+ iSettingsClient->SetStillQualityLevelIndex( 0 );
+
+ iSettingsClient->SetFlashMode( KSetVal );
+
+ iSettingsClient->SetStillFileName( _L("cae_flash_mode_2.jpg") );
+
+ TRAPD( err, iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetFlashModeWhenStillPrepared ) );
+ if( err == KErrNoMemory )
+ {
+ User::Leave( err ); // For memory test
+ }
+ if ( KSetVal & info.iFlashModesSupported )
+ {
+ assertL( err == KErrNone );
+ }
+ else
+ {
+ assertL( err == KErrNotSupported );
+ }
+}
+
+void CCaeTestRelease::TestSCColorToneNormalL()
+ {
+ // ID: CAE.SET-SC.COLORTONE.001
+ //
+ // Group: General
+ //
+ // Action : Test Color Tone interface with ENormal parameter.
+ //
+ // Output : OK.
+
+ iStatesClient->SetColorToneValue( MCameraColorToneSettings::ENormal );
+ iStatesClient->SetCustomInterfaceUid( KCameraColorToneSettingsUid );
+ iStatesClient->SetSnapFileName( _L("cae_snap_colortone_normal1.mbm") );
+ iStatesClient->SetStillFileName( _L("cae_colortone_normal.jpg") );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetColorTone );
+ assertL( iStatesClient->CustomInterfacePointer() != 0 );
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestSCColorToneSepiaL()
+ {
+ // ID: CAE.SET-SC.COLORTONE.002
+ //
+ // Group: General
+ //
+ // Action : Test Color Tone interface with ESepia parameter.
+ //
+ // Output : OK.
+
+ iStatesClient->SetColorToneValue( MCameraColorToneSettings::ESepia );
+ iStatesClient->SetCustomInterfaceUid( KCameraColorToneSettingsUid );
+ iStatesClient->SetSnapFileName( _L("cae_snap_colortone_sepia.mbm") );
+ iStatesClient->SetStillFileName( _L("cae_colortone_sepia.jpg") );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetColorTone );
+ assertL( iStatesClient->CustomInterfacePointer() != 0 );
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestSCColorToneGrayscaleL()
+ {
+ // ID: CAE.SET-SC.COLORTONE.003
+ //
+ // Group: General
+ //
+ // Action : Test Color Tone interface with EGrayscale parameter.
+ //
+ // Output : OK.
+
+ iStatesClient->SetColorToneValue( MCameraColorToneSettings::EGrayscale );
+ iStatesClient->SetCustomInterfaceUid( KCameraColorToneSettingsUid );
+ iStatesClient->SetSnapFileName( _L("cae_snap_colortone_grayscale.mbm") );
+ iStatesClient->SetStillFileName( _L("cae_colortone_grayscale.jpg") );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetColorTone );
+ assertL( iStatesClient->CustomInterfacePointer() != 0 );
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestSCColorToneNegativeL()
+ {
+ // ID: CAE.SET-SC.COLORTONE.004
+ //
+ // Group: General
+ //
+ // Action : Test Color Tone interface with ENegative parameter.
+ //
+ // Output : OK.
+
+ iStatesClient->SetColorToneValue( MCameraColorToneSettings::ENegative );
+ iStatesClient->SetCustomInterfaceUid( KCameraColorToneSettingsUid );
+ iStatesClient->SetSnapFileName( _L("cae_snap_colortone_negative.mbm") );
+ iStatesClient->SetStillFileName( _L("cae_colortone_negative.jpg") );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetColorTone );
+ assertL( iStatesClient->CustomInterfacePointer() != 0 );
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestVRColorToneL()
+ {
+ // ID: CAE.SET-VR.COLORTONE.005
+ //
+ // Group: General
+ //
+ // Action : Test Color Tone interface with video recording. Test case will start video recording
+ // and then sets every supported color tone with 5 second interval. Total execution time is
+ // then with 4 color tones 20 seconds. Test case will report interface failures. Color tone
+ // fuctionality must be checked manually from .3gp file.
+ //
+ // Output : OK.
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+#if (MIRAGE_X_PROD3)
+ iStatesClient->SetVideoCodecSet( 2 ); // 2: AAC audio, MPEG-4 video
+#else
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+#endif
+
+ iStatesClient->SetVideoFileName( _L("cae_colortone.3gp") );
+ iStatesClient->SetTimeout( 5000000 ); // time for one color, then change
+
+ // this walue is set before exiting
+ iStatesClient->SetColorToneValue( MCameraColorToneSettings::ENormal );
+ iStatesClient->SetCustomInterfaceUid( KCameraColorToneSettingsUid );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetColorToneVideoRecording );
+
+ assertL( iStatesClient->CustomInterfacePointer() != 0 );
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestSCColorToneWrongParams1L()
+ {
+ // ID: CAE.SET-SC.COLORTONE.006
+ //
+ // Group: General
+ //
+ // Action : Test Color Tone interface with illegal Color Tone parameter 2^31.
+ // Should leave with code KErrNotSupported.
+ //
+ // Output : OK.
+
+ iStatesClient->SetColorToneValue( (MCameraColorToneSettings::TColorTone) 0x80000000 );
+ iStatesClient->SetCustomInterfaceUid( KCameraColorToneSettingsUid );
+ iStatesClient->SetSnapFileName( _L("cae_snap_colortone_wrong_params.mbm") );
+ iStatesClient->SetStillFileName( _L("cae_colortone_wrong_params.jpg") );
+ TRAPD( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetColorToneWrongParams ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+ assertL( error == KErrNotSupported );
+ }
+
+void CCaeTestRelease::TestSCColorToneWrongParams2L()
+ {
+ // ID: CAE.SET-SC.COLORTONE.007
+ //
+ // Group: General
+ //
+ // Action : Test Color Tone interface with illegal Color Tone parameter 0x07.
+ // Should leave with code KErrArgument.
+ //
+ // Output : OK.
+
+ iStatesClient->SetColorToneValue( (MCameraColorToneSettings::TColorTone) 0x07 );
+ iStatesClient->SetCustomInterfaceUid( KCameraColorToneSettingsUid );
+ iStatesClient->SetSnapFileName( _L("cae_snap_colortone_wrong_params.mbm") );
+ iStatesClient->SetStillFileName( _L("cae_colortone_wrong_params.jpg") );
+ TRAPD( error, iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetColorToneWrongParams ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error ); // For memory test
+ }
+ assertL( error == KErrArgument );
+ }
+
+void CCaeTestRelease::TestSCColorToneReleaseL()
+ {
+ // ID: CAE.SET-SC.COLORTONE.008
+ //
+ // Group: General
+ //
+ // Action : Test Color Tone interface with ENegative parameter when
+ // Release() and Reserve() has been used. After Reserve() the default
+ // values should be set (ENormal) by CameraAPI
+ //
+ // Output : OK.
+
+ iStatesClient->SetColorToneValue( MCameraColorToneSettings::ENegative );
+ iStatesClient->SetCustomInterfaceUid( KCameraColorToneSettingsUid );
+ iStatesClient->SetSnapFileName( _L("cae_snap_colortone_release.mbm") );
+ iStatesClient->SetStillFileName( _L("cae_colortone_release.jpg") );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetColorToneRelease );
+ assertL( iStatesClient->CustomInterfacePointer() != 0 );
+ assertL( iStatesClient->CountInitComplete() == 2 ); // reserve() calls once McaeoInitComplete
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+/********************************************************/
+/* DISPLAY INDEX */
+/********************************************************/
+
+void CCaeTestRelease::TestSetDisplayIndexL()
+ {
+ // ID: CAE.SC.SETDISPLAYINDEX.001
+ //
+ // Group: Capture
+ //
+ // Action : Set display index to 1 and capture a still image.
+ //
+ // Output : No errors. Snap image should be enhanced.
+
+ iStatesClient->SetDisplayIndex( 1 );
+ iStatesClient->SetSnapFileName( _L("cae_snap_disp_index_1.mbm") );
+ //iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill );
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESetDisplayIndex );
+ }
+
+/********************************************************/
+/* VIDEO RECORDING ENUMERATE FRAME SIZES */
+/********************************************************/
+
+void CCaeTestRelease::TestEnumerateVideoFrameSize001L()
+{
+ // Group: Settings.
+ //
+ // ID: CAE.SET-VR.ENUMERATEVIDEOFRAMESIZE.001
+ //
+ // Action : Test that enumerate can be called with correct and incorrect frame sizes
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EEnumerateVideoFrameSize );
+}
+
+
+/********************************************************/
+/* Extension mode test cases */
+/********************************************************/
+
+void CCaeTestRelease::TestProcessExtViewFinderFrameReadyL()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtViewFinderFrameReadyL.001
+ //
+ // Action : Test extension mode ProcessExtViewFinderFrameReadyL normal operation
+ //
+ // Output : No leave.
+
+ TSize sizeQqvga( KImgWidthQQVGA, KImgHeightQQVGA );
+ iSettingsClient->SetViewFinderSize( sizeQqvga );
+ iSettingsClient->SetRunningWithViewFinder( ETrue );
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtViewFinderFrameReady );
+}
+
+void CCaeTestRelease::TestProcessExtSnapImageL()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtSnapImageL.001
+ //
+ // Action : Test extension mode ProcessExtSnapImageL normal operation
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtSnapImage );
+}
+
+void CCaeTestRelease::TestProcessExtCapturedImageL()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtCapturedImageL.001
+ //
+ // Action : Test extension mode ProcessExtCapturedImageL normal operation with HBufC8 param
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtCapturedImage );
+}
+
+
+void CCaeTestRelease::TestProcessExtCapturedImage2L()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtCapturedImageL.002
+ //
+ // Action : Test extension mode ProcessExtCapturedImageL normal operation with TDesC8 param
+ // Test that Relese() can be called
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtCapturedImageTDesC8 );
+}
+
+void CCaeTestRelease::TestProcessExtCapturedImage3L()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtCapturedImageL.003
+ //
+ // Action : Test extension mode ProcessExtCapturedImageL normal operation with CFbsBitmap param
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtCapturedImageCFbsBitmap );
+}
+
+void CCaeTestRelease::TestProcessExtCapturedImage4L()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtCapturedImageL.004
+ //
+ // Action : Test extension mode ProcessExtCapturedImageL normal operation with HBufC8 param
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtCapturedImageNoInit );
+}
+
+void CCaeTestRelease::TestProcessExtCancelL()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtCancel.001
+ //
+ // Action : Test extension mode ProcessExtCancel call before extension interface is used
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtCancel );
+}
+
+
+void CCaeTestRelease::TestProcessExtCancel2L()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtCancel.002
+ //
+ // Action : Test extension mode ProcessExtCancel normal operation. Cancell is called when extension
+ // processing is in progress
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtCancel2 );
+}
+
+void CCaeTestRelease::TestProcessExtCapturedImageBurstL()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtCapturedImageBurstL.001
+ //
+ // Action : Test extension mode ProcessExtCapturedImageL normal burst operation with HBufC8 param
+ // One image is captured and then it is sent as 6 burst images to extension handling.
+ // Also snap images are sent 6 times.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetStillBurstLength( 6 );
+ iSettingsClient->SetStillFormat( CCamera::EFormatExif );
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtCapturedImageBurst );
+ assertL( iSettingsClient->CountStillImageReady() == 6 );
+ assertL( iSettingsClient->CountSnapImageReady() == 6 );
+ assertL( iSettingsClient->CountStillBurstComplete() == 1 );
+}
+
+void CCaeTestRelease::TestProcessExtCapturedImageBurst2L()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.ProcessExtCapturedImageBurstL.002
+ //
+ // Action : Test extension mode ProcessExtCapturedImageL normal burst operation with TDesC8 param
+ // One image is captured and then it is sent as 6 burst images to extension handling
+ // Also snap images are sent 6 times.
+ //
+ // Output : No leave.
+
+ iSettingsClient->SetStillBurstLength( 6 );
+ iSettingsClient->SetStillFormat( CCamera::EFormatExif );
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EProcessExtCapturedImageBurstTDesC8 );
+ assertL( iSettingsClient->CountSnapImageReady() == 6 );
+ assertL( iSettingsClient->CountStillImageReady() == 6 );
+ assertL( iSettingsClient->CountStillBurstComplete() == 1 );
+}
+
+void CCaeTestRelease::TestInstalledExtensionListL()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.InstalledExtensionList.001
+ //
+ // Action : Test extension mode InstalledExtensionList normal operation
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::EInstalledExtensionList );
+}
+
+void CCaeTestRelease::TestSkippedExtensionListL()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.SkippedExtensionListL.001
+ //
+ // Action : Test extension mode SkippedExtensionList normal operation
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESkippedExtensionList );
+}
+
+void CCaeTestRelease::TestSetSkippedExtensionListL()
+{
+ // Group: still capture/extension mode.
+ //
+ // ID: CAE.SC.SetSkippedExtensionList.001
+ //
+ // Action : Test extension mode SetSkippedExtensionList normal operation
+ //
+ // Output : No leave.
+
+ iSettingsClient->RunTestActionL( CCaeTestSettingsClient::ESetSkippedExtensionList );
+}
+
+
+void CCaeTestRelease::TestStartAndStopVideoRecordingSubQcifNoInitL()
+ {
+ // ID: CAE.VR.STARTSTOPVIDEORECORDING.SUBQCIF.NOINIT.001
+ //
+ // Group: Record
+ //
+ // Action : To ensure that the implementation is compatible with camcorder plug-in.
+ // To ensure that starting and stopping video recording works.
+ // To ensure that recording subQCIF sized video works.
+ // Video recording prepared for subQCIF format.
+ //
+ // Output : OK.
+
+ iStatesClient->SetTimeout( 4000000 );
+
+ TSize sizeQcif( KImgWidthQCIF, KImgHeightQCIF );
+
+ iStatesClient->SetVideoFrameSize( sizeQcif );
+ iStatesClient->SetVideoFrameRate( TReal32( 10.0 ) );
+ iStatesClient->SetVideoBitRate( TInt( 25000 ) );
+
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+
+ iStatesClient->SetVideoFileName( _L("cae_subqcif_noinit.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndRecordVideoNoInit );
+
+ assertL( iStatesClient->CountInitComplete() == 0 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+
+
+void CCaeTestRelease::TestSecondaryCamera001L()
+ {
+ // ID: CAE.SC.SecondaryCamera.001
+ //
+ // Group: Capture
+ //
+ // Action : Test to setup still capturing for secondary camera and capture Jpeg
+ // image when initialization is done.
+ //
+ // ** For PROD9 320x240 camera **
+ //
+ // Output : OK.
+
+ TSize sizeQVGA( KImgWidthQVGA, KImgHeightQVGA );
+
+ iStatesClient->SetStillFormat( CCamera::EFormatJpeg );
+ iStatesClient->SetStillCompressionQuality( 80 );
+ iStatesClient->SetStillFrameSize( sizeQVGA ); // only supported size
+ iStatesClient->SetSnapImageSize( TSize( 240, 180 ) ); // no action, cae returns qvga if no adis
+ iStatesClient->SetSnapImageSource( CCaeEngine::ESnapImageSourceThumbnail ); // no action as C-API returns bitmap
+ iStatesClient->SetStillFileName( _L("cae_jpegsecond_001.jpg") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::ESpecifiedPrepareAndCaptureStill2nd );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountStillPrepareComplete() == 1 );
+ assertL( iStatesClient->CountSnapImageReady() == 1 );
+ assertL( iStatesClient->CountStillImageReady() == 1 );
+ }
+
+void CCaeTestRelease::TestRecordAsyncStop001L()
+ {
+ // ID: CAE.VR.VIDEORECORDING.AsyncStop.001
+ //
+ // Group: Record.
+ //
+ // Action : Test to prepare video recording and record quality level 0
+ // video clip when async stop is enabled.
+ //
+ // Output : No leave.
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+ TSize sizeSubQcif( KImgWidthSubQCIF, KImgHeightSubQCIF );
+
+ iStatesClient->SetViewFinderSize( sizeSubQcif );
+
+ iStatesClient->SetVfFileName( _L("cae_video_asyncstop_001.mbm") );
+
+ iStatesClient->SetVideoStopMode( ETrue );
+
+ iStatesClient->SetTimeout( 30000000 );
+
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+
+ iStatesClient->SetVideoFileName( _L("cae_video_asyncstop_001.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareRecordVideoStartAndStopVf );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingStopped() == 1 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+void CCaeTestRelease::TestRecordAsyncStop002L()
+ {
+ // ID: CAE.VR.VIDEORECORDING.AsyncStop.002
+ //
+ // Group: Record.
+ //
+ // Action : Test to prepare video recording and record quality level 0
+ // video clip when async stop is disabled.
+ //
+ // Output : No leave.
+
+ iStatesClient->SetVideoQualityLevelIndex( 0 );
+
+ TSize sizeSubQcif( KImgWidthSubQCIF, KImgHeightSubQCIF );
+
+ iStatesClient->SetViewFinderSize( sizeSubQcif );
+
+ iStatesClient->SetVfFileName( _L("cae_video_asyncstop_001.mbm") );
+
+ iStatesClient->SetVideoStopMode( EFalse );
+
+ iStatesClient->SetTimeout( 30000000 );
+
+ iStatesClient->SetVideoCodecSet( 0 ); // 0: AMR audio, H.263 video
+
+ iStatesClient->SetVideoFileName( _L("cae_video_asyncstop_001.3gp") );
+
+ iStatesClient->RunTestActionL( CCaeTestStatesClient::EStartVfPrepareRecordVideoStartAndStopVf );
+
+ assertL( iStatesClient->CountInitComplete() == 1 );
+ assertL( iStatesClient->CountVideoPrepareComplete() == 1 );
+ assertL( iStatesClient->CountVideoRecordingOn() == 1 );
+ assertL( iStatesClient->CountVideoRecordingStopped() == 0 );
+ assertL( iStatesClient->CountVideoRecordingComplete() == 1 );
+ }
+
+
+//
+// An own static function to collect the test functions into one
+// suite of tests. The framework will run the tests and free the
+// memory allocated for the test suite.
+//
+
+#if 1
+
+MTest* CCaeTestRelease::suiteL ()
+ {
+ // Always use NewL (Do not use NewLC) !!!
+ CTestSuite *suite = CTestSuite::NewL( _L8("CCaeTestRelease") );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.INITL.001"), &TestInitL ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.INITVIDEORECORDERL.001"), &TestInitVideoRecorderL ) );
+#endif
+
+#if (!MIRAGE_X) && (!UNAGI_2M)
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.001"), &TestGetInfoL ) );
+#endif
+
+#if MIRAGE_X_PROD1
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.002"), &TestGetInfoPROD1MirageXL ) );
+#endif
+
+#if MIRAGE_X_PROD2
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.003"), &TestGetInfoPROD2MirageXL ) );
+#endif
+
+#if MIRAGE_X_PROD3
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.004"), &TestGetInfoPROD3MirageXPL ) );
+#endif
+
+#if MIRAGE_X_PROD4
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.005"), &TestGetInfoPROD4MirageXL ) );
+#endif
+
+#if MIRAGE_X_PROD6
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.006"), &TestGetInfoPROD6MirageXL ) );
+#endif
+
+#if MIRAGE_X_PROD7
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.007"), &TestGetInfoPROD7Unagi2ML ) );
+#endif
+
+#if MIRAGE_X_PROD8
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.008"), &TestGetInfoPROD8MirageXL ) );
+#endif
+
+#if MIRAGE_X_PROD9
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.009"), &TestGetInfoPROD9HWL ) );
+#endif
+
+#if HW_DEVLON
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.GETINFO.010"), &TestGetInfoDevlonHWL ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.POWEROFFANDON.001"), &TestPowerOffAndOnL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.RELESEANDRESERVE.001"), &TestReleaseAndReserveL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN-SC.POWERON.001"), &TestPowerOnWhenInitializedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN-SC.POWERON.002"), &TestPowerOnWhenStillCapturePreparedL ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN-VR.POWERON.003"), &TestPowerOnWhenVideoRecordingPreparedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN-VR.POWERON.004"), &TestPowerOnWhenRecordingL ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN-SC.POWEROFF.001"), &TestPowerOffWhenStillCapturePreparedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN-SC.POWEROFF.002"), &TestPowerOffWhenViewfinderRunningL ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN-VR.POWEROFF.003"), &TestPowerOffWhenVideoRecordingPreparedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN-VR.POWEROFF.004"), &TestPowerOffWhenRecordingL ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VF.STARTSTOPVIEWFINDER.QQVGA.001"), &TestViewFinderStartAndStopQqvgaL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VF.STARTSTOPVIEWFINDER.SUBQCIF.002"), &TestViewFinderStartAndStopSubqcifL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VF.STARTSTOPVIEWFINDER.CROPPED.003"), &TestCroppedViewFinderStartAndStopL ) );
+#if !( (HW_DEVLON) )
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VF.STARTSTOPVIEWFINDERDIRECT.001"), &TestViewFinderDirectStartAndStopL ) );
+#endif
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VF.STARTSTOPVIEWFINDERDIRECT.002"), &TestCroppedViewFinderDirectStartAndStopL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.001"), &TestCaptureStillWhenEngineInitializedL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA16M.002"), &TestCaptureVga16ML ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA64K.003"), &TestCaptureVga64KL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA4K.004"), &TestCaptureVga4KL ) );
+
+#if !( (MIRAGE_X_PROD9) || (HW_DEVLON) )
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.QQVGA16M.005"), &TestCaptureQqvga16ML ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.QQVGA64K.006"), &TestCaptureQqvga64KL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.QQVGA4K.007"), &TestCaptureQqvga4KL ) );
+#endif
+
+#if MIRAGE_X_PROD1
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP1.16M.011"), &TestCaptureMp1_16ML ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP1.64K.012"), &TestCaptureMp1_64KL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP1.4K.013"), &TestCaptureMp1_4KL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.JPEGMP1.014"), &TestCaptureJpegMp1L ) );
+
+#endif
+
+#if (MIRAGE_X_PROD2) || (MIRAGE_X_PROD4) || (MIRAGE_X_PROD3)
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP1M3.16M.018"), &TestCaptureMp1M3_16ML ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP1M3.64K.019"), &TestCaptureMp1M3_64KL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP1M3.4K.020"), &TestCaptureMp1M3_4KL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.JPEGMP1M3.021"), &TestCaptureJpegMp1M3L ) );
+
+#endif // (MIRAGE_X_PROD2) || (MIRAGE_X_PROD4) || (MIRAGE_X_PROD3)
+
+#if MIRAGE_X_PROD7
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP2.16M.025"), &TestCaptureMp2_16ML ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP2.64K.026"), &TestCaptureMp2_64KL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.MP2.4K.027"), &TestCaptureMp2_4KL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.JPEG.MP2.028"), &TestCaptureJpegMp2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.EXIF.MP2.029"), &TestCaptureExifMp2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.EXIF.SVGA.030"), &TestCaptureExifSVGAL ) );
+#endif // MIRAGE_X_PROD7
+
+#if MIRAGE_X_PROD8
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.CODEC.031"), &TestCaptureCodecL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.CODEC.032"), &TestCaptureCodec2L ) );
+#endif // MIRAGE_X_PROD8
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.JPEGVGA90.008"), &TestCaptureQualityLevel0L ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.JPEGVGA50.009"), &TestCaptureQualityLevel1L ) );
+
+#if !( (MIRAGE_X_PROD9) || (HW_DEVLON) )
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.JPEGQQVGA90.010"), &TestCaptureQualityLevel2L ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURECAPTURE.001"), &TestCaptureCaptureL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURECAPTURE.002"), &TestCaptureCaptureSpecPrepL ) );
+
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.PREPARESTILLCAPTUREL.001"), &TestPrepareStillCapture0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.PREPARESTILLCAPTUREL.002"), &TestPrepareStillCapture1L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.PREPARESTILLCAPTUREL.003"), &TestPrepareStillCapture2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.PREPARESTILLCAPTUREL.004"), &TestPrepareStillCapture0WhenPreparedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.PREPARESTILLCAPTUREL.007"), &TestSpecPrepareSCSupportedFormatWhenInitializedL ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.PREPAREVIDEORECORDINGL.001"), &TestPrepareVideoRecording0L ) );
+
+#if !( (HW_DEVLON) )
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.PREPAREVIDEORECORDINGL.002"), &TestPrepareVideoRecording1L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.PREPAREVIDEORECORDINGL.003"), &TestPrepareVideoRecording2L ) );
+#endif
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.PREPAREVIDEORECORDINGL.004"), &TestPrepareVideoRecording0WhenPreparedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.PREPAREVIDEORECORDINGL.007"), &TestSpecPrepareVRSupportedFormatWhenVRInitializedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.VIDEORECORDING.QCIF64000FR15.001"), &TestRecordQualityLevel0L ) );
+
+#if !( (HW_DEVLON) )
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.VIDEORECORDING.SUBQCIF60000FR15.002"), &TestRecordQualityLevel1L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.VIDEORECORDING.SUBQCIF40000FR5.003"), &TestRecordQualityLevel2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.STARTSTOPVIDEORECORDING.SUBQCIF.001"), &TestStartAndStopVideoRecordingSubQcifL ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.STARTSTOPVIDEORECORDING.QCIF.002"), &TestStartAndStopVideoRecordingQcifL ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETZOOMVALUEL.001"), &TestSCDigiZoomVal0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETZOOMVALUEL.002_vga"), &TestSCDigiZoomVal1VgaL ) );
+#if !( (MIRAGE_X_PROD9) || (HW_DEVLON) )
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETZOOMVALUEL.002_qqvga"), &TestSCDigiZoomVal1QqvgaL ) );
+#endif
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETZOOMVALUEL.005"), &TestSCDigiZoomInitializedVal0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETZOOMVALUEL.012_vga"), &TestSCDigiZoomInitializedVal1VgaL ) );
+
+#if !( (MIRAGE_X_PROD9) || (HW_DEVLON) )
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETZOOMVALUEL.012_qqvga"), &TestSCDigiZoomInitializedVal1QqvgaL ) );
+#endif
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETZOOMVALUEL.006"), &TestVRDigiZoomVal0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETZOOMVALUEL.007"), &TestVRDigiZoomVal1L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETZOOMVALUEL.010"), &TestVRDigiZoomRecordingVal0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETZOOMVALUEL.011"), &TestVRDigiZoomRecordingVal1L ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.RESUMEVIDEORECORDING.001"), &TestRecordPauseResumeStopL ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEXPOSUREMODEL.001"), &TestSCExposureMode0L ) );
+
+#if !MIRAGE_X_PROD6
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEXPOSUREMODEL.002"), &TestSCExposureMode1L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEXPOSUREMODEL.016"), &TestSCExposureModeInitialized1L ) );
+#endif
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEXPOSUREMODEL.015"), &TestSCExposureModeInitialized0L ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+#if !MIRAGE_X_PROD6
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETEXPOSUREMODEL.008"), &TestVRExposureMode0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETEXPOSUREMODEL.009"), &TestVRExposureMode1L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETEXPOSUREMODEL.018"), &TestVRExposureModeRecording1L ) );
+#endif
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETEXPOSUREMODEL.017"), &TestVRExposureModeRecording0L ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEVCOMP.001"), &TestSCEvCompensation0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEVCOMP.002"), &TestSCEvCompensationMaxL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEVCOMP.003"), &TestSCEvCompensationMinL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEVCOMP.004"), &TestSCEvCompensationInitialized0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEVCOMP.005"), &TestSCEvCompensationInitializedMaxL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEVCOMP.006"), &TestSCEvCompensationInitializedMinL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETEVCOMP.007"), &TestSCEvCompensationInitializedInvalidL ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETEVCOMP.001"), &TestVREvCompensationMinL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETEVCOMP.002"), &TestVREvCompensationRecordingMaxL ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETWHITEBALANCEMODEL.001"), &TestSCWhiteBalanceMode0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETWHITEBALANCEMODEL.019"), &TestSCWhiteBalanceModeInitialized0L ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETWHITEBALANCEMODEL.010"), &TestVRWhiteBalanceMode0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETWHITEBALANCEMODEL.020"), &TestVRWhiteBalanceModeRecording0L ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETBRIGHTNESSL.001"), &TestSCBrightness50L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETBRIGHTNESSL.007"), &TestSCBrightnessInitialized50L ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETBRIGHTNESSL.008"), &TestVRBrightness50L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETBRIGHTNESSL.014"), &TestVRBrightnessRecording50L ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETCONTRASTL.001"), &TestSCContrast50L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETCONTRASTL.007"), &TestSCContrastInitialized50L ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETCONTRASTL.008"), &TestVRContrast50L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETCONTRASTL.014"), &TestVRContrastRecording50L ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.SETVIDEOCLIPMAXSIZEL.002"), &TestVideoClipMaxSize10000L ) );
+#endif
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CANCELCAPTURESTILL.001"), &TestCancelCaptureStillL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.GETSTILLQUALITYINDEX.001"), &TestGetStillQualityIndexWhenEngineInitializedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.GETSTILLQUALITYINDEX.002"), &TestGetStillQualityIndexWhenPreparedL ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.GETVIDEOQUALITYINDEX.001"), &TestGetVideoQualityIndexWhenEngineInitializedL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.GETVIDEOQUALITYINDEX.002"), &TestGetVideoQualityIndexWhenPreparedL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.REMAININGVIDEORECORDINGTIME.001"), &TestRemainingTimeWhenVideoPreparedL ) );
+
+// suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.STARTSTOPVRTOOBIGSIZE.SUBQCIF.001"), &TestStartAndStopVRWhenTooBigSizeSubQcifL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.PREPAREAUDIOBITRATEANDRECORDVIDEO.001"), &TestPrepareAudioBitRateVR5000L ) );
+
+#if (MIRAGE_X_PROD7)
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.PREPAREAUDIOBITRATEANDRECORDVIDEO.002"), &TestPrepareAudioBitRateVR128L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.PREPAREAUDIOBITRATEANDRECORDVIDEO.003"), &TestPrepareAudioBitRateVR128InvVtypeL ) );
+#endif
+
+#endif
+
+#ifdef __CAMERA_BURST_MODE
+ // Only if Still BURST is supported (built in).
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURST.3.001"), &TestCaptureStillBurst3L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURST.0.002"), &TestCaptureStillBurst0L ) );
+
+// suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURST.100.003"), &TestCaptureStillBurst100L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURST.CANCEL.004"), &TestCancelCaptureStillBurst3L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURST.STOP2.005"), &TestStopCaptureStillBurstAfter2L ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURST.3.006"), &TestSpecPrepCaptureStillBurst3L ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTINTERVAL.0.001"), &TestCaptureStillBurstInterval0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTINTERVAL.1000000.002"), &TestCaptureStillBurstInterval1000000L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTINTERVAL.M1.003"), &TestCaptureStillBurstIntervalM1L ) );
+#endif
+
+
+#if (MIRAGE_X_PROD2) || (MIRAGE_X_PROD4) || (MIRAGE_X_PROD3) || (MIRAGE_X_PROD7)
+
+#ifdef __CAMERA_BURST_MODE
+ // Exif burst test
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTEXIF.3.001"), &TestCaptureStillBurstExif3L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTEXIF.6.002"), &TestCaptureStillBurstExif6L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTEXIF.100.003"), &TestCaptureStillBurstExif100L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTEXIF.6.VF.004"), &TestCaptureStillBurstExif6VfL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTEXIF.6.VF.CANCEL.005"), &TestCaptureStillBurstExif6VfCancelL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTEXIF.6.006"), &TestCaptureStillBurstExif6NSL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTEXIF.6.007"), &TestCaptureStillBurstExif6_ThumbnailL ) );
+#endif
+
+ // Exif tests
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.EXIF.001"), &TestCaptureVgaExifL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.QQVGA.EXIF.002"), &TestCaptureQqvgaExifL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.EXIF.003"), &TestCaptureVgaSnapOneHalfExifL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.EXIF.004"), &TestCaptureVgaSnapOneFourthExifL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.EXIF.005"), &TestCaptureVgaSnapOneEighthExifL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.EXIF.006"), &TestCaptureVgaSnapExifL ) );
+
+ // Jpeg tests
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.JPEG.007"), &TestCaptureVgaSnapOneEighthJpegL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.EXIF.008"), &TestCaptureVgaSnapOneEighthExif2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.EXIF.009"), &TestCaptureVgaSnapColor16MExifL ) );
+#endif // (MIRAGE_X_PROD2) || (MIRAGE_X_PROD4) || (MIRAGE_X_PROD3) || (MIRAGE_X_PROD7)
+
+ // Test cases for snap-image creation switched off.
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA16M.015"), &TestCaptureVga16M_NoSnapL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.JPEGVGA90.016"), &TestCaptureQualityLevel0_NoSnapL ) );
+#if (MIRAGE_X_PROD2) || (MIRAGE_X_PROD4) || (MIRAGE_X_PROD3) || (MIRAGE_X_PROD7)
+ // Exif tests
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.VGA.EXIF.017"), &TestCaptureVgaExif_NoSnapL ) );
+#endif
+
+#ifdef __CAMERA_BURST_MODE
+ // Only if Still BURST is supported (built in).
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURST.3.007"), &TestCaptureStillBurst3_NoSnapL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURST.3.008"), &TestSpecPrepCaptureStillBurst3_NoSnapL ) );
+
+#if (MIRAGE_X_PROD2) || (MIRAGE_X_PROD4) || (MIRAGE_X_PROD3) || (MIRAGE_X_PROD7)
+ // Exif tests
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILLBURSTEXIF.3.004"), &TestCaptureStillBurstExif3_NoSnapL ) );
+#endif
+#endif // __CAMERA_BURST_MODE
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.ENUMERATE.001"), &TestEnumerateCaptureSizesL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETJPEGQUALITY.001"), &TestSetJpegQuality50L ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.CUSTOMINTERFACE.001"), &TestSCCustomInterfaceL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETFLASHMODEL.001"), &TestFlashMode0L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETFLASHMODEL.002"), &TestFlashMode1L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.SETFLASHMODEL.003"), &TestFlashMode2L ) );
+
+#if COLOR_TONE_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.COLORTONE.001"), &TestSCColorToneNormalL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.COLORTONE.002"), &TestSCColorToneSepiaL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.COLORTONE.003"), &TestSCColorToneGrayscaleL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.COLORTONE.004"), &TestSCColorToneNegativeL ) );
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.COLORTONE.005"), &TestVRColorToneL ) );
+#endif
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.COLORTONE.006"), &TestSCColorToneWrongParams1L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.COLORTONE.007"), &TestSCColorToneWrongParams2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-SC.COLORTONE.008"), &TestSCColorToneReleaseL ) );
+#endif // COLOR_TONE_TEST_CASES
+
+//#if (MIRAGE_X_PROD7)
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.SETDISPLAYINDEX.001"), &TestSetDisplayIndexL ) );
+//#endif
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.CAPTURESTILL.POWEROFF.001"), &TestCaptureAfterPowerOffL ) );
+
+ // new tests after 3.2
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SET-VR.ENUMERATEVIDEOFRAMESIZE.001"), &TestEnumerateVideoFrameSize001L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.GEN.CCAMERAHANDLE.001"), &TestCCameraHandleL ) );
+
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtViewFinderFrameReadyL.001"), &TestProcessExtViewFinderFrameReadyL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtSnapImageL.001"), &TestProcessExtSnapImageL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtCapturedImageL.001"), &TestProcessExtCapturedImageL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtCapturedImageL.002"), &TestProcessExtCapturedImage2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtCapturedImageL.003"), &TestProcessExtCapturedImage3L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtCapturedImageL.004"), &TestProcessExtCapturedImage4L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtCancel.001"), &TestProcessExtCancelL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtCancel.002"), &TestProcessExtCancel2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtCapturedImageBurstL.001"), &TestProcessExtCapturedImageBurstL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.ProcessExtCapturedImageBurstL.002"), &TestProcessExtCapturedImageBurst2L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.InstalledExtensionList.001"), &TestInstalledExtensionListL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.SkippedExtensionListL.001"), &TestSkippedExtensionListL ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.SetSkippedExtensionList.001"), &TestSetSkippedExtensionListL ) );
+
+#if VIDEO_RECORDING_TEST_CASES
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.STARTSTOPVIDEORECORDING.SUBQCIF.NOINIT.001"), &TestStartAndStopVideoRecordingSubQcifNoInitL ) );
+#endif
+
+#if ( ((MIRAGE_X_PROD9) || (HW_DEVLON)) && (SECONDARY_CAMERA_TEST_CASES) )
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.SC.SecondaryCamera.001"), &TestSecondaryCamera001L ) );
+#endif
+
+ // Asynchronous video stop test cases
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.VIDEORECORDING.AsyncStop.001"), &TestRecordAsyncStop001L ) );
+ suite->addTestL( CTestCaller<CCaeTestRelease>::NewL( _L8("CAE.VR.VIDEORECORDING.AsyncStop.002"), &TestRecordAsyncStop002L ) );
+
+ return suite;
+ }
+
+#else
+
+
+MTest* CCaeTestRelease::suiteL ()
+ {
+ // Always use NewL (Do not use NewLC) !!!
+ CTestSuite *suite = CTestSuite::NewL( _L8("CCaeTestRelease") );
+
+
+ return suite;
+ }
+
+#endif