diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxevideocapturecontrolsymbian/unittest_cxevideocapturecontrolsymbian.cpp --- a/camerauis/cameraxui/cxengine/tsrc/unit/unittest_cxevideocapturecontrolsymbian/unittest_cxevideocapturecontrolsymbian.cpp Tue Aug 31 15:03:46 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,378 +0,0 @@ -/* - * Copyright (c) 2009-2010 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: - * - */ -#include -#include - -#include "cxetestutils.h" -#include "unittest_cxevideocapturecontrolsymbian.h" -#include "cxevideocapturecontrolsymbian.h" -#include "cxevideocapturecontrolsymbianunit.h" -#include "cxesnapshotcontrol.h" -#include "cxefakefilenamegenerator.h" -#include "cxedummycamera.h" -#include "cxefakecameradevice.h" -#include "cxefakeviewfindercontrol.h" -#include "cxefakecameradevicecontrol.h" -#include "cxefakequalitypresets.h" -#include "cxefakesettings.h" -#include "cxutils.h" -#include "cxediskmonitor.h" - - -// Enums - - -UnitTestCxeVideoCaptureControlSymbian::UnitTestCxeVideoCaptureControlSymbian() - : mCxeVideoCaptureControlSymbian(0) -{ - mSettings = new CxeFakeSettings(); - qRegisterMetaType("CxeError::Id"); - qRegisterMetaType("CxeVideoCaptureControl::State"); -} - -UnitTestCxeVideoCaptureControlSymbian::~UnitTestCxeVideoCaptureControlSymbian() -{ - cleanup(); -} - -// Run before each individual test case -void UnitTestCxeVideoCaptureControlSymbian::init() -{ -} - -// Run after each individual test case -void UnitTestCxeVideoCaptureControlSymbian::cleanup() -{ -} - -// Run before each individual test case -void UnitTestCxeVideoCaptureControlSymbian::initTestCase() -{ - CX_DEBUG_ENTER_FUNCTION(); - mCameraDeviceControl = new CxeFakeCameraDeviceControl(); - mCameraDeviceControl->setMode(Cxe::VideoMode); - mCameraDevice = new CxeFakeCameraDevice(); - mViewfinderControl = new CxeFakeViewfinderControl(); - mSnapshotControl = new CxeSnapshotControl(*mCameraDevice); - mSettings->set(CxeSettingIds::VIDEO_SHOWCAPTURED, -1); - mFilenameGeneratorSymbian = new CxeFakeFilenameGenerator(); - mFilenameGeneratorSymbian->init(Cxe::VideoMode); - mFakeQualityPresets = new CxeFakeQualityPresets(); - mDiskMonitor = new CxeDiskMonitor(*mSettings); - mCxeVideoCaptureControlSymbian = new CxeVideoCaptureControlSymbianUnit(*mCameraDevice, - *mViewfinderControl, - *mSnapshotControl, - *mCameraDeviceControl, - *mFilenameGeneratorSymbian, - *mSettings, - *mFakeQualityPresets, - *mDiskMonitor); - mCameraDevice->newCamera(mCameraDeviceControl->cameraIndex(), mCameraDeviceControl); - - mSpyState = new QSignalSpy(mCxeVideoCaptureControlSymbian, - SIGNAL(stateChanged( - CxeVideoCaptureControl::State, - CxeError::Id))); - - - // Connect video init complete signal to CameraDeviceControl initModeComplete - connect(mCxeVideoCaptureControlSymbian, SIGNAL(videoPrepareComplete(CxeError::Id)), - mCameraDeviceControl, SIGNAL(initModeComplete(CxeError::Id)) ); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::cleanupTestCase() -{ - CX_DEBUG_ENTER_FUNCTION(); - delete mCxeVideoCaptureControlSymbian; - mCxeVideoCaptureControlSymbian = 0; - delete mFilenameGeneratorSymbian; - mFilenameGeneratorSymbian = 0; - delete mViewfinderControl; - mViewfinderControl = 0; - delete mSnapshotControl; - mSnapshotControl = 0; - delete mCameraDeviceControl; - mCameraDeviceControl = 0; - delete mCameraDevice; - mCameraDevice = 0; - delete mFakeQualityPresets; - mFakeQualityPresets = 0; - delete mDiskMonitor; - mDiskMonitor = 0; - delete mSettings; - mSettings = 0; - delete mSpyState; - mSpyState = 0; - CX_DEBUG_EXIT_FUNCTION(); -} - - -void UnitTestCxeVideoCaptureControlSymbian::testState() -{ - CX_DEBUG_ENTER_FUNCTION(); - QVERIFY(mCxeVideoCaptureControlSymbian->state() == CxeVideoCaptureControl::Idle); - CX_DEBUG_EXIT_FUNCTION(); -} - - - -void UnitTestCxeVideoCaptureControlSymbian::testRecord() -{ - CX_DEBUG_ENTER_FUNCTION(); - - doPrepareStuff(); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Ready); - mCxeVideoCaptureControlSymbian->record(); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Recording); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testPause() -{ - CX_DEBUG_ENTER_FUNCTION(); - - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->record(); - mCxeVideoCaptureControlSymbian->pause(); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Paused); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testStop() -{ - CX_DEBUG_ENTER_FUNCTION(); - - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->record(); - mCxeVideoCaptureControlSymbian->stop(); - QVERIFY((mCxeVideoCaptureControlSymbian->state() == CxeVideoCaptureControl::Stopping) - || (mCxeVideoCaptureControlSymbian->state() == CxeVideoCaptureControl::Initialized) - || (mCxeVideoCaptureControlSymbian->state() == CxeVideoCaptureControl::Idle) - || (mCxeVideoCaptureControlSymbian->state() == CxeVideoCaptureControl::Ready)); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testRemainingTime() -{ - CX_DEBUG_ENTER_FUNCTION(); - - int remainingtime = 0; - mCxeVideoCaptureControlSymbian->remainingTime(remainingtime); - // not possible to test more. - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testElapsedTime() -{ - CX_DEBUG_ENTER_FUNCTION(); - - int elapsedtime = 0; - bool timefetched = mCxeVideoCaptureControlSymbian->elapsedTime(elapsedtime); - QVERIFY(timefetched == false); - // not possible to test more. - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testReset() -{ - CX_DEBUG_ENTER_FUNCTION(); - - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->record(); - QTest::qWait(1000); - mCxeVideoCaptureControlSymbian->stop(); - // just call to see if it doesn't crash - mCxeVideoCaptureControlSymbian->reset(); - QVERIFY(mCxeVideoCaptureControlSymbian->snapshot().isNull()); - QVERIFY(mCxeVideoCaptureControlSymbian->filename().isEmpty()); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testFilename() -{ - CX_DEBUG_ENTER_FUNCTION(); - - doPrepareStuff(); - QString filename = mCxeVideoCaptureControlSymbian->filename(); - QVERIFY(!mCxeVideoCaptureControlSymbian->filename().isEmpty()); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testSnapshot() -{ - CX_DEBUG_ENTER_FUNCTION(); - - QCOMPARE(mCxeVideoCaptureControlSymbian->snapshot(), QPixmap()); - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->record(); - QTest::qWait(1000); - mCxeVideoCaptureControlSymbian->stop(); - // snapshot is not created with dummycamera. - // snapshot should still be null - QCOMPARE(mCxeVideoCaptureControlSymbian->snapshot(), QPixmap()); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testHandleSnapshotReady() -{ - CX_DEBUG_ENTER_FUNCTION(); - QImage snapshot; - - QSignalSpy spy(mCxeVideoCaptureControlSymbian, SIGNAL(snapshotReady(CxeError::Id, const QImage&, const QString&))); - mCxeVideoCaptureControlSymbian->deinit(); - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->handleSnapshotReady(CxeError::OutOfMemory, snapshot); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Ready); - - // check that we receive this signal once the snapshot is ready - QVERIFY(CxeTestUtils::waitForSignal(spy, 1000)); - - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->handleSnapshotReady(CxeError::None, snapshot); - QVERIFY(CxeTestUtils::waitForSignal(spy, 1000)); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testInit() -{ - CX_DEBUG_ENTER_FUNCTION(); - - mCxeVideoCaptureControlSymbian->deinit(); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Idle); - mCxeVideoCaptureControlSymbian->init(); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(),CxeVideoCaptureControl::Ready); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testDeinit() -{ - CX_DEBUG_ENTER_FUNCTION(); - - mCxeVideoCaptureControlSymbian->init(); - - QCOMPARE(mCxeVideoCaptureControlSymbian->state(),CxeVideoCaptureControl::Ready); - mCxeVideoCaptureControlSymbian->deinit(); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(),CxeVideoCaptureControl::Idle); - - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testHandleSoundPlayed() -{ - CX_DEBUG_ENTER_FUNCTION(); - - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->handleSoundPlayed(); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Ready); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testMvruoOpenComplete() -{ - CX_DEBUG_ENTER_FUNCTION(); - - doPrepareStuff(); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Ready); - mCxeVideoCaptureControlSymbian->MvruoOpenComplete(CxeError::NotSupported); - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->MvruoOpenComplete(CxeError::None); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Ready); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testMvruoPrepareComplete() -{ - CX_DEBUG_ENTER_FUNCTION(); - - // since we can't go to preparing state using fake classes - // and current implementation of CxeVideoCaptureControlSymbian - // we just check that it doesn't crash, or change the state - // unnecessarily. - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->MvruoPrepareComplete(-5); - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->MvruoPrepareComplete(0); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Ready); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testMvruoRecordComplete() -{ - CX_DEBUG_ENTER_FUNCTION(); - - mCxeVideoCaptureControlSymbian->MvruoRecordComplete(-5); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Idle); - doPrepareStuff(); - mCxeVideoCaptureControlSymbian->MvruoRecordComplete(0); - QCOMPARE(mCxeVideoCaptureControlSymbian->state(), CxeVideoCaptureControl::Ready); - - CX_DEBUG_EXIT_FUNCTION(); -} - -void UnitTestCxeVideoCaptureControlSymbian::testMvruoEvent() -{ - CX_DEBUG_ENTER_FUNCTION(); - - QSignalSpy spy(mCxeVideoCaptureControlSymbian, SIGNAL(videoComposed(CxeError::Id, const QString&))); - - const TUid KCamCControllerCCVideoRecordStopped = {0x2000E546}; - const TUid KCamCControllerCCVideoFileComposed = {0x2000E547}; - - TMMFEvent event; - event.iEventType.iUid = KCamCControllerCCVideoRecordStopped.iUid; - mCxeVideoCaptureControlSymbian->MvruoEvent(event); - event.iEventType.iUid = KCamCControllerCCVideoFileComposed.iUid; - mCxeVideoCaptureControlSymbian->MvruoEvent(event); - QVERIFY(CxeTestUtils::waitForSignal(spy, 1000)); - - CX_DEBUG_EXIT_FUNCTION(); -} - - -void UnitTestCxeVideoCaptureControlSymbian::doPrepareStuff() -{ - CX_DEBUG_ENTER_FUNCTION(); - - mCxeVideoCaptureControlSymbian->init(); - CX_DEBUG((("QTest::qWait(100)"))); - QTest::qWait(100); - - CX_DEBUG_EXIT_FUNCTION(); -} - - -// main() function non-GUI testing -QTEST_MAIN(UnitTestCxeVideoCaptureControlSymbian); - -// end of file -