track-cues-missed.html (1839B)
1 <!DOCTYPE html> 2 <title>Events are triggered for missed (skipped) cues during normal playback</title> 3 <script src="/common/media.js"></script> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <video> 7 <track src="resources/missed-cues.vtt" default> 8 <script> 9 async_test(function(t) { 10 var video = document.querySelector("video"); 11 var testTrack = document.querySelector("track"); 12 13 video.src = getVideoURI("/media/test"); 14 15 video.onended = t.step_func_done(); 16 17 video.oncanplaythrough = t.step_func(function() { 18 video.oncanplaythrough = null; 19 video.currentTime = 5.00; 20 runTests(); 21 }); 22 23 testTrack.onload = t.step_func(runTests); 24 25 var cueCount; 26 var eventCount = 0; 27 function runTests() { 28 eventCount++; 29 30 if(eventCount != 2) 31 return; 32 33 assert_equals(testTrack.track.cues.length, 7); 34 35 for (cueCount = 2; cueCount < testTrack.track.cues.length; cueCount++) { 36 var cue = testTrack.track.cues[cueCount]; 37 38 cue.onenter = t.step_func(cueEnteredOrExited); 39 cue.onexit = t.step_func(cueEnteredOrExited); 40 } 41 42 // Test events for missed cues, which are cues with ids 43 // from 3 to 7 in the file resources/missed-cues.vtt. 44 cueCount = 3; 45 video.play(); 46 } 47 48 function cueEnteredOrExited(event) { 49 var currentCue = event.target; 50 assert_equals(testTrack.track.cues.getCueById(cueCount).text, currentCue.text); 51 assert_equals(currentCue.id, cueCount.toString()); 52 53 if (event.type == "exit") 54 cueCount++; 55 } 56 57 }); 58 </script> 59 </video>