summaryrefslogtreecommitdiff
path: root/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp')
-rw-r--r--tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
index 082e81b34..3deb534eb 100644
--- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
+++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
@@ -77,6 +77,7 @@ private slots:
void surfaceTest_data();
void surfaceTest();
void metadata();
+ void playerStateAtEOS();
private:
QMediaContent selectVideoFile(const QStringList& mediaCandidates);
@@ -1412,6 +1413,28 @@ void tst_QMediaPlayerBackend::metadata()
QVERIFY(player.availableMetaData().isEmpty());
}
+void tst_QMediaPlayerBackend::playerStateAtEOS()
+{
+ if (!isWavSupported())
+ QSKIP("Sound format is not supported");
+
+ QMediaPlayer player;
+
+ bool endOfMediaReceived = false;
+ connect(&player, &QMediaPlayer::mediaStatusChanged, [&](QMediaPlayer::MediaStatus status) {
+ if (status == QMediaPlayer::EndOfMedia) {
+ QCOMPARE(player.state(), QMediaPlayer::StoppedState);
+ endOfMediaReceived = true;
+ }
+ });
+
+ player.setMedia(localWavFile);
+ player.play();
+
+ QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::EndOfMedia);
+ QVERIFY(endOfMediaReceived);
+}
+
TestVideoSurface::TestVideoSurface(bool storeFrames):
m_totalFrames(0),
m_storeFrames(storeFrames)