4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <script src=../media-file.js></script>
7 <script src=../video-test.js></script>
10 <p>Tests that TextTrack's cues are indexed and updated in order during video playback. Test uses the cuechange event.</p>
12 <track id="testTrack" src="captions-webvtt/cues-chrono-order.vtt" kind="captions" onload="loaded()">
16 var cueChangeCount = 0;
20 var trackLoaded = false;
21 var videoCanPlayThrough = false;
23 function attemptTests()
25 if (!trackLoaded || !videoCanPlayThrough)
28 testTrack = document.getElementById("testTrack");
29 testExpected("testTrack.track.cues.length", 3);
30 testTrack.addEventListener('cuechange', cueChangedFromTrackElement);
31 testTrack.track.addEventListener('cuechange', cueChangedFromTextTrack);
36 function cueChangedFromTrackElement()
38 consoleWrite("EVENT(cuechange) from <track>");
40 currentCueIndex = Math.floor(cueChangeCount/2);
41 currentCue = event.target.track.cues[currentCueIndex];
45 if (cueChangeCount == testTrack.track.cues.length * 2)
49 function cueChangedFromTextTrack()
51 consoleWrite("EVENT(cuechange) from TextTrack");
53 currentCueIndex = Math.floor(cueChangeCount/2);
54 currentCue = event.target.cues[currentCueIndex];
60 if (cueChangeCount % 2 == 0) {
61 consoleWrite("Cue entered");
62 testExpected(currentCue, testTrack.track.activeCues[0]);
63 testExpected("currentCue.id", currentCueIndex + 1);
65 consoleWrite("Cue exited");
69 waitForEvent('canplaythrough',
72 videoCanPlayThrough = true;
84 video.src = findMediaFile("video", "../content/test");