|
1 function test_seek2(v, seekTime, is, ok, finish) { |
|
2 |
|
3 // Test seeking works if current time is set before video is |
|
4 // playing. |
|
5 var startPassed = false; |
|
6 var endPassed = false; |
|
7 var completed = false; |
|
8 |
|
9 function startTest() { |
|
10 if (completed) |
|
11 return; |
|
12 |
|
13 v.currentTime=seekTime; |
|
14 v.play(); |
|
15 } |
|
16 |
|
17 function seekStarted() { |
|
18 if (completed) |
|
19 return; |
|
20 |
|
21 ok(v.currentTime >= seekTime - 0.1, "Video currentTime should be around " + seekTime + ": " + v.currentTime); |
|
22 startPassed = true; |
|
23 } |
|
24 |
|
25 function seekEnded() { |
|
26 if (completed) |
|
27 return; |
|
28 |
|
29 endPassed = true; |
|
30 } |
|
31 |
|
32 function playbackEnded() { |
|
33 if (completed) |
|
34 return; |
|
35 |
|
36 completed = true; |
|
37 ok(startPassed, "send seeking event"); |
|
38 ok(endPassed, "send seeked event"); |
|
39 ok(v.ended, "Checking playback has ended"); |
|
40 ok(Math.abs(v.currentTime - v.duration) <= 0.1, "Checking currentTime at end: " + v.currentTime); |
|
41 finish(); |
|
42 } |
|
43 |
|
44 v.addEventListener("ended", playbackEnded, false); |
|
45 v.addEventListener("loadedmetadata", startTest, false); |
|
46 v.addEventListener("seeking", seekStarted, false); |
|
47 v.addEventListener("seeked", seekEnded, false); |
|
48 |
|
49 } |