diff -r c826656d6714 -r 7e18d488ac5f camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxeautofocuscontrolsymbian/unittest_cxeautofocuscontrolsymbian.cpp --- a/camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxeautofocuscontrolsymbian/unittest_cxeautofocuscontrolsymbian.cpp Fri Aug 06 10:03:37 2010 +0300 +++ b/camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxeautofocuscontrolsymbian/unittest_cxeautofocuscontrolsymbian.cpp Mon Aug 23 13:50:05 2010 +0300 @@ -106,7 +106,7 @@ QCOMPARE(mAutoFocusControl->state(), CxeAutoFocusControl::Unknown); // 2) Input parameter false is handled correctly - // prequisites: not fixed mode & unknown state -> normal functionality + // prerequisites : not fixed mode & unknown state -> normal functionality mAutoFocusControl->setMode(CxeAutoFocusControl::Auto); // non-fixed // function call returnValue = mAutoFocusControl->start(false); @@ -116,7 +116,7 @@ QCOMPARE(mAutoFocusControl->isSoundEnabled(), false); // check for input parameter // 3) Autofocus is not ready (state is cancelling or in progress) - // prequisites: + // prerequisites : mAutoFocusControl->setMode(CxeAutoFocusControl::Macro); // non-fixed mode QCOMPARE(mAutoFocusControl->state(), CxeAutoFocusControl::InProgress); // start should return CxeError::InUse @@ -124,12 +124,15 @@ QCOMPARE(returnValue, CxeError::InUse); // 4) Camera has been released - mAutoFocusControl->prepareForCameraDelete(); + // Cannot be tested like this since assertion crashes the function + // AFTER prepareForCameraDelete CALL. + /*mAutoFocusControl->prepareForCameraDelete(); stateSpy.clear(); returnValue = mAutoFocusControl->start(); // result: no signal should be emitted QVERIFY(!CxeTestUtils::waitForSignal(stateSpy, 1000)); QCOMPARE(returnValue, CxeError::None); // should there be and error here? + */ } void UnitTestCxeAutoFocusControlSymbian::testCancel() @@ -270,7 +273,7 @@ // see testPrepareForCameraDelete } -void UnitTestCxeAutoFocusControlSymbian::testHandleCameraEvent() +void UnitTestCxeAutoFocusControlSymbian::testHandleCameraEventOptimalFocus() { // handleCameraEvent handles callbacks and gets information about // focus events. handleCameraEvent calls private method handleAfEvent @@ -321,16 +324,17 @@ // => state should change to Unknown QVERIFY(CxeTestUtils::waitForSignal(stateSpy, 1000)); QCOMPARE(mAutoFocusControl->state(), CxeAutoFocusControl::Unknown); +} - // cleanup and init to make sure that the dummy engine is not messed up - // and we get to initial state - cleanup(); - init(); - +void UnitTestCxeAutoFocusControlSymbian::testHandleCameraEventAutofocusChanged() +{ + QSignalSpy stateSpy(mAutoFocusControl, + SIGNAL(stateChanged(CxeAutoFocusControl::State, + CxeError::Id))); // Input 2 ----------------------------------------------------- // Notifies a change in autofocus type - eventUid = KUidECamEventCameraSettingAutoFocusType2UidValue; - symbianError = -18; // == KErrNotReady + int eventUid = KUidECamEventCameraSettingAutoFocusType2UidValue; + int symbianError = -18; // == KErrNotReady // InProgress: event is ignored mAutoFocusControl->setMode(CxeAutoFocusControl::Auto); // not fixed focus @@ -348,15 +352,18 @@ mAutoFocusControl->handleCameraEvent(eventUid, symbianError); QVERIFY(!CxeTestUtils::waitForSignal(stateSpy, 1000)); - // cleanup and init to make sure that the dummy engine is not messed up - // and we get to initial state - cleanup(); - init(); +} + +void UnitTestCxeAutoFocusControlSymbian::testHandleCameraEventFocusRangeChanged() +{ + QSignalSpy stateSpy(mAutoFocusControl, + SIGNAL(stateChanged(CxeAutoFocusControl::State, + CxeError::Id))); // Input 3 ----------------------------------------------------- // Focus range have changed - eventUid = KUidECamEventCameraSettingFocusRangeUidValue; - symbianError = -2; // == KErrGeneral + int eventUid = KUidECamEventCameraSettingFocusRangeUidValue; + int symbianError = -2; // == KErrGeneral // In any other state than InProgress this event is ignored stateSpy.clear();