From 4736c9b04c9692a20fac520214d8076b4574ef71 Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Fri, 5 Aug 2016 14:52:39 +0200 Subject: Improve tst_QMediaPlayerBackend::processEOS() When at the end of the media, check that pause() resets the position to the beginning and that the status changes to BufferedMedia. Change-Id: I3c7aeb98284de8cbeb12195fbf0a308e593af67b Reviewed-by: Eirik Aavitsland Reviewed-by: Christian Stromme --- .../tst_qmediaplayerbackend.cpp | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) 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::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(), 0); + + QCOMPARE(player.state(), QMediaPlayer::PausedState); + QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::BufferedMedia); + + QCOMPARE(stateSpy.count(), 1); + QCOMPARE(stateSpy.last()[0].value(), QMediaPlayer::PausedState); + QVERIFY(statusSpy.count() > 0); + QCOMPARE(statusSpy.last()[0].value(), QMediaPlayer::BufferedMedia); } // Helper class for tst_QMediaPlayerBackend::deleteLaterAtEOS() -- cgit v1.2.3