diff options
Diffstat (limited to 'tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp')
-rw-r--r-- | tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp b/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp index ce7e8cc40..a88884735 100644 --- a/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp +++ b/tests/auto/qmediaplaylistnavigator/tst_qmediaplaylistnavigator.cpp @@ -62,10 +62,20 @@ private slots: void currentItemOnce(); void currentItemInLoop(); void randomPlayback(); + + void testItemAt(); + void testNextIndex(); + void testPreviousIndex(); + void testCurrentIndexChangedSignal(); + void testPlaybackModeChangedSignal(); + void testSurroundingItemsChangedSignal(); + void testActivatedSignal(); }; void tst_QMediaPlaylistNavigator::init() { + qRegisterMetaType<QMediaPlaylist::PlaybackMode>("QMediaPlaylist::PlaybackMode"); + qRegisterMetaType<QMediaContent>("QMediaContent"); } void tst_QMediaPlaylistNavigator::cleanup() @@ -314,5 +324,202 @@ void tst_QMediaPlaylistNavigator::randomPlayback() } +void tst_QMediaPlaylistNavigator::testItemAt() +{ + QLocalMediaPlaylistProvider playlist; + QMediaPlaylistNavigator navigator(&playlist); + navigator.setPlaybackMode(QMediaPlaylist::Random); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(navigator.currentIndex(), -1); + + //Adding the media to the playlist + QMediaContent content = QMediaContent(QUrl(QLatin1String("file:///1"))); + playlist.addMedia(content); + + //Currently it is not pointing to any index , Returns Null mediacontent + QCOMPARE(navigator.currentIndex(), -1); + QCOMPARE(navigator.itemAt(navigator.currentIndex()),QMediaContent()); + navigator.next(); + + //Points to the added media + int pos1 = navigator.currentIndex(); + QCOMPARE(content,navigator.itemAt(pos1)); +} + +void tst_QMediaPlaylistNavigator::testNextIndex() +{ + QLocalMediaPlaylistProvider playlist; + QMediaPlaylistNavigator navigator(&playlist); + navigator.setPlaybackMode(QMediaPlaylist::Random); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(navigator.currentIndex(), -1); + + //Adding the media to the playlist + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1")))); + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2")))); + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3")))); + + playlist.shuffle(); + + //Currently it is not pointing to any index + QCOMPARE(navigator.currentIndex(), -1); + navigator.next(); + int pos1 = navigator.currentIndex(); + //Pointing to the next index + navigator.next(); + int pos2 = navigator.currentIndex(); + navigator.next(); + int pos3 = navigator.currentIndex(); + + //Pointing to the previous index + navigator.previous(); + QCOMPARE(navigator.nextIndex(1), pos3); + navigator.previous(); + QCOMPARE(navigator.nextIndex(1), pos2); + QCOMPARE(navigator.nextIndex(2), pos3); + navigator.previous(); + QCOMPARE(navigator.nextIndex(1), pos1); +} + +void tst_QMediaPlaylistNavigator::testPreviousIndex() +{ + QLocalMediaPlaylistProvider playlist; + QMediaPlaylistNavigator navigator(&playlist); + navigator.setPlaybackMode(QMediaPlaylist::Random); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(navigator.currentIndex(), -1); + + //Adding the media to the playlist + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1")))); + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2")))); + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3")))); + playlist.shuffle(); + + //Currently it is not pointing to any index + QCOMPARE(navigator.currentIndex(), -1); + + //pointing to next index + navigator.next(); + int pos1 = navigator.currentIndex(); + navigator.next(); + int pos2 = navigator.currentIndex(); + navigator.next(); + int pos3 = navigator.currentIndex(); + QCOMPARE(navigator.previousIndex(1), pos2); + QCOMPARE(navigator.previousIndex(2), pos1); + navigator.next(); + QCOMPARE(navigator.previousIndex(1), pos3); +} + +void tst_QMediaPlaylistNavigator::testCurrentIndexChangedSignal() +{ + QLocalMediaPlaylistProvider playlist; + QMediaPlaylistNavigator navigator(&playlist); + navigator.setPlaybackMode(QMediaPlaylist::Random); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(navigator.currentIndex(), -1); + + //Creating a QSignalSpy object for currentIndexChanged() signal + QSignalSpy spy(&navigator,SIGNAL(currentIndexChanged(int))); + QVERIFY(spy.count() == 0); + + //Adding the media to the playlist + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1")))); + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2")))); + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3")))); + + //Currently it is not pointing to any index + QCOMPARE(navigator.currentIndex(), -1); + navigator.next(); + QVERIFY(spy.count() == 1); + int pos1 = navigator.currentIndex(); + //Pointing to the next index + navigator.next(); + QVERIFY(navigator.previousIndex(1) == pos1); + QVERIFY(spy.count() == 2); +} + +void tst_QMediaPlaylistNavigator::testPlaybackModeChangedSignal() +{ + QLocalMediaPlaylistProvider playlist; + QMediaPlaylistNavigator navigator(&playlist); + navigator.setPlaybackMode(QMediaPlaylist::Random); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(navigator.currentIndex(), -1); + + //Creating a QSignalSpy object for currentIndexChanged() signal + QSignalSpy spy(&navigator,SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode))); + QVERIFY(spy.count() == 0); + + //Adding the media to the playlist + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1")))); + + //set the play back mode to sequential + navigator.setPlaybackMode(QMediaPlaylist::Sequential); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Sequential); + QVERIFY(spy.count() == 1); + + //set the play back mode to loop + navigator.setPlaybackMode(QMediaPlaylist::Loop); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Loop); + QVERIFY(spy.count() == 2); +} + +void tst_QMediaPlaylistNavigator::testSurroundingItemsChangedSignal() +{ + QLocalMediaPlaylistProvider playlist; + QMediaPlaylistNavigator navigator(&playlist); + navigator.setPlaybackMode(QMediaPlaylist::Random); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(navigator.currentIndex(), -1); + + //Creating a QSignalSpy object for surroundingItemsChanged()signal + QSignalSpy spy(&navigator,SIGNAL(surroundingItemsChanged())); + QVERIFY(spy.count() == 0); + + //Adding the media to the playlist + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1")))); + QVERIFY(spy.count() == 1); + + //set the play back mode to sequential + navigator.setPlaybackMode(QMediaPlaylist::Sequential); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Sequential); + QVERIFY(spy.count() == 2); + + //Point to the next index + navigator.next(); + QVERIFY(spy.count() == 3); +} + +void tst_QMediaPlaylistNavigator::testActivatedSignal() +{ + QLocalMediaPlaylistProvider playlist; + QMediaPlaylistNavigator navigator(&playlist); + navigator.setPlaybackMode(QMediaPlaylist::Random); + QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(navigator.currentIndex(), -1); + + //Creating a QSignalSpy object for surroundingItemsChanged()signal + QSignalSpy spy(&navigator,SIGNAL(activated(QMediaContent))); + QVERIFY(spy.count() == 0); + + //Adding the media to the playlist + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1")))); + playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2")))); + playlist.shuffle(); + + //Point to the next index + navigator.next(); + QVERIFY(spy.count() == 1); + + //Jump to 0th item + navigator.jump(0); + QVERIFY(spy.count() == 2); + + //move to previous item + navigator.previous(); + QVERIFY(spy.count() == 3); +} + QTEST_MAIN(tst_QMediaPlaylistNavigator) #include "tst_qmediaplaylistnavigator.moc" |