@@ -56,9 +56,10 @@ Rectangle {
5656 }
5757 ListModel {
5858 id: tracksModel3
59− ListElement { uri: "../../tests/qmltests/Dash/Music/data/testsound.ogg"; trackNo: 1; title: "Some track name"; length: "0:30"}
60− ListElement { uri: "../../tests/qmltests/Dash/Music/data/testsound.ogg"; trackNo: 2; title: "Some other track name"; length: "1:23"}
61− ListElement { uri: "../../tests/qmltests/Dash/Music/data/testsound.ogg"; trackNo: 3; title: "And another one"; length: "123:45"}
59+ ListElement { uri: "../../tests/qmltests/Dash/Music/data/testsound1.ogg"; trackNo: 1; title: "Some track name"; length: "0:30"}
60+ ListElement { uri: "../../tests/qmltests/Dash/Music/data/testsound1.ogg"; trackNo: 2; title: "Some track name"; length: "0:30"}
61+ ListElement { uri: "../../tests/qmltests/Dash/Music/data/testsound2.ogg"; trackNo: 3; title: "Some other track name"; length: "1:23"}
62+ ListElement { uri: "../../tests/qmltests/Dash/Music/data/testsound3.ogg"; trackNo: 4; title: "And another one"; length: "123:45"}
6263 }
6364
6465 UT.UnityTestCase {
@@ -96,6 +97,13 @@ Rectangle {
9697 }
9798 }
9899
100+ function checkPlayerUri(index) {
101+ var modelFilename = musicPreview.previewData.tracks.get(index).uri.replace(/^.*[\\\/]/, '');
102+ var playerFilename = findInvisibleChild(musicPreview, "audioPlayer").source.toString().replace(/^.*[\\\/]/, '');
103+
104+ compare(modelFilename, playerFilename, "Player source is not set correctly.");
105+ }
106+
99107 function test_playback() {
100108 musicPreview.previewData.tracks = tracksModel3;
101109 waitForRendering(musicPreview);
@@ -123,7 +131,7 @@ Rectangle {
123131 mouseClick(track0PlayButton, track0PlayButton.width / 2, track0PlayButton.height / 2);
124132
125133 tryCompare(audioPlayer, "playbackState", Audio.PlayingState);
126− compare(audioPlayer.uri, musicPreview.previewData.tracks.get(0).uri)
134+ checkPlayerUri(0);
127135
128136 tryCompare(track0ProgressBar, "visible", true);
129137 tryCompare(track1ProgressBar, "visible", false);
@@ -132,24 +140,34 @@ Rectangle {
132140 // Clicking the button again should pause it. The progress bar should stay visible
133141 mouseClick(track0PlayButton, track0PlayButton.width / 2, track0PlayButton.height / 2);
134142 tryCompare(audioPlayer, "playbackState", Audio.PausedState);
135− compare(audioPlayer.uri, musicPreview.previewData.tracks.get(0).uri)
143+ checkPlayerUri(0);
136144 tryCompare(track0ProgressBar, "visible", true);
137145
138146 // Continue playback
139147 mouseClick(track0PlayButton, track0PlayButton.width / 2, track0PlayButton.height / 2);
140148 tryCompare(audioPlayer, "playbackState", Audio.PlayingState);
141− compare(audioPlayer.uri, musicPreview.previewData.tracks.get(0).uri)
149+ checkPlayerUri(0);
142150
143151 // Playing track 1 should make progress bar 1 visible and hide progress bar 0 again
144152 mouseClick(track1PlayButton, track1PlayButton.width / 2, track1PlayButton.height / 2);
145153
146154 tryCompare(audioPlayer, "playbackState", Audio.PlayingState);
147− compare(audioPlayer.uri, musicPreview.previewData.tracks.get(1).uri)
155+ checkPlayerUri(1);
148156
149157 tryCompare(track0ProgressBar, "visible", false);
150158 tryCompare(track1ProgressBar, "visible", true);
151159 tryCompare(track2ProgressBar, "visible", false);
152160
161+ // Playing track 2 should make progress bar 1 visible and hide progress bar 0 again
162+ mouseClick(track2PlayButton, track2PlayButton.width / 2, track2PlayButton.height / 2);
163+
164+ tryCompare(audioPlayer, "playbackState", Audio.PlayingState);
165+ checkPlayerUri(2);
166+
167+ tryCompare(track0ProgressBar, "visible", false);
168+ tryCompare(track1ProgressBar, "visible", false);
169+ tryCompare(track2ProgressBar, "visible", true);
170+
153171 // Switching away from this preview should make all players shut up!
154172 musicPreview.isCurrent = false
155173 tryCompare(audioPlayer, "playbackState", Audio.StoppedState);