summaryrefslogtreecommitdiffstats
path: root/tests/auto/integration
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/integration')
-rw-r--r--tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp
index 5035cb6b1..b568f38fc 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;