on xenial help sign in
Make the audio previews create a playlist
d1f27b5Albert Astals Cid
qml/Dash/Previews/PreviewAudioPlayback.qml+5−1
@@ -85,7 +85,11 @@ PreviewWidget {
85 DashAudioPlayer.play();
85 DashAudioPlayer.play();
86 }
86 }
87 } else {
87 } else {
88+ var playlist = [];
89+ for (var i = 0; i < trackRepeater.count; ++i) {
90+ playlist.push(trackRepeater.itemAt(i).sourceUrl);
91+ }
88− DashAudioPlayer.playSource(sourceUrl);
92+ DashAudioPlayer.playSource(sourceUrl, playlist);
89 }
93 }
90 }
94 }
91 }
95 }
tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml+12−3
@@ -100,13 +100,17 @@ Rectangle {
100 }
100 }
101 }
101 }
102
102
103− function checkPlayerSource(index) {
103+ function checkPlayerUrls(modelFilename, playerUrl) {
104− var modelFilename = previewAudioPlayback.widgetData["tracks"][index]["source"].replace(/^.*[\\\/]/, '');
104+ var modelFilename = modelFilename.replace(/^.*[\\\/]/, '');
105− var playerFilename = DashAudioPlayer.currentSource.toString().replace(/^.*[\\\/]/, '');
105+ var playerFilename = playerUrl.toString().replace(/^.*[\\\/]/, '');
106
106
107 compare(modelFilename, playerFilename, "Player source is not set correctly.");
107 compare(modelFilename, playerFilename, "Player source is not set correctly.");
108 }
108 }
109
109
110+ function checkPlayerSource(index) {
111+ checkPlayerUrls(previewAudioPlayback.widgetData["tracks"][index]["source"], DashAudioPlayer.currentSource);
112+ }
113+
110 function test_playback() {
114 function test_playback() {
111 previewAudioPlayback.widgetData = tracksModel2;
115 previewAudioPlayback.widgetData = tracksModel2;
112 waitForRendering(previewAudioPlayback);
116 waitForRendering(previewAudioPlayback);
@@ -157,6 +161,11 @@ Rectangle {
157 tryCompare(audio, "playbackState", Audio.PlayingState);
161 tryCompare(audio, "playbackState", Audio.PlayingState);
158 checkPlayerSource(1);
162 checkPlayerSource(1);
159
163
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+
160 tryCompare(track0ProgressBar, "visible", false);
169 tryCompare(track0ProgressBar, "visible", false);
161 tryCompare(track1ProgressBar, "visible", true);
170 tryCompare(track1ProgressBar, "visible", true);
162 tryCompare(track2ProgressBar, "visible", false);
171 tryCompare(track2ProgressBar, "visible", false);