summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLev Zelenskiy <lev.zelenskiy@nokia.com>2012-03-09 09:53:21 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-21 05:43:27 +0100
commit2c034beab5a8d72a148c47e85e020dc64c58068f (patch)
tree069cc8427d307f4c5ee359182a55be6ba7026ee6 /tests
parent2ebea05283a2ddad831d5039a49817cefb7c7625 (diff)
QMediaPlayer frontend: changes to playlist support.
Allow to load playlists using setMedia(). Use QNetworkMediaPlaylistProvider for playlist parsing. Updated unit tests. Change-Id: If4dba07be8b2e8a9e9549d5bed58e552dfb958b7 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp85
-rw-r--r--tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp30
2 files changed, 61 insertions, 54 deletions
diff --git a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp
index f2bcdc10e..a3aedc197 100644
--- a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp
+++ b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp
@@ -227,11 +227,12 @@ void tst_QMediaPlayer::testNullService()
{
QFETCH_GLOBAL(QMediaContent, mediaContent);
- QSignalSpy spy(&player, SIGNAL(mediaChanged(QMediaContent)));
+ QSignalSpy spy(&player, SIGNAL(currentMediaChanged(QMediaContent)));
QFile file;
player.setMedia(mediaContent, &file);
- QCOMPARE(player.media(), QMediaContent());
+ QCOMPARE(player.currentMedia(), QMediaContent());
+ QCOMPARE(player.media(), mediaContent);
QCOMPARE(player.mediaStream(), nullDevice);
QCOMPARE(spy.count(), 0);
} {
@@ -297,13 +298,15 @@ void tst_QMediaPlayer::testNullService()
playlist.setCurrentIndex(0);
QCOMPARE(playlist.currentIndex(), 0);
- QCOMPARE(player.media(), QMediaContent());
+ QCOMPARE(player.currentMedia(), QMediaContent());
+ QCOMPARE(player.media().playlist(), &playlist);
QCOMPARE(mediaSpy.count(), 0);
QCOMPARE(statusSpy.count(), 0);
playlist.next();
QCOMPARE(playlist.currentIndex(), 1);
- QCOMPARE(player.media(), QMediaContent());
+ QCOMPARE(player.currentMedia(), QMediaContent());
+ QCOMPARE(player.media().playlist(), &playlist);
QCOMPARE(mediaSpy.count(), 0);
QCOMPARE(statusSpy.count(), 0);
}
@@ -324,11 +327,11 @@ void tst_QMediaPlayer::testMedia()
QFETCH_GLOBAL(QMediaContent, mediaContent);
mockService->setMedia(mediaContent);
- QCOMPARE(player->media(), mediaContent);
+ QCOMPARE(player->currentMedia(), mediaContent);
QBuffer stream;
player->setMedia(mediaContent, &stream);
- QCOMPARE(player->media(), mediaContent);
+ QCOMPARE(player->currentMedia(), mediaContent);
QCOMPARE((QBuffer*)player->mediaStream(), &stream);
}
@@ -525,7 +528,7 @@ void tst_QMediaPlayer::testPlay()
mockService->setState(state);
mockService->setMedia(mediaContent);
QVERIFY(player->state() == state);
- QVERIFY(player->media() == mediaContent);
+ QVERIFY(player->currentMedia() == mediaContent);
QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
@@ -551,7 +554,7 @@ void tst_QMediaPlayer::testPause()
mockService->setState(state);
mockService->setMedia(mediaContent);
QVERIFY(player->state() == state);
- QVERIFY(player->media() == mediaContent);
+ QVERIFY(player->currentMedia() == mediaContent);
QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
@@ -575,7 +578,7 @@ void tst_QMediaPlayer::testStop()
mockService->setState(state);
mockService->setMedia(mediaContent);
QVERIFY(player->state() == state);
- QVERIFY(player->media() == mediaContent);
+ QVERIFY(player->currentMedia() == mediaContent);
QSignalSpy spy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
@@ -686,14 +689,15 @@ void tst_QMediaPlayer::testPlaylist()
QMediaPlaylist *playlist = new QMediaPlaylist;
player->setPlaylist(playlist);
+ QCOMPARE(player->media().playlist(), playlist);
QSignalSpy stateSpy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
- QSignalSpy mediaSpy(player, SIGNAL(mediaChanged(QMediaContent)));
+ QSignalSpy mediaSpy(player, SIGNAL(currentMediaChanged(QMediaContent)));
// Test the player does nothing with an empty playlist attached.
player->play();
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
- QCOMPARE(player->media(), QMediaContent());
+ QCOMPARE(player->currentMedia(), QMediaContent());
QCOMPARE(stateSpy.count(), 0);
QCOMPARE(mediaSpy.count(), 0);
@@ -704,28 +708,28 @@ void tst_QMediaPlayer::testPlaylist()
// Test changing the playlist position, changes the current media, but not the playing state.
playlist->setCurrentIndex(1);
- QCOMPARE(player->media(), content1);
+ QCOMPARE(player->currentMedia(), content1);
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
QCOMPARE(stateSpy.count(), 0);
QCOMPARE(mediaSpy.count(), 1);
// Test playing starts with the current media.
player->play();
- QCOMPARE(player->media(), content1);
+ QCOMPARE(player->currentMedia(), content1);
QCOMPARE(player->state(), QMediaPlayer::PlayingState);
QCOMPARE(stateSpy.count(), 1);
QCOMPARE(mediaSpy.count(), 1);
// Test pausing doesn't change the current media.
player->pause();
- QCOMPARE(player->media(), content1);
+ QCOMPARE(player->currentMedia(), content1);
QCOMPARE(player->state(), QMediaPlayer::PausedState);
QCOMPARE(stateSpy.count(), 2);
QCOMPARE(mediaSpy.count(), 1);
// Test stopping doesn't change the current media.
player->stop();
- QCOMPARE(player->media(), content1);
+ QCOMPARE(player->currentMedia(), content1);
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
QCOMPARE(stateSpy.count(), 3);
QCOMPARE(mediaSpy.count(), 1);
@@ -733,20 +737,20 @@ void tst_QMediaPlayer::testPlaylist()
// Test when the player service reaches the end of the current media, the player moves onto
// the next item without stopping.
player->play();
- QCOMPARE(player->media(), content1);
+ QCOMPARE(player->currentMedia(), content1);
QCOMPARE(player->state(), QMediaPlayer::PlayingState);
QCOMPARE(stateSpy.count(), 4);
QCOMPARE(mediaSpy.count(), 1);
mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia);
- QCOMPARE(player->media(), content2);
+ QCOMPARE(player->currentMedia(), content2);
QCOMPARE(player->state(), QMediaPlayer::PlayingState);
QCOMPARE(stateSpy.count(), 4);
QCOMPARE(mediaSpy.count(), 2);
// Test skipping the current media doesn't change the state.
playlist->next();
- QCOMPARE(player->media(), content3);
+ QCOMPARE(player->currentMedia(), content3);
QCOMPARE(player->state(), QMediaPlayer::PlayingState);
QCOMPARE(stateSpy.count(), 4);
QCOMPARE(mediaSpy.count(), 3);
@@ -754,13 +758,13 @@ void tst_QMediaPlayer::testPlaylist()
// Test changing the current media while paused doesn't change the state.
player->pause();
mockService->setMediaStatus(QMediaPlayer::BufferedMedia);
- QCOMPARE(player->media(), content3);
+ QCOMPARE(player->currentMedia(), content3);
QCOMPARE(player->state(), QMediaPlayer::PausedState);
QCOMPARE(stateSpy.count(), 5);
QCOMPARE(mediaSpy.count(), 3);
playlist->previous();
- QCOMPARE(player->media(), content2);
+ QCOMPARE(player->currentMedia(), content2);
QCOMPARE(player->state(), QMediaPlayer::PausedState);
QCOMPARE(stateSpy.count(), 5);
QCOMPARE(mediaSpy.count(), 4);
@@ -768,13 +772,13 @@ void tst_QMediaPlayer::testPlaylist()
// Test changing the current media while stopped doesn't change the state.
player->stop();
mockService->setMediaStatus(QMediaPlayer::LoadedMedia);
- QCOMPARE(player->media(), content2);
+ QCOMPARE(player->currentMedia(), content2);
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
QCOMPARE(stateSpy.count(), 6);
QCOMPARE(mediaSpy.count(), 4);
playlist->next();
- QCOMPARE(player->media(), content3);
+ QCOMPARE(player->currentMedia(), content3);
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
QCOMPARE(stateSpy.count(), 6);
QCOMPARE(mediaSpy.count(), 5);
@@ -782,7 +786,7 @@ void tst_QMediaPlayer::testPlaylist()
// Test the player is stopped and the current media cleared when it reaches the end of the last
// item in the playlist.
player->play();
- QCOMPARE(player->media(), content3);
+ QCOMPARE(player->currentMedia(), content3);
QCOMPARE(player->state(), QMediaPlayer::PlayingState);
QCOMPARE(stateSpy.count(), 7);
QCOMPARE(mediaSpy.count(), 5);
@@ -790,45 +794,46 @@ void tst_QMediaPlayer::testPlaylist()
// Double up the signals to ensure some noise doesn't destabalize things.
mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia);
mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::EndOfMedia);
- QCOMPARE(player->media(), QMediaContent());
+ QCOMPARE(player->currentMedia(), QMediaContent());
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
QCOMPARE(stateSpy.count(), 8);
QCOMPARE(mediaSpy.count(), 6);
// Test starts playing from the start of the playlist if there is no current media selected.
player->play();
- QCOMPARE(player->media(), content0);
+ QCOMPARE(player->currentMedia(), content0);
QCOMPARE(player->state(), QMediaPlayer::PlayingState);
QCOMPARE(stateSpy.count(), 9);
- QCOMPARE(mediaSpy.count(), 7);
+ // one notification is for playlist and another is for the first media in the playlist
+ QCOMPARE(mediaSpy.count(), 8);
// Test deleting the playlist stops the player and clears the media it set.
delete playlist;
- QCOMPARE(player->media(), QMediaContent());
+ QCOMPARE(player->currentMedia(), QMediaContent());
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
QCOMPARE(stateSpy.count(), 10);
- QCOMPARE(mediaSpy.count(), 8);
+ QCOMPARE(mediaSpy.count(), 9);
// Test the player works as normal with the playlist removed.
player->play();
- QCOMPARE(player->media(), QMediaContent());
+ QCOMPARE(player->currentMedia(), QMediaContent());
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
QCOMPARE(stateSpy.count(), 10);
- QCOMPARE(mediaSpy.count(), 8);
+ QCOMPARE(mediaSpy.count(), 9);
player->setMedia(content1);
player->play();
- QCOMPARE(player->media(), content1);
+ QCOMPARE(player->currentMedia(), content1);
QCOMPARE(player->state(), QMediaPlayer::PlayingState);
QCOMPARE(stateSpy.count(), 11);
- QCOMPARE(mediaSpy.count(), 9);
+ QCOMPARE(mediaSpy.count(), 10);
// Test the player can bind to playlist again
playlist = new QMediaPlaylist;
player->setPlaylist(playlist);
- QCOMPARE(player->media(), QMediaContent());
+ QCOMPARE(player->currentMedia(), QMediaContent());
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
playlist->addMedia(content0);
@@ -837,7 +842,7 @@ void tst_QMediaPlayer::testPlaylist()
playlist->addMedia(content3);
playlist->setCurrentIndex(1);
- QCOMPARE(player->media(), content1);
+ QCOMPARE(player->currentMedia(), content1);
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
// Test attaching the new playlist,
@@ -850,11 +855,11 @@ void tst_QMediaPlayer::testPlaylist()
player->play();
player->setPlaylist(playlist2);
- QCOMPARE(player->media(), playlist2->currentMedia());
+ QCOMPARE(player->currentMedia(), playlist2->currentMedia());
QCOMPARE(player->state(), QMediaPlayer::StoppedState);
playlist2->setCurrentIndex(1);
- QCOMPARE(player->media(), playlist2->currentMedia());
+ QCOMPARE(player->currentMedia(), playlist2->currentMedia());
{
QMediaPlaylist playlist;
@@ -863,13 +868,14 @@ void tst_QMediaPlayer::testPlaylist()
playlist.addMedia(content3);
playlist.setCurrentIndex(1);
+ // playlist resets to the first item
player->setPlaylist(&playlist);
QCOMPARE(player->playlist(), &playlist);
- QCOMPARE(player->media(), content2);
+ QCOMPARE(player->currentMedia(), content1);
} //playlist should be detached now
QVERIFY(player->playlist() == 0);
- QCOMPARE(player->media(), QMediaContent());
+ QCOMPARE(player->currentMedia(), QMediaContent());
// Test when the player service encounters an invalid media, the player moves onto
// the next item without stopping
@@ -877,6 +883,7 @@ void tst_QMediaPlayer::testPlaylist()
QSignalSpy ss(player, SIGNAL(stateChanged(QMediaPlayer::State)));
QSignalSpy ms(player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
+ // playlist index is set to 0 when it is loaded into media player
player->setPlaylist(playlist);
player->play();
QCOMPARE(ss.count(), 1);
@@ -888,7 +895,7 @@ void tst_QMediaPlayer::testPlaylist()
QCOMPARE(ms.count(), 1);
// NOTE: status should begin transitioning through to BufferedMedia.
- QCOMPARE(player->media(), content2);
+ QCOMPARE(player->currentMedia(), content1);
}
delete playlist;
diff --git a/tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp b/tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp
index 120a2f1e3..6fb1bc930 100644
--- a/tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp
+++ b/tests/auto/unit/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp
@@ -43,7 +43,7 @@
#include <QtTest/QtTest>
#include <QDebug>
-#include <private/qlocalmediaplaylistprovider_p.h>
+#include <private/qmedianetworkplaylistprovider_p.h>
#include <private/qmediaplaylistnavigator_p.h>
QT_USE_NAMESPACE
@@ -84,7 +84,7 @@ void tst_QMediaPlaylistNavigator::cleanup()
void tst_QMediaPlaylistNavigator::construction()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QCOMPARE(playlist.mediaCount(), 0);
QMediaPlaylistNavigator navigator(&playlist);
@@ -100,7 +100,7 @@ void tst_QMediaPlaylistNavigator::setPlaylist()
QCOMPARE(navigator.playlist()->media(0), QMediaContent());
QVERIFY(navigator.playlist()->isReadOnly() );
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QCOMPARE(playlist.mediaCount(), 0);
navigator.setPlaylist(&playlist);
@@ -111,7 +111,7 @@ void tst_QMediaPlaylistNavigator::setPlaylist()
void tst_QMediaPlaylistNavigator::linearPlayback()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Sequential);
@@ -165,7 +165,7 @@ void tst_QMediaPlaylistNavigator::linearPlayback()
void tst_QMediaPlaylistNavigator::loopPlayback()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Loop);
@@ -216,7 +216,7 @@ void tst_QMediaPlaylistNavigator::loopPlayback()
void tst_QMediaPlaylistNavigator::currentItemOnce()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::CurrentItemOnce);
@@ -247,7 +247,7 @@ void tst_QMediaPlaylistNavigator::currentItemOnce()
void tst_QMediaPlaylistNavigator::currentItemInLoop()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);
@@ -275,7 +275,7 @@ void tst_QMediaPlaylistNavigator::currentItemInLoop()
void tst_QMediaPlaylistNavigator::randomPlayback()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
@@ -326,7 +326,7 @@ void tst_QMediaPlaylistNavigator::randomPlayback()
void tst_QMediaPlaylistNavigator::testItemAt()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
@@ -348,7 +348,7 @@ void tst_QMediaPlaylistNavigator::testItemAt()
void tst_QMediaPlaylistNavigator::testNextIndex()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
@@ -383,7 +383,7 @@ void tst_QMediaPlaylistNavigator::testNextIndex()
void tst_QMediaPlaylistNavigator::testPreviousIndex()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
@@ -413,7 +413,7 @@ void tst_QMediaPlaylistNavigator::testPreviousIndex()
void tst_QMediaPlaylistNavigator::testCurrentIndexChangedSignal()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
@@ -441,7 +441,7 @@ void tst_QMediaPlaylistNavigator::testCurrentIndexChangedSignal()
void tst_QMediaPlaylistNavigator::testPlaybackModeChangedSignal()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
@@ -467,7 +467,7 @@ void tst_QMediaPlaylistNavigator::testPlaybackModeChangedSignal()
void tst_QMediaPlaylistNavigator::testSurroundingItemsChangedSignal()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
@@ -493,7 +493,7 @@ void tst_QMediaPlaylistNavigator::testSurroundingItemsChangedSignal()
void tst_QMediaPlaylistNavigator::testActivatedSignal()
{
- QLocalMediaPlaylistProvider playlist;
+ QMediaNetworkPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);