diff options
Diffstat (limited to 'tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp')
-rw-r--r-- | tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index 8d1ce0d55..9aad6dd80 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -541,6 +541,32 @@ void tst_QMediaPlayerBackend::processEOS() QCOMPARE(stateSpy.count(), 0); QTRY_VERIFY(statusSpy.count() > 0 && statusSpy.last()[0].value<QMediaPlayer::MediaStatus>() == QMediaPlayer::LoadedMedia); + + player.play(); + player.setPosition(900); + //wait up to 5 seconds for EOS + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::EndOfMedia); + QCOMPARE(player.state(), QMediaPlayer::StoppedState); + QCOMPARE(player.position(), player.duration()); + + stateSpy.clear(); + statusSpy.clear(); + positionSpy.clear(); + + // pause() should reset position to beginning and status to Buffered + player.pause(); + + QTRY_COMPARE(player.position(), 0); + QTRY_VERIFY(positionSpy.count() > 0); + QCOMPARE(positionSpy.first()[0].value<qint64>(), 0); + + QCOMPARE(player.state(), QMediaPlayer::PausedState); + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::BufferedMedia); + + QCOMPARE(stateSpy.count(), 1); + QCOMPARE(stateSpy.last()[0].value<QMediaPlayer::State>(), QMediaPlayer::PausedState); + QVERIFY(statusSpy.count() > 0); + QCOMPARE(statusSpy.last()[0].value<QMediaPlayer::MediaStatus>(), QMediaPlayer::BufferedMedia); } // Helper class for tst_QMediaPlayerBackend::deleteLaterAtEOS() |