summaryrefslogtreecommitdiffstats
path: root/tests/auto/unit
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/unit')
-rw-r--r--tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp32
-rw-r--r--tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h13
2 files changed, 41 insertions, 4 deletions
diff --git a/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp b/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp
index b26164d0c..aad7b873d 100644
--- a/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp
+++ b/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp
@@ -307,26 +307,50 @@ void tst_QMediaRecorder::testSink()
void tst_QMediaRecorder::testRecord()
{
QSignalSpy stateSignal(capture,SIGNAL(stateChanged(QMediaRecorder::State)));
+ QSignalSpy statusSignal(capture,SIGNAL(statusChanged(QMediaRecorder::Status)));
QSignalSpy progressSignal(capture, SIGNAL(durationChanged(qint64)));
capture->record();
QCOMPARE(capture->state(), QMediaRecorder::RecordingState);
QCOMPARE(capture->error(), QMediaRecorder::NoError);
QCOMPARE(capture->errorString(), QString());
- QTestEventLoop::instance().enterLoop(1);
+
QCOMPARE(stateSignal.count(), 1);
QCOMPARE(stateSignal.last()[0].value<QMediaRecorder::State>(), QMediaRecorder::RecordingState);
+
+ QTestEventLoop::instance().enterLoop(1);
+
+ QCOMPARE(capture->status(), QMediaRecorder::RecordingStatus);
+ QVERIFY(!statusSignal.isEmpty());
+ QCOMPARE(statusSignal.last()[0].value<QMediaRecorder::Status>(), QMediaRecorder::RecordingStatus);
+ statusSignal.clear();
+
QVERIFY(progressSignal.count() > 0);
+
capture->pause();
+
QCOMPARE(capture->state(), QMediaRecorder::PausedState);
- QTestEventLoop::instance().enterLoop(1);
+
QCOMPARE(stateSignal.count(), 2);
+
+ QTestEventLoop::instance().enterLoop(1);
+ QCOMPARE(capture->status(), QMediaRecorder::PausedStatus);
+ QVERIFY(!statusSignal.isEmpty());
+ QCOMPARE(statusSignal.last()[0].value<QMediaRecorder::Status>(), QMediaRecorder::PausedStatus);
+ statusSignal.clear();
+
capture->stop();
+
QCOMPARE(capture->state(), QMediaRecorder::StoppedState);
- QTestEventLoop::instance().enterLoop(1);
QCOMPARE(stateSignal.count(), 3);
+
+ QTestEventLoop::instance().enterLoop(1);
+ QCOMPARE(capture->status(), QMediaRecorder::LoadedStatus);
+ QVERIFY(!statusSignal.isEmpty());
+ QCOMPARE(statusSignal.last()[0].value<QMediaRecorder::Status>(), QMediaRecorder::LoadedStatus);
+ statusSignal.clear();
+
mock->stop();
QCOMPARE(stateSignal.count(), 3);
-
}
void tst_QMediaRecorder::testMute()
diff --git a/tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h b/tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h
index 3f622fe61..68723a714 100644
--- a/tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h
+++ b/tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h
@@ -54,6 +54,7 @@ public:
MockMediaRecorderControl(QObject *parent = 0):
QMediaRecorderControl(parent),
m_state(QMediaRecorder::StoppedState),
+ m_status(QMediaRecorder::LoadedStatus),
m_position(0),
m_muted(false),
m_settingAppliedCount(0)
@@ -76,6 +77,11 @@ public:
return m_state;
}
+ QMediaRecorder::Status status() const
+ {
+ return m_status;
+ }
+
qint64 duration() const
{
return m_position;
@@ -97,8 +103,10 @@ public slots:
void record()
{
m_state = QMediaRecorder::RecordingState;
+ m_status = QMediaRecorder::RecordingStatus;
m_position=1;
emit stateChanged(m_state);
+ emit statusChanged(m_status);
emit durationChanged(m_position);
QUrl actualLocation = m_sink.isEmpty() ? QUrl::fromLocalFile("default_name.mp4") : m_sink;
@@ -108,14 +116,18 @@ public slots:
void pause()
{
m_state = QMediaRecorder::PausedState;
+ m_status = QMediaRecorder::PausedStatus;
emit stateChanged(m_state);
+ emit statusChanged(m_status);
}
void stop()
{
m_position=0;
m_state = QMediaRecorder::StoppedState;
+ m_status = QMediaRecorder::LoadedStatus;
emit stateChanged(m_state);
+ emit statusChanged(m_status);
}
void setMuted(bool muted)
@@ -127,6 +139,7 @@ public slots:
public:
QUrl m_sink;
QMediaRecorder::State m_state;
+ QMediaRecorder::Status m_status;
qint64 m_position;
bool m_muted;
int m_settingAppliedCount;