on xenial help sign in
Make the audio previews create a playlist

Fixes: #1540477 Approved by: Andrea Cimitan

commitd1f27b5dcd680661a86c86f2241118a7ef5b2585 authorAlbert Astals Cid <albert.astals@canonical.com> dateTue 16 Feb 2016, 03:24 (11 years ago) parent2733115e1c73ff
2 files changed+17−4
qml/Dash/Previews/PreviewAudioPlayback.qml+5−1 tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml+12−3
qml/Dash/Previews/PreviewAudioPlayback.qml+5−1
@@ -85,7 +85,11 @@ PreviewWidget {
8585 DashAudioPlayer.play();
8686 }
8787 } else {
88− DashAudioPlayer.playSource(sourceUrl);
88+ var playlist = [];
89+ for (var i = 0; i < trackRepeater.count; ++i) {
90+ playlist.push(trackRepeater.itemAt(i).sourceUrl);
91+ }
92+ DashAudioPlayer.playSource(sourceUrl, playlist);
8993 }
9094 }
9195 }
tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml+12−3
@@ -100,13 +100,17 @@ Rectangle {
100100 }
101101 }
102102
103− function checkPlayerSource(index) {
104− var modelFilename = previewAudioPlayback.widgetData["tracks"][index]["source"].replace(/^.*[\\\/]/, '');
105− var playerFilename = DashAudioPlayer.currentSource.toString().replace(/^.*[\\\/]/, '');
103+ function checkPlayerUrls(modelFilename, playerUrl) {
104+ var modelFilename = modelFilename.replace(/^.*[\\\/]/, '');
105+ var playerFilename = playerUrl.toString().replace(/^.*[\\\/]/, '');
106106
107107 compare(modelFilename, playerFilename, "Player source is not set correctly.");
108108 }
109109
110+ function checkPlayerSource(index) {
111+ checkPlayerUrls(previewAudioPlayback.widgetData["tracks"][index]["source"], DashAudioPlayer.currentSource);
112+ }
113+
110114 function test_playback() {
111115 previewAudioPlayback.widgetData = tracksModel2;
112116 waitForRendering(previewAudioPlayback);
@@ -157,6 +161,11 @@ Rectangle {
157161 tryCompare(audio, "playbackState", Audio.PlayingState);
158162 checkPlayerSource(1);
159163
164+ // Check the playlist is song 0, 1, 2
165+ checkPlayerUrls(tracksModel2["tracks"][0].source, audio.playlist.itemSource(0));
166+ checkPlayerUrls(tracksModel2["tracks"][1].source, audio.playlist.itemSource(1));
167+ checkPlayerUrls(tracksModel2["tracks"][2].source, audio.playlist.itemSource(2));
168+
160169 tryCompare(track0ProgressBar, "visible", false);
161170 tryCompare(track1ProgressBar, "visible", true);
162171 tryCompare(track2ProgressBar, "visible", false);