OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <title>Test of 'played' attribute</title> | 3 <title>Test of 'played' attribute</title> |
4 <script src=media-file.js></script> | 4 <script src=media-file.js></script> |
| 5 <!-- TODO(philipj): Convert test to testharness.js. crbug.com/588956 |
| 6 (Please avoid writing new tests using video-test.js) --> |
5 <script src=video-test.js></script> | 7 <script src=video-test.js></script> |
6 <script src=video-played.js></script> | 8 <script src=video-played.js></script> |
7 <script> | 9 <script> |
8 | 10 |
9 var testFunctions = | 11 var testFunctions = |
10 [ | 12 [ |
11 PlayWithNoRanges, | 13 PlayWithNoRanges, |
12 CreateANewRange, | 14 CreateANewRange, |
13 JumpAndCollapseTwoRanges, | 15 JumpAndCollapseTwoRanges, |
14 TestLoopingAndPassToTheEnd | 16 TestLoopingAndPassToTheEnd |
15 ]; | 17 ]; |
16 | 18 |
17 // NOTE: Result details are not printed for this test because time v
alues are different from machine | 19 // NOTE: Result details are not printed for this test because time v
alues are different from machine |
18 // to machine and run to run. Commenting out the following line turn
s on detailed logging back on, which | 20 // to machine and run to run. Commenting out the following line turn
s on detailed logging back on, which |
19 // can be useful for debugging test failure. | 21 // can be useful for debugging test failure. |
20 disableFullTestDetailsPrinting(); | 22 disableFullTestDetailsPrinting(); |
21 | 23 |
22 function PlayWithNoRanges() | 24 function PlayWithNoRanges() |
23 { | 25 { |
24 consoleWrite("<br><b><em>Test playing when there are no ranges</
em></b>"); | 26 consoleWrite("<br><b><em>Test playing when there are no ranges</
em></b>"); |
25 | 27 |
26 willPauseInExistingRange = false; | 28 willPauseInExistingRange = false; |
27 willExtendAnExistingRange = false; | 29 willExtendAnExistingRange = false; |
28 timeRangeCount = currentTimeRange = 0; | 30 timeRangeCount = currentTimeRange = 0; |
29 | 31 |
30 runSilently("video.currentTime = 0.5"); | 32 runSilently("video.currentTime = 0.5"); |
31 | 33 |
32 currentTimeRange++; | 34 currentTimeRange++; |
33 startPlayingInNewRange(); | 35 startPlayingInNewRange(); |
34 } | 36 } |
35 | 37 |
36 | 38 |
37 function CreateANewRange() | 39 function CreateANewRange() |
38 { | 40 { |
39 consoleWrite("<br><b><em>Create a new range</em></b>"); | 41 consoleWrite("<br><b><em>Create a new range</em></b>"); |
40 | 42 |
41 var newTime = (video.played.end(0) + 0.05).toFixed(2); | 43 var newTime = (video.played.end(0) + 0.05).toFixed(2); |
42 runSilently("video.currentTime = " + newTime); | 44 runSilently("video.currentTime = " + newTime); |
43 | 45 |
44 willPauseInExistingRange = false; | 46 willPauseInExistingRange = false; |
45 willExtendAnExistingRange = false; | 47 willExtendAnExistingRange = false; |
46 | 48 |
47 startPlayingInNewRange(); | 49 startPlayingInNewRange(); |
48 } | 50 } |
49 | 51 |
50 function JumpAndCollapseTwoRanges() | 52 function JumpAndCollapseTwoRanges() |
51 { | 53 { |
52 consoleWrite("<br><b><em>Test playing from one range into anothe
r, should collapse the two ranges</em></b>"); | 54 consoleWrite("<br><b><em>Test playing from one range into anothe
r, should collapse the two ranges</em></b>"); |
53 | 55 |
54 timeRangeCount--; | 56 timeRangeCount--; |
55 currentTimeRange = timeRangeCount - 1; | 57 currentTimeRange = timeRangeCount - 1; |
56 var startTime = expectedStartTimes[0] - 0.1; | 58 var startTime = expectedStartTimes[0] - 0.1; |
57 expectedStartTimes[0] = startTime; | 59 expectedStartTimes[0] = startTime; |
58 expectedEndTimes[0] = expectedEndTimes[1]; | 60 expectedEndTimes[0] = expectedEndTimes[1]; |
59 | 61 |
60 willPauseInExistingRange = false; | 62 willPauseInExistingRange = false; |
61 willExtendAnExistingRange = false; | 63 willExtendAnExistingRange = false; |
62 runSilently("video.currentTime = " + startTime); | 64 runSilently("video.currentTime = " + startTime); |
63 | 65 |
64 playForMillisecs(secToMilli(expectedEndTimes[1] - startTime + 0.
1)); // Triggers pause() | 66 playForMillisecs(secToMilli(expectedEndTimes[1] - startTime + 0.
1)); // Triggers pause() |
65 } | 67 } |
66 | 68 |
67 function TestLoopingAndPassToTheEnd() | 69 function TestLoopingAndPassToTheEnd() |
68 { | 70 { |
69 consoleWrite("<br><b><em>Test looping</em></b>"); | 71 consoleWrite("<br><b><em>Test looping</em></b>"); |
70 | 72 |
71 // Start playing near the end of the movie so it will loop quick
ly. | 73 // Start playing near the end of the movie so it will loop quick
ly. |
72 run("video.loop = true"); | 74 run("video.loop = true"); |
73 var startTime = (video.duration - 0.05).toFixed(2); | 75 var startTime = (video.duration - 0.05).toFixed(2); |
74 runSilently("video.currentTime = " + startTime); | 76 runSilently("video.currentTime = " + startTime); |
75 | 77 |
76 // We will end in the very first time range | 78 // We will end in the very first time range |
77 currentTimeRange = 0; | 79 currentTimeRange = 0; |
78 | 80 |
79 willPauseInExistingRange = true; | 81 willPauseInExistingRange = true; |
80 willExtendAnExistingRange = true; | 82 willExtendAnExistingRange = true; |
81 | 83 |
82 // Playing from near the end so we will create a new time range
from startTime .. duration | 84 // Playing from near the end so we will create a new time range
from startTime .. duration |
83 timeRangeCount++; | 85 timeRangeCount++; |
84 expectedStartTimes[timeRangeCount-1] = startTime; | 86 expectedStartTimes[timeRangeCount-1] = startTime; |
85 expectedEndTimes[timeRangeCount-1] = video.duration.toFixed(2); | 87 expectedEndTimes[timeRangeCount-1] = video.duration.toFixed(2); |
86 | 88 |
87 // Have to play for long enough to loop and play into the existi
ng range. | 89 // Have to play for long enough to loop and play into the existi
ng range. |
88 var playDuration = 1.25; | 90 var playDuration = 1.25; |
89 | 91 |
90 // Playback restarts from beginning, so expect the beginning of
first time range to be 0. | 92 // Playback restarts from beginning, so expect the beginning of
first time range to be 0. |
91 expectedStartTimes[0] = 0; | 93 expectedStartTimes[0] = 0; |
92 playForMillisecs(secToMilli(playDuration)); // Triggers pause() | 94 playForMillisecs(secToMilli(playDuration)); // Triggers pause() |
93 } | 95 } |
94 | 96 |
95 </script> | 97 </script> |
96 </head> | 98 </head> |
97 | 99 |
98 <body onload="videoPlayedMain()"> | 100 <body onload="videoPlayedMain()"> |
99 | 101 |
100 <video controls></video> | 102 <video controls></video> |
101 <p>Test of the media element 'played' attribute</p> | 103 <p>Test of the media element 'played' attribute</p> |
102 | 104 |
103 </body> | 105 </body> |
104 </html> | 106 </html> |
OLD | NEW |