summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-05-17 14:13:54 +0200
committerLars Knoll <lars.knoll@qt.io>2021-05-18 08:44:27 +0000
commitd78a921256b50399cead644d69d2a06d43ef3e5c (patch)
tree9e50e522fd048f4fffff9e6669e090b640819f4d /tests
parentac2f3c0ef78e8374dea63b658959a8a6db890bca (diff)
Merge the QCameraFocus API into QCamera
After API review, we decided that one large API in QCamera is easier than having separate sub-objects that are only trying to structure the API. Change-Id: I5f820a580db1ddb3f47e11b88ca86215997f96ce Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/unit/mockbackend/qmockcamerafocus.h18
-rw-r--r--tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp138
2 files changed, 64 insertions, 92 deletions
diff --git a/tests/auto/unit/mockbackend/qmockcamerafocus.h b/tests/auto/unit/mockbackend/qmockcamerafocus.h
index ad43217ae..c1276fbad 100644
--- a/tests/auto/unit/mockbackend/qmockcamerafocus.h
+++ b/tests/auto/unit/mockbackend/qmockcamerafocus.h
@@ -30,35 +30,33 @@
#define MOCKCAMERAFOCUSCONTROL_H
#include "private/qplatformcamerafocus_p.h"
-#include "qcamerafocus.h"
+#include "qcamera.h"
class QMockCameraFocus : public QPlatformCameraFocus
{
Q_OBJECT
public:
QMockCameraFocus(QObject *parent = 0):
- QPlatformCameraFocus(parent),
- m_focusMode(QCameraFocus::AutoFocus),
- m_focusPoint(0.5, 0.5)
+ QPlatformCameraFocus(parent)
{
}
~QMockCameraFocus() {}
- QCameraFocus::FocusMode focusMode() const
+ QCamera::FocusMode focusMode() const
{
return m_focusMode;
}
- void setFocusMode(QCameraFocus::FocusMode mode)
+ void setFocusMode(QCamera::FocusMode mode)
{
if (isFocusModeSupported(mode))
m_focusMode = mode;
}
- bool isFocusModeSupported(QCameraFocus::FocusMode mode) const
+ bool isFocusModeSupported(QCamera::FocusMode mode) const
{
- return mode == QCameraFocus::FocusModeAuto;
+ return mode == QCamera::FocusModeAuto;
}
QPointF focusPoint() const
@@ -86,8 +84,8 @@ public:
}
private:
- QCameraFocus::FocusMode m_focusMode;
- QPointF m_focusPoint;
+ QCamera::FocusMode m_focusMode = QCamera::FocusModeAuto;
+ QPointF m_focusPoint{.5, .5};
float m_zoom = 1.;
float m_maxZoom = 4.;
diff --git a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
index 08cb621bc..d897eebfc 100644
--- a/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
+++ b/tests/auto/unit/multimedia/qcamera/tst_qcamera.cpp
@@ -83,8 +83,7 @@ private slots:
void testStatus();
- // Test cases to for QCameraFocus
- void testCameraFocusIsAvailable();
+ // Test cases to for focus handling
void testFocusMode();
void testZoomChanged();
void testMaxZoomChangedSignal();
@@ -204,26 +203,23 @@ void tst_QCamera::testSimpleCameraFocus()
QCamera camera;
- QCameraFocus *cameraFocus = camera.focus();
- QVERIFY(cameraFocus != nullptr);
+ QVERIFY(!camera.isFocusModeSupported(QCamera::FocusModeAuto));
+ QVERIFY(!camera.isFocusModeSupported(QCamera::FocusModeInfinity));
- QVERIFY(!cameraFocus->isFocusModeSupported(QCameraFocus::FocusModeAuto));
- QVERIFY(!cameraFocus->isFocusModeSupported(QCameraFocus::FocusModeInfinity));
+ QCOMPARE(camera.focusMode(), QCamera::FocusModeAuto);
+ camera.setFocusMode(QCamera::FocusModeAuto);
+ QCOMPARE(camera.focusMode(), QCamera::FocusModeAuto);
- QCOMPARE(cameraFocus->focusMode(), QCameraFocus::AutoFocus);
- cameraFocus->setFocusMode(QCameraFocus::FocusModeAuto);
- QCOMPARE(cameraFocus->focusMode(), QCameraFocus::AutoFocus);
+ QCOMPARE(camera.maximumZoomFactor(), 1.0);
+ QCOMPARE(camera.minimumZoomFactor(), 1.0);
+ QCOMPARE(camera.zoomFactor(), 1.0);
- QCOMPARE(cameraFocus->maximumZoomFactor(), 1.0);
- QCOMPARE(cameraFocus->minimumZoomFactor(), 1.0);
- QCOMPARE(cameraFocus->zoomFactor(), 1.0);
+ camera.zoomTo(100.0, 100.0);
+ QCOMPARE(camera.zoomFactor(), 1.0);
- cameraFocus->zoomTo(100.0, 100.0);
- QCOMPARE(cameraFocus->zoomFactor(), 1.0);
-
- QCOMPARE(cameraFocus->customFocusPoint(), QPointF(-1., -1.));
- cameraFocus->setCustomFocusPoint(QPointF(1.0, 1.0));
- QCOMPARE(cameraFocus->customFocusPoint(), QPointF(-1, -1));
+ QCOMPARE(camera.customFocusPoint(), QPointF(-1., -1.));
+ camera.setCustomFocusPoint(QPointF(1.0, 1.0));
+ QCOMPARE(camera.customFocusPoint(), QPointF(-1, -1));
}
void tst_QCamera::testSimpleCameraCapture()
@@ -465,34 +461,31 @@ void tst_QCamera::testCameraFocus()
{
QCamera camera;
- QCameraFocus *cameraFocus = camera.focus();
- QVERIFY(cameraFocus != nullptr);
-
- QVERIFY(cameraFocus->isFocusModeSupported(QCameraFocus::AutoFocus));
- QVERIFY(cameraFocus->isFocusModeSupported(QCameraFocus::FocusModeAuto));
- QVERIFY(!cameraFocus->isFocusModeSupported(QCameraFocus::InfinityFocus));
-
- QCOMPARE(cameraFocus->focusMode(), QCameraFocus::AutoFocus);
- cameraFocus->setFocusMode(QCameraFocus::ManualFocus);
- QCOMPARE(cameraFocus->focusMode(), QCameraFocus::AutoFocus);
- cameraFocus->setFocusMode(QCameraFocus::FocusModeAuto);
- QCOMPARE(cameraFocus->focusMode(), QCameraFocus::FocusModeAuto);
-
- QVERIFY(cameraFocus->maximumZoomFactor() == 4.0);
- QVERIFY(cameraFocus->minimumZoomFactor() == 1.0);
- QCOMPARE(cameraFocus->zoomFactor(), 1.0);
- cameraFocus->zoomTo(0.5, 1.0);
- QCOMPARE(cameraFocus->zoomFactor(), 1.0);
- cameraFocus->zoomTo(2.0, 0.5);
- QCOMPARE(cameraFocus->zoomFactor(), 2.0);
- cameraFocus->zoomTo(2.5, 1);
- QCOMPARE(cameraFocus->zoomFactor(), 2.5);
- cameraFocus->zoomTo(2000000.0, 0);
- QCOMPARE(cameraFocus->zoomFactor(), cameraFocus->maximumZoomFactor());
-
- QCOMPARE(cameraFocus->customFocusPoint(), QPointF(-1, -1));
- cameraFocus->setCustomFocusPoint(QPointF(1.0, 1.0));
- QCOMPARE(cameraFocus->customFocusPoint(), QPointF(1.0, 1.0));
+ QVERIFY(camera.isFocusModeSupported(QCamera::FocusModeAuto));
+ QVERIFY(camera.isFocusModeSupported(QCamera::FocusModeAuto));
+ QVERIFY(!camera.isFocusModeSupported(QCamera::FocusModeInfinity));
+
+ QCOMPARE(camera.focusMode(), QCamera::FocusModeAuto);
+ camera.setFocusMode(QCamera::FocusModeManual);
+ QCOMPARE(camera.focusMode(), QCamera::FocusModeAuto);
+ camera.setFocusMode(QCamera::FocusModeAuto);
+ QCOMPARE(camera.focusMode(), QCamera::FocusModeAuto);
+
+ QVERIFY(camera.maximumZoomFactor() == 4.0);
+ QVERIFY(camera.minimumZoomFactor() == 1.0);
+ QCOMPARE(camera.zoomFactor(), 1.0);
+ camera.zoomTo(0.5, 1.0);
+ QCOMPARE(camera.zoomFactor(), 1.0);
+ camera.zoomTo(2.0, 0.5);
+ QCOMPARE(camera.zoomFactor(), 2.0);
+ camera.zoomTo(2.5, 1);
+ QCOMPARE(camera.zoomFactor(), 2.5);
+ camera.zoomTo(2000000.0, 0);
+ QCOMPARE(camera.zoomFactor(), camera.maximumZoomFactor());
+
+ QCOMPARE(camera.customFocusPoint(), QPointF(-1, -1));
+ camera.setCustomFocusPoint(QPointF(1.0, 1.0));
+ QCOMPARE(camera.customFocusPoint(), QPointF(1.0, 1.0));
}
void tst_QCamera::testImageSettings()
@@ -896,37 +889,23 @@ void tst_QCamera::testSaturation()
QCOMPARE(cameraImageProcessing->saturation(), -0.5);
}
-//Added test cases for QCameraFocus
-void tst_QCamera::testCameraFocusIsAvailable()
-{
- QMediaCaptureSession session;
- QCamera camera;
- session.setCamera(&camera);
-
- QCameraFocus *cameraFocus = camera.focus();
- QVERIFY(cameraFocus != nullptr);
- QVERIFY(cameraFocus->isAvailable());
-}
-
-//Added this code to cover QCameraFocus::HyperfocalFocus and QCameraFocus::MacroFocus
-//As the HyperfocalFocus and MacroFocus are not supported we can not set the focus mode to these Focus Modes
+//Added this code to cover QCamera::FocusModeHyperfocal and QCamera::FocusModeAutoNear
+//As the FocusModeHyperfocal and FocusModeAutoNear are not supported we can not set the focus mode to these Focus Modes
void tst_QCamera::testFocusMode()
{
QMediaCaptureSession session;
QCamera camera;
session.setCamera(&camera);
- QCameraFocus *cameraFocus = camera.focus();
- QVERIFY(cameraFocus != nullptr);
- QVERIFY(!cameraFocus->isFocusModeSupported(QCameraFocus::HyperfocalFocus));
- QVERIFY(!cameraFocus->isFocusModeSupported(QCameraFocus::MacroFocus));
- QCOMPARE(cameraFocus->focusMode(), QCameraFocus::AutoFocus);
- cameraFocus->setFocusMode(QCameraFocus::HyperfocalFocus);
- QVERIFY(cameraFocus->focusMode()!= QCameraFocus::HyperfocalFocus);
- QCOMPARE(cameraFocus->focusMode(), QCameraFocus::AutoFocus);
- cameraFocus->setFocusMode(QCameraFocus::MacroFocus);
- QVERIFY(cameraFocus->focusMode()!= QCameraFocus::MacroFocus);
- QCOMPARE(cameraFocus->focusMode(), QCameraFocus::AutoFocus);
+ QVERIFY(!camera.isFocusModeSupported(QCamera::FocusModeHyperfocal));
+ QVERIFY(!camera.isFocusModeSupported(QCamera::FocusModeAutoNear));
+ QCOMPARE(camera.focusMode(), QCamera::FocusModeAuto);
+ camera.setFocusMode(QCamera::FocusModeHyperfocal);
+ QVERIFY(camera.focusMode()!= QCamera::FocusModeHyperfocal);
+ QCOMPARE(camera.focusMode(), QCamera::FocusModeAuto);
+ camera.setFocusMode(QCamera::FocusModeAutoNear);
+ QVERIFY(camera.focusMode()!= QCamera::FocusModeAutoNear);
+ QCOMPARE(camera.focusMode(), QCamera::FocusModeAuto);
}
void tst_QCamera::testZoomChanged()
@@ -935,15 +914,13 @@ void tst_QCamera::testZoomChanged()
QCamera camera;
session.setCamera(&camera);
- QCameraFocus *cameraFocus = camera.focus();
- QVERIFY(cameraFocus != nullptr);
- QSignalSpy spy(cameraFocus,SIGNAL(zoomFactorChanged(float)));
+ QSignalSpy spy(&camera, SIGNAL(zoomFactorChanged(float)));
QVERIFY(spy.count() == 0);
- cameraFocus->setZoomFactor(2.0);
+ camera.setZoomFactor(2.0);
QVERIFY(spy.count() == 1);
- cameraFocus->zoomTo(3.0, 1);
+ camera.zoomTo(3.0, 1);
QVERIFY(spy.count() == 2);
- cameraFocus->zoomTo(1.0, 0);
+ camera.zoomTo(1.0, 0);
QVERIFY(spy.count() == 3);
}
@@ -955,14 +932,11 @@ void tst_QCamera::testMaxZoomChangedSignal()
QMockCamera *mock = integration.lastCamera();
QMockCameraFocus *mockFocus = mock->mockFocus;
- QCameraFocus *cameraFocus = camera.focus();
- QVERIFY(cameraFocus != nullptr);
-
// ### change max zoom factor on backend, e.g. by changing camera
- QSignalSpy spy(cameraFocus,SIGNAL(maximumZoomFactorChanged(float)));
+ QSignalSpy spy(&camera, SIGNAL(maximumZoomFactorChanged(float)));
mockFocus->setMaxZoomFactor(55);
QVERIFY(spy.count() == 1);
- QCOMPARE(camera.focus()->maximumZoomFactor(), 55);
+ QCOMPARE(camera.maximumZoomFactor(), 55);
}
void tst_QCamera::testSignalApertureChanged()