summaryrefslogtreecommitdiffstats
path: root/tests/auto/integration
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/integration')
-rw-r--r--tests/auto/integration/qaudiodecoderbackend/BLACKLIST2
-rw-r--r--tests/auto/integration/qmediaplayerbackend/BLACKLIST15
-rw-r--r--tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp156
-rw-r--r--tests/auto/integration/qsoundeffect/BLACKLIST3
4 files changed, 160 insertions, 16 deletions
diff --git a/tests/auto/integration/qaudiodecoderbackend/BLACKLIST b/tests/auto/integration/qaudiodecoderbackend/BLACKLIST
new file mode 100644
index 000000000..316c5a083
--- /dev/null
+++ b/tests/auto/integration/qaudiodecoderbackend/BLACKLIST
@@ -0,0 +1,2 @@
+# QTBUG-56796
+windows
diff --git a/tests/auto/integration/qmediaplayerbackend/BLACKLIST b/tests/auto/integration/qmediaplayerbackend/BLACKLIST
index 43b8e8b26..837032759 100644
--- a/tests/auto/integration/qmediaplayerbackend/BLACKLIST
+++ b/tests/auto/integration/qmediaplayerbackend/BLACKLIST
@@ -7,19 +7,16 @@ osx-10.11
windows 32bit developer-build
windows 64bit developer-build
-[construction]
+# Media player plugin not built at the moment on this platform
opensuse-13.1 64bit
[loadMedia]
-opensuse-13.1 64bit
windows 64bit developer-build
[unloadMedia]
-opensuse-13.1 64bit
windows 64bit developer-build
[playPauseStop]
-opensuse-13.1 64bit
redhatenterpriselinuxworkstation-6.6
rhel-7.1
ubuntu-14.04 64bit
@@ -28,25 +25,15 @@ windows 64bit developer-build
rhel-7.2
[processEOS]
-opensuse-13.1 64bit
windows 64bit developer-build
[deleteLaterAtEOS]
-opensuse-13.1 64bit
windows 64bit developer-build
-[volumeAndMuted]
-opensuse-13.1 64bit
-
-[volumeAcrossFiles]
-opensuse-13.1 64bit
-
[initialVolume]
-opensuse-13.1 64bit
windows 64bit developer-build
[playlist]
-opensuse-13.1 64bit
redhatenterpriselinuxworkstation-6.6
[seekPauseSeek]
diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
index 1f1df9aac..e60ea2cd7 100644
--- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
+++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
@@ -71,6 +71,7 @@ private slots:
void subsequentPlayback();
void probes();
void playlist();
+ void playlistObject();
void surfaceTest_data();
void surfaceTest();
void metadata();
@@ -993,6 +994,7 @@ void tst_QMediaPlayerBackend::playlist()
QSignalSpy mediaSpy(&player, SIGNAL(mediaChanged(QMediaContent)));
QSignalSpy currentMediaSpy(&player, SIGNAL(currentMediaChanged(QMediaContent)));
QSignalSpy stateSpy(&player, SIGNAL(stateChanged(QMediaPlayer::State)));
+ QSignalSpy mediaStatusSpy(&player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
QSignalSpy errorSpy(&player, SIGNAL(error(QMediaPlayer::Error)));
QFileInfo fileInfo(QFINDTESTDATA("testdata/sample.m3u"));
@@ -1001,8 +1003,8 @@ void tst_QMediaPlayerBackend::playlist()
player.play();
QTRY_COMPARE_WITH_TIMEOUT(player.state(), QMediaPlayer::StoppedState, 10000);
- if (player.mediaStatus() == QMediaPlayer::InvalidMedia)
- QSKIP("Media player does not support M3U playlists");
+ if (player.mediaStatus() == QMediaPlayer::InvalidMedia || mediaSpy.count() == 1)
+ QSKIP("QMediaPlayer does not support loading M3U playlists as QMediaPlaylist");
QCOMPARE(mediaSpy.count(), 2);
// sample.m3u -> sample.m3u resolved -> test.wav ->
@@ -1015,10 +1017,12 @@ void tst_QMediaPlayerBackend::playlist()
QCOMPARE(currentMediaSpy.count(), 11);
QCOMPARE(stateSpy.count(), 2);
QCOMPARE(errorSpy.count(), 0);
+ QCOMPARE(mediaStatusSpy.count(), 19); // 6 x (LoadingMedia -> BufferedMedia -> EndOfMedia) + NoMedia
mediaSpy.clear();
currentMediaSpy.clear();
stateSpy.clear();
+ mediaStatusSpy.clear();
errorSpy.clear();
player.play();
@@ -1027,10 +1031,12 @@ void tst_QMediaPlayerBackend::playlist()
QCOMPARE(currentMediaSpy.count(), 8);
QCOMPARE(stateSpy.count(), 2);
QCOMPARE(errorSpy.count(), 0);
+ QCOMPARE(mediaStatusSpy.count(), 19); // 6 x (LoadingMedia -> BufferedMedia -> EndOfMedia) + NoMedia
mediaSpy.clear();
currentMediaSpy.clear();
stateSpy.clear();
+ mediaStatusSpy.clear();
errorSpy.clear();
// <<< Invalid - 1st pass >>>
@@ -1045,10 +1051,12 @@ void tst_QMediaPlayerBackend::playlist()
QCOMPARE(currentMediaSpy.count(), 4);
QCOMPARE(stateSpy.count(), 2);
QCOMPARE(errorSpy.count(), 1);
+ QCOMPARE(mediaStatusSpy.count(), 3); // LoadingMedia -> InvalidMedia -> NoMedia
mediaSpy.clear();
currentMediaSpy.clear();
stateSpy.clear();
+ mediaStatusSpy.clear();
errorSpy.clear();
// <<< Invalid - 2nd pass >>>
@@ -1060,10 +1068,12 @@ void tst_QMediaPlayerBackend::playlist()
QCOMPARE(currentMediaSpy.count(), 3);
QCOMPARE(stateSpy.count(), 2);
QCOMPARE(errorSpy.count(), 1);
+ QCOMPARE(mediaStatusSpy.count(), 3); // LoadingMedia -> InvalidMedia -> NoMedia
mediaSpy.clear();
currentMediaSpy.clear();
stateSpy.clear();
+ mediaStatusSpy.clear();
errorSpy.clear();
// <<< Invalid2 - 1st pass >>>
@@ -1078,10 +1088,12 @@ void tst_QMediaPlayerBackend::playlist()
QCOMPARE(currentMediaSpy.count(), 6);
QCOMPARE(stateSpy.count(), 2);
QCOMPARE(errorSpy.count(), 1);
+ QCOMPARE(mediaStatusSpy.count(), 9); // 3 x LoadingMedia + 2 x (BufferedMedia -> EndOfMedia) + InvalidMedia + NoMedia (not in this order)
mediaSpy.clear();
currentMediaSpy.clear();
stateSpy.clear();
+ mediaStatusSpy.clear();
errorSpy.clear();
// <<< Invalid2 - 2nd pass >>>
@@ -1093,10 +1105,12 @@ void tst_QMediaPlayerBackend::playlist()
QCOMPARE(currentMediaSpy.count(), 5);
QCOMPARE(stateSpy.count(), 2);
QCOMPARE(errorSpy.count(), 1);
+ QCOMPARE(mediaStatusSpy.count(), 9); // 3 x LoadingMedia + 2 x (BufferedMedia -> EndOfMedia) + InvalidMedia + NoMedia (not in this order)
mediaSpy.clear();
currentMediaSpy.clear();
stateSpy.clear();
+ mediaStatusSpy.clear();
errorSpy.clear();
// <<< Recursive - 1st pass >>>
@@ -1115,10 +1129,13 @@ void tst_QMediaPlayerBackend::playlist()
QCOMPARE(stateSpy.count(), 2);
// there is one invalid media in the master playlist
QCOMPARE(errorSpy.count(), 1);
+ QCOMPARE(mediaStatusSpy.count(), 6); // LoadingMedia -> InvalidMedia -> LoadingMedia -> BufferedMedia
+ // -> EndOfMedia -> NoMedia
mediaSpy.clear();
currentMediaSpy.clear();
stateSpy.clear();
+ mediaStatusSpy.clear();
errorSpy.clear();
// <<< Recursive - 2nd pass >>>
@@ -1133,6 +1150,141 @@ void tst_QMediaPlayerBackend::playlist()
QCOMPARE(stateSpy.count(), 2);
// there is one invalid media in the master playlist
QCOMPARE(errorSpy.count(), 1);
+ QCOMPARE(mediaStatusSpy.count(), 6); // LoadingMedia -> InvalidMedia -> LoadingMedia -> BufferedMedia
+ // -> EndOfMedia -> NoMedia
+}
+
+void tst_QMediaPlayerBackend::playlistObject()
+{
+ QMediaPlayer player;
+
+ QSignalSpy mediaSpy(&player, SIGNAL(mediaChanged(QMediaContent)));
+ QSignalSpy currentMediaSpy(&player, SIGNAL(currentMediaChanged(QMediaContent)));
+ QSignalSpy stateSpy(&player, SIGNAL(stateChanged(QMediaPlayer::State)));
+ QSignalSpy mediaStatusSpy(&player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
+ QSignalSpy errorSpy(&player, SIGNAL(error(QMediaPlayer::Error)));
+
+ // --- empty playlist
+ QMediaPlaylist emptyPlaylist;
+ player.setPlaylist(&emptyPlaylist);
+
+ player.play();
+ QTRY_COMPARE_WITH_TIMEOUT(player.state(), QMediaPlayer::StoppedState, 10000);
+
+ QCOMPARE(mediaSpy.count(), 1);
+ QCOMPARE(currentMediaSpy.count(), 1); // Empty media
+ QCOMPARE(stateSpy.count(), 0);
+ QCOMPARE(errorSpy.count(), 0);
+ QCOMPARE(mediaStatusSpy.count(), 0);
+
+ mediaSpy.clear();
+ currentMediaSpy.clear();
+ stateSpy.clear();
+ mediaStatusSpy.clear();
+ errorSpy.clear();
+
+ // --- Valid playlist
+ QMediaPlaylist playlist;
+ playlist.addMedia(QUrl::fromLocalFile(QFileInfo(QFINDTESTDATA("testdata/test.wav")).absoluteFilePath()));
+ playlist.addMedia(QUrl::fromLocalFile(QFileInfo(QFINDTESTDATA("testdata/_test.wav")).absoluteFilePath()));
+ player.setPlaylist(&playlist);
+
+ player.play();
+ QTRY_COMPARE_WITH_TIMEOUT(player.state(), QMediaPlayer::StoppedState, 10000);
+
+ QCOMPARE(mediaSpy.count(), 1);
+ QCOMPARE(currentMediaSpy.count(), 3); // test.wav -> _test.wav -> NoMedia
+ QCOMPARE(stateSpy.count(), 2);
+ QCOMPARE(errorSpy.count(), 0);
+ QCOMPARE(mediaStatusSpy.count(), 7); // 2 x (LoadingMedia -> BufferedMedia -> EndOfMedia) + NoMedia
+
+ mediaSpy.clear();
+ currentMediaSpy.clear();
+ stateSpy.clear();
+ mediaStatusSpy.clear();
+ errorSpy.clear();
+
+ player.play();
+ QTRY_COMPARE_WITH_TIMEOUT(player.state(), QMediaPlayer::StoppedState, 10000);
+
+ QCOMPARE(mediaSpy.count(), 0);
+ QCOMPARE(currentMediaSpy.count(), 4); // playlist -> test.wav -> _test.wav -> NoMedia
+ QCOMPARE(stateSpy.count(), 2);
+ QCOMPARE(errorSpy.count(), 0);
+ QCOMPARE(mediaStatusSpy.count(), 7); // 2 x (LoadingMedia -> BufferedMedia -> EndOfMedia) + NoMedia
+
+ player.setPlaylist(Q_NULLPTR);
+
+ mediaSpy.clear();
+ currentMediaSpy.clear();
+ stateSpy.clear();
+ mediaStatusSpy.clear();
+ errorSpy.clear();
+
+ // --- Nested playlist
+ QMediaPlaylist nestedPlaylist;
+ nestedPlaylist.addMedia(QUrl::fromLocalFile(QFileInfo(QFINDTESTDATA("testdata/_test.wav")).absoluteFilePath()));
+ nestedPlaylist.addMedia(QUrl::fromLocalFile(QFileInfo(QFINDTESTDATA("testdata/test.wav")).absoluteFilePath()));
+ nestedPlaylist.addMedia(&playlist);
+ player.setPlaylist(&nestedPlaylist);
+
+ player.play();
+ QTRY_COMPARE_WITH_TIMEOUT(player.state(), QMediaPlayer::StoppedState, 10000);
+
+ QCOMPARE(mediaSpy.count(), 1);
+ QCOMPARE(currentMediaSpy.count(), 6); // _test.wav -> test.wav -> nested playlist
+ // -> test.wav -> _test.wav -> NoMedia
+ QCOMPARE(stateSpy.count(), 2);
+ QCOMPARE(errorSpy.count(), 0);
+ QCOMPARE(mediaStatusSpy.count(), 13); // 4 x (LoadingMedia -> BufferedMedia -> EndOfMedia) + NoMedia
+
+ player.setPlaylist(Q_NULLPTR);
+
+ mediaSpy.clear();
+ currentMediaSpy.clear();
+ stateSpy.clear();
+ mediaStatusSpy.clear();
+ errorSpy.clear();
+
+ // --- playlist with invalid media
+ QMediaPlaylist invalidPlaylist;
+ invalidPlaylist.addMedia(QUrl("invalid"));
+ invalidPlaylist.addMedia(QUrl::fromLocalFile(QFileInfo(QFINDTESTDATA("testdata/test.wav")).absoluteFilePath()));
+
+ player.setPlaylist(&invalidPlaylist);
+
+ player.play();
+ QTRY_COMPARE_WITH_TIMEOUT(player.state(), QMediaPlayer::StoppedState, 10000);
+
+ QCOMPARE(mediaSpy.count(), 1);
+ QCOMPARE(currentMediaSpy.count(), 3); // invalid -> test.wav -> NoMedia
+ QCOMPARE(stateSpy.count(), 2);
+ QCOMPARE(errorSpy.count(), 1);
+ QCOMPARE(mediaStatusSpy.count(), 6); // Loading -> Invalid -> Loading -> Buffered -> EndOfMedia -> NoMedia
+
+ player.setPlaylist(Q_NULLPTR);
+
+ mediaSpy.clear();
+ currentMediaSpy.clear();
+ stateSpy.clear();
+ mediaStatusSpy.clear();
+ errorSpy.clear();
+
+ // --- playlist with only invalid media
+ QMediaPlaylist invalidPlaylist2;
+ invalidPlaylist2.addMedia(QUrl("invalid"));
+ invalidPlaylist2.addMedia(QUrl("invalid2"));
+
+ player.setPlaylist(&invalidPlaylist2);
+
+ player.play();
+ QTRY_COMPARE_WITH_TIMEOUT(player.state(), QMediaPlayer::StoppedState, 10000);
+
+ QCOMPARE(mediaSpy.count(), 1);
+ QCOMPARE(currentMediaSpy.count(), 3); // invalid -> invalid2 -> NoMedia
+ QCOMPARE(stateSpy.count(), 2);
+ QCOMPARE(errorSpy.count(), 2);
+ QCOMPARE(mediaStatusSpy.count(), 5); // Loading -> Invalid -> Loading -> Invalid -> NoMedia
}
void tst_QMediaPlayerBackend::surfaceTest_data()
diff --git a/tests/auto/integration/qsoundeffect/BLACKLIST b/tests/auto/integration/qsoundeffect/BLACKLIST
index abf85ae93..8edfcd8e9 100644
--- a/tests/auto/integration/qsoundeffect/BLACKLIST
+++ b/tests/auto/integration/qsoundeffect/BLACKLIST
@@ -1,3 +1,6 @@
#QTBUG-55735
[testSetSourceWhilePlaying]
linux
+
+[testSetSourceWhileLoading]
+linux