OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <title>Tests that all events are triggered in chronological order.</title> |
3 <head> | 3 <script src="../../resources/testharness.js"></script> |
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 4 <script src="../../resources/testharnessreport.js"></script> |
5 <script src="../media-file.js"></script> | |
6 <video> | |
7 <track src="captions-webvtt/sorted-dispatch.vtt" default> | |
8 </video> | |
9 <script> | |
10 async_test(function(t) { | |
11 var video = document.querySelector("video"); | |
12 video.src = findMediaFile("video", "../content/test"); | |
13 var track = document.querySelector("track"); | |
5 | 14 |
6 <script src=../media-file.js></script> | 15 track.onload = t.step_func(function() { |
7 <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956 | 16 var cues = track.track.cues; |
8 (Please avoid writing new tests using video-test.js) --> | 17 assert_equals(cues.length, 8); |
9 <script src=../video-test.js></script> | |
10 <script> | |
11 var videoCanPlayThrough = false; | |
12 var trackLoaded = false; | |
13 | 18 |
14 var currentCue; | 19 for (var i = 0; i < cues.length; ++i) { |
15 var testTrack; | 20 cues[i].onenter = t.step_func(cueEnteredOrExited); |
21 cues[i].onexit = t.step_func(cueEnteredOrExited); | |
22 } | |
16 | 23 |
17 var dispatchedEvents = []; | 24 video.play(); |
25 }); | |
18 | 26 |
19 function runTests() | 27 var dispatchedEvents = []; |
20 { | 28 function cueEnteredOrExited(event) { |
21 if (!trackLoaded || !videoCanPlayThrough) | 29 var currentCue = event.target; |
22 return; | |
23 | 30 |
24 testTrack = document.getElementById("testTrack"); | 31 var eventObj = {}; |
fs
2016/06/18 14:42:09
Could make the dispatchedEvents list contain only
Srirama
2016/06/18 16:46:57
Done.
| |
25 testExpected("testTrack.track.cues.length", 8); | |
26 | 32 |
27 for (var i = 0; i < testTrack.track.cues.length; ++i) { | 33 if (event.type == "exit") |
28 testTrack.track.cues[i].addEventListener('enter', cueEntered OrExited); | 34 eventObj.time = currentCue.endTime; |
29 testTrack.track.cues[i].addEventListener('exit', cueEnteredO rExited); | 35 else |
30 } | 36 eventObj.time = currentCue.startTime; |
31 | 37 |
32 run("video.play()"); | 38 dispatchedEvents.push(eventObj); |
33 } | 39 } |
34 | 40 |
35 function cueEnteredOrExited(event) | 41 video.onended = t.step_func_done(function() { |
36 { | 42 assert_equals(dispatchedEvents.length, 14); |
37 currentCue = event.target; | 43 var time = 0; |
44 for (var i = 0; i < dispatchedEvents.length; ++i) { | |
45 assert_less_than_equal(time, dispatchedEvents[i].time); | |
fs
2016/06/18 14:42:09
Maybe add "timestamp/event " + i as the third argu
Srirama
2016/06/18 16:46:57
Done.
| |
46 time = dispatchedEvents[i].time; | |
47 } | |
48 }); | |
38 | 49 |
39 var eventObj = {}; | 50 video.currentTime = 5; |
40 | 51 }); |
41 eventObj.time = currentCue.startTime; | 52 </script> |
42 if (event.type == 'exit') | |
43 eventObj.time = currentCue.endTime; | |
44 | |
45 eventObj.type = event.type; | |
46 eventObj.cue = currentCue; | |
47 | |
48 dispatchedEvents.push(eventObj); | |
49 } | |
50 | |
51 function loaded() | |
52 { | |
53 trackLoaded = true; | |
54 runTests(); | |
55 } | |
56 | |
57 function bodyLoaded() | |
58 { | |
59 findMediaElement(); | |
60 video.src = findMediaFile("video", "../content/test"); | |
61 } | |
62 | |
63 function logEndTest() | |
64 { | |
65 for (var i = 0; i < dispatchedEvents.length; ++i) { | |
66 consoleWrite("Cue event: " + dispatchedEvents[i].type + | |
67 " id: " + dispatchedEvents[i].cue.id + | |
68 " time: " + dispatchedEvents[i].time); | |
69 } | |
70 | |
71 endTest(); | |
72 } | |
73 | |
74 waitForEvent('ended', logEndTest); | |
75 | |
76 waitForEventOnce('canplaythrough', function() { | |
77 video.currentTime = 5.00; | |
78 videoCanPlayThrough = true; | |
79 | |
80 runTests(); | |
81 }); | |
82 | |
83 </script> | |
84 </head> | |
85 <body onload="bodyLoaded()"> | |
86 <p>Tests that all events events are triggered in chronological order.</p > | |
87 <video controls> | |
88 <track id="testTrack" src="captions-webvtt/sorted-dispatch.vtt" onlo ad="loaded()" default> | |
89 </video> | |
90 </body> | |
91 </html> | |
OLD | NEW |