|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <head> |
|
4 <title>Test that the playbackRate property is not reset when resuming the playback</title> |
|
5 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> |
|
6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> |
|
7 <script type="text/javascript" src="manifest.js"></script> |
|
8 </head> |
|
9 <body> |
|
10 <pre id="test"> |
|
11 <script class="testbody" type='application/javascript;version=1.8'> |
|
12 |
|
13 if (navigator.platform.startsWith("Win")) { |
|
14 SimpleTest.expectAssertions(0, 1); |
|
15 } else if (navigator.platform.startsWith("Mac")) { |
|
16 SimpleTest.expectAssertions(0, 2); |
|
17 } else if (navigator.platform.startsWith("Linux")) { |
|
18 // Bug 897024 |
|
19 SimpleTest.expectAssertions(0, 2); |
|
20 } |
|
21 |
|
22 let manager = new MediaTestManager; |
|
23 |
|
24 function ontimeupdate(e) { |
|
25 var t = e.target; |
|
26 if (t.currentTime != 0.0) { |
|
27 dump(t.token + " t.currentTime != 0.0.\n"); |
|
28 t.removeEventListener("timeupdate", ontimeupdate); |
|
29 t.pause(); |
|
30 is(t.playbackRate, 0.5, "PlaybackRate should not have changed after pause."); |
|
31 } else { |
|
32 dump(t.token + " t.currentTime == 0.0.\n"); |
|
33 } |
|
34 } |
|
35 |
|
36 function onpaused(e) { |
|
37 var t = e.target; |
|
38 dump(t.token + " onpaused.\n"); |
|
39 t.play(); |
|
40 is(t.playbackRate, 0.5, "PlaybackRate should not have changed after resuming playback."); |
|
41 finish_test(t); |
|
42 } |
|
43 |
|
44 function finish_test(element) { |
|
45 dump(element.token + " finish_test.\n"); |
|
46 if (element.parentNode) |
|
47 element.parentNode.removeChild(element); |
|
48 element.src=""; |
|
49 manager.finished(element.token); |
|
50 } |
|
51 |
|
52 function startTest(test, token) { |
|
53 let elemType = /^audio/.test(test.type) ? "audio" : "video"; |
|
54 let element = document.createElement(elemType); |
|
55 element.src = test.name; |
|
56 element.token = token; |
|
57 element.controls = true; |
|
58 element.playbackRate = 0.5; |
|
59 element.addEventListener("timeupdate", ontimeupdate); |
|
60 element.addEventListener("pause", onpaused); |
|
61 element.addEventListener("loadedmetadata", function() { |
|
62 dump(element.token + " loadedmetadata\n"); |
|
63 element.play(); |
|
64 }); |
|
65 document.body.appendChild(element); |
|
66 manager.started(token); |
|
67 } |
|
68 |
|
69 manager.runTests(gPlayedTests, startTest); |
|
70 |
|
71 </script> |
|
72 </pre> |
|
73 <div id="elements"> |
|
74 </div> |
|
75 </body> |
|
76 </html> |