blob: 6c31a4b668a9c670192fe3dc1e1cea8bfade4439 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtTest/QtTest>
#include <QDebug>
#include <private/qplatformcamera_p.h>
#include <private/qplatformimagecapture_p.h>
#include <qmediacapturesession.h>
#include <qcamera.h>
#include <qimagecapture.h>
#include <qgraphicsvideoitem.h>
#include <qobject.h>
#include <qvideowidget.h>
#include <qvideosink.h>
#include "qmockmediacapturesession.h"
#include "qmockintegration.h"
QT_USE_NAMESPACE
Q_ENABLE_MOCK_MULTIMEDIA_PLUGIN
class tst_QCameraWidgets: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
private slots:
void testCameraEncodingProperyChange();
void testSetVideoOutput();
};
void tst_QCameraWidgets::initTestCase()
{
}
void tst_QCameraWidgets::cleanupTestCase()
{
}
void tst_QCameraWidgets::testCameraEncodingProperyChange()
{
QMediaCaptureSession session;
QCamera camera;
QImageCapture imageCapture;
session.setCamera(&camera);
session.setImageCapture(&imageCapture);
QSignalSpy activeChangedSignal(&camera, &QCamera::activeChanged);
camera.start();
QCOMPARE(camera.isActive(), true);
QCOMPARE(activeChangedSignal.size(), 1);
}
void tst_QCameraWidgets::testSetVideoOutput()
{
QVideoWidget widget;
QGraphicsVideoItem item;
QVideoSink surface;
QMediaCaptureSession session;
session.setVideoOutput(&widget);
QVERIFY(session.videoSink() == widget.videoSink());
QVERIFY(session.videoOutput() == &widget);
session.setVideoOutput(&item);
QVERIFY(session.videoSink() == item.videoSink());
QVERIFY(session.videoOutput() == &item);
session.setVideoOutput(nullptr);
QVERIFY(session.videoSink() == nullptr);
QVERIFY(session.videoOutput() == nullptr);
session.setVideoOutput(&widget);
QVERIFY(session.videoSink() == widget.videoSink());
QVERIFY(session.videoOutput() == &widget);
session.setVideoOutput(nullptr);
QVERIFY(session.videoOutput() == nullptr);
session.setVideoOutput(&surface);
QVERIFY(session.videoSink() == &surface);
QVERIFY(session.videoOutput() == &surface);
session.setVideoSink(nullptr);
QVERIFY(session.videoSink() == nullptr);
QVERIFY(session.videoOutput() == nullptr);
session.setVideoOutput(&surface);
QVERIFY(session.videoSink() == &surface);
QVERIFY(session.videoOutput() == &surface);
session.setVideoSink(&surface);
QVERIFY(session.videoSink() == &surface);
QVERIFY(session.videoOutput() == nullptr);
session.setVideoOutput(&widget);
QVERIFY(session.videoSink() == widget.videoSink());
QVERIFY(session.videoOutput() == &widget);
session.setVideoOutput(&surface);
QVERIFY(session.videoOutput() == &surface);
}
QTEST_MAIN(tst_QCameraWidgets)
#include "tst_qcamerawidgets.moc"
|