diff --git a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp index 5035cb6b16758b0689a1d5be2cc7775205cc36ba..b568f38fc813d2b8dc19eb26dedb3c0de2009bf3 100644 --- a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp +++ b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp @@ -76,6 +76,7 @@ private slots: void testCtorWithPosition(); void testCameraStates(); + void testCameraStartError(); void testCaptureMode(); void testCameraCapture(); void testCaptureToBuffer(); @@ -251,6 +252,27 @@ void tst_QCameraBackend::testCameraStates() QCOMPARE(errorSignal.count(), 0); } +void tst_QCameraBackend::testCameraStartError() +{ + QCamera camera1(QCameraInfo::defaultCamera()); + QCamera camera2(QCameraInfo::defaultCamera()); + QSignalSpy errorSpy1(&camera1, QOverload<QCamera::Error>::of(&QCamera::error)); + QSignalSpy errorSpy2(&camera2, QOverload<QCamera::Error>::of(&QCamera::error)); + + camera1.start(); + camera2.start(); + + QCOMPARE(camera1.state(), QCamera::ActiveState); + QTRY_COMPARE(camera1.status(), QCamera::ActiveStatus); + QCOMPARE(camera1.error(), QCamera::NoError); + QCOMPARE(camera2.state(), QCamera::UnloadedState); + QCOMPARE(camera2.status(), QCamera::UnloadedStatus); + QCOMPARE(camera2.error(), QCamera::CameraError); + + QCOMPARE(errorSpy1.count(), 0); + QCOMPARE(errorSpy2.count(), 1); +} + void tst_QCameraBackend::testCaptureMode() { QCamera camera;