diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp | 21 | ||||
-rw-r--r-- | tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h | 13 |
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp b/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp index 1f433e6ab..49f7d57a5 100644 --- a/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp +++ b/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp @@ -76,6 +76,7 @@ private slots: void testSink(); void testRecord(); void testMute(); + void testVolume(); void testAudioDeviceControl(); void testAudioEncodeControl(); void testMediaFormatsControl(); @@ -373,6 +374,26 @@ void tst_QMediaRecorder::testMute() QCOMPARE(mutedChanged.size(), 2); } +void tst_QMediaRecorder::testVolume() +{ + QSignalSpy volumeChanged(capture, SIGNAL(volumeChanged(qreal))); + QCOMPARE(capture->volume(), 1.0); + capture->setVolume(2.0); + + QCOMPARE(volumeChanged.size(), 1); + QCOMPARE(volumeChanged[0][0].toReal(), 2.0); + QCOMPARE(capture->volume(), 2.0); + + capture->setVolume(1.0); + + QCOMPARE(volumeChanged.size(), 2); + QCOMPARE(volumeChanged[1][0].toReal(), 1.0); + QCOMPARE(capture->volume(), 1.0); + + capture->setVolume(1.0); + QCOMPARE(volumeChanged.size(), 2); +} + void tst_QMediaRecorder::testAudioDeviceControl() { QSignalSpy readSignal(audio,SIGNAL(activeEndpointChanged(QString))); diff --git a/tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h b/tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h index 00f7b2f87..a206586b7 100644 --- a/tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h +++ b/tests/auto/unit/qmultimedia_common/mockmediarecordercontrol.h @@ -57,6 +57,7 @@ public: m_status(QMediaRecorder::LoadedStatus), m_position(0), m_muted(false), + m_volume(1.0), m_settingAppliedCount(0) { } @@ -92,6 +93,11 @@ public: return m_muted; } + qreal volume() const + { + return m_volume; + } + void applySettings() { m_settingAppliedCount++; @@ -152,12 +158,19 @@ public slots: emit mutedChanged(m_muted = muted); } + void setVolume(qreal volume) + { + if (!qFuzzyCompare(m_volume, volume)) + emit volumeChanged(m_volume = volume); + } + public: QUrl m_sink; QMediaRecorder::State m_state; QMediaRecorder::Status m_status; qint64 m_position; bool m_muted; + qreal m_volume; int m_settingAppliedCount; }; |