@@ -27,23 +27,24 @@ Rectangle {
2727 height: units.gu(80)
2828 color: "grey"
2929
30− property var tracksModel0: [
31− ]
30+ property var tracksModel0: {
31+ "tracks": [ ]
32+ }
3233
33− property var tracksModel1: [
34− { title: "Some track name", length: "30", source: "../../tests/qmltests/Dash/Music/data/testsound1.ogg" }
35− ]
34+ property var tracksModel1: {
35+ "tracks": [ { title: "Some track name", length: "30", source: "../../tests/qmltests/Dash/Music/data/testsound1.ogg" } ]
36+ }
3637
37− property var tracksModel2: [
38− { title: "Some track name", length: "30", source: "../../tests/qmltests/Dash/Music/data/testsound1.ogg" },
39− { title: "Some other track name", subtitle: "Subtitle", length: "83", source: "../../tests/qmltests/Dash/Music/data/testsound2.ogg" },
40− { title: "And another one", length: "7425", source: "../../tests/qmltests/Dash/Music/data/testsound3.ogg" }
41− ]
38+ property var tracksModel2: {
39+ "tracks": [ { title: "Some track name", length: "30", source: "../../tests/qmltests/Dash/Music/data/testsound1.ogg" },
40+ { title: "Some other track name", subtitle: "Subtitle", length: "83", source: "../../tests/qmltests/Dash/Music/data/testsound2.ogg" },
41+ { title: "And another one", length: "7425", source: "../../tests/qmltests/Dash/Music/data/testsound3.ogg" } ]
42+ }
4243
4344 AudioPlayer {
4445 id: audioPlayer
4546 anchors.fill: parent
46− model: tracksModel2
47+ widgetData: tracksModel2
4748 }
4849
4950 UT.UnityTestCase {
@@ -54,6 +55,21 @@ Rectangle {
5455 waitForRendering(audioPlayer);
5556 }
5657
58+ function test_time_formatter_data() {
59+ return [
60+ { tag: "0", value: 0, result: "" },
61+ { tag: "-1", value: -1, result: "" },
62+ { tag: "30", value: 30, result: "0:30" },
63+ { tag: "60", value: 60, result: "1:00" },
64+ { tag: "3600", value: 3600, result: "1:00:00" }
65+ ];
66+ }
67+
68+ function test_time_formatter(data) {
69+ var audio = findInvisibleChild(audioPlayer, "audio");
70+ compare(audio.lengthToString(data.value), data.result)
71+ }
72+
5773 function test_tracks_data() {
5874 return [
5975 {tag: "0 tracks", tracksModel: tracksModel0},
@@ -63,19 +79,19 @@ Rectangle {
6379 }
6480
6581 function test_tracks(data) {
66− audioPlayer.model = data.tracksModel;
82+ audioPlayer.widgetData = data.tracksModel;
6783 waitForRendering(audioPlayer);
6884
6985 var trackRepeater = findChild(audioPlayer, "trackRepeater");
70− compare(trackRepeater.count, data.tracksModel.length)
86+ compare(trackRepeater.count, data.tracksModel["tracks"].length)
7187
72− for (var i = 0; i < data.tracksModel.length; ++i) {
88+ for (var i = 0; i < data.tracksModel["tracks"].length; ++i) {
7389 var trackItem = findChild(audioPlayer, "trackItem" + i);
7490 var titleLabel = findChild(trackItem, "trackTitleLabel");
75− compare(titleLabel.text, data.tracksModel[i]["title"])
91+ compare(titleLabel.text, data.tracksModel["tracks"][i]["title"])
7692 var subtitleLabel = findChild(trackItem, "trackSubtitleLabel");
77− if (data.tracksModel[i]["subtitle"] !== undefined) {
78− compare(subtitleLabel.text, data.tracksModel[i]["subtitle"])
93+ if (data.tracksModel["tracks"][i]["subtitle"] !== undefined) {
94+ compare(subtitleLabel.text, data.tracksModel["tracks"][i]["subtitle"])
7995 } else {
8096 compare(subtitleLabel.visible, false)
8197 }
@@ -84,14 +100,14 @@ Rectangle {
84100 }
85101
86102 function checkPlayerSource(index) {
87− var modelFilename = audioPlayer.model[index]["source"].replace(/^.*[\\\/]/, '');
103+ var modelFilename = audioPlayer.widgetData["tracks"][index]["source"].replace(/^.*[\\\/]/, '');
88104 var playerFilename = findInvisibleChild(audioPlayer, "audio").source.toString().replace(/^.*[\\\/]/, '');
89105
90106 compare(modelFilename, playerFilename, "Player source is not set correctly.");
91107 }
92108
93109 function test_playback() {
94− audioPlayer.model = tracksModel2;
110+ audioPlayer.widgetData = tracksModel2;
95111 waitForRendering(audioPlayer);
96112
97113 var track0Item = findChild(audioPlayer, "trackItem0");
@@ -155,7 +171,7 @@ Rectangle {
155171 tryCompare(track2ProgressBar, "visible", true);
156172
157173 // Calling stop() should make all players shut up!
158− audioPlayer.stop()
174+ audioPlayer.focused = false
159175 tryCompare(audio, "playbackState", Audio.StoppedState);
160176 }
161177 }