blob: 096c776276387c0927d932d2841b950e3ce41e9f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src=../media-file.js></script>
<script src=../video-test.js></script>
<script>
var textTrack;
function canplaythrough()
{
testExpected("video.textTracks.length", 0, ">");
run("textTrack = video.textTracks[0]");
run("textTrack.mode = \"hidden\"");
waitForEvent('cuechange', gotcues, false, true, textTrack);
/* set to playing so we get cuechange events */
video.play();
}
function gotcues()
{
testExpected("textTrack.cues.length", 0, ">");
consoleWrite("Validating " + textTrack.cues.length + " cues...");
for (i = 0; i !== textTrack.cues.length; ++i) {
var cue = textTrack.cues[i];
var expectedCueID = i + 1;
if (cue.id != expectedCueID)
logResult(Failed, "Cue # " + i + ": expected id \"" + expectedCueID + "\", saw \"" + cue.id + "\"");
var expectedStartTime = expectedCueID;
if (cue.startTime != expectedStartTime)
logResult(Failed, "Cue # " + i + ": expected start time \"" + expectedStartTime + "\", saw \"" + cue.startTime + "\"");
var expectedEndTime = expectedCueID + 1;
if (cue.endTime != expectedEndTime)
logResult(Failed, "Cue # " + i + ": expected end time \"" + expectedEndTime + "\", saw \"" + cue.endTime + "\"");
var expectedCueText = expectedCueID + " - " + "Lorem ipsum dolor sit amet, consectetuer adipiscing elit";
if (cue.text != expectedCueText)
logResult(Failed, "Cue # " + i + ": expected cue text \"" + expectedCueText + "\", saw \"" + cue.text + "\"");
}
consoleWrite("");
endTest();
}
function setup()
{
findMediaElement();
waitForEvent('canplaythrough', canplaythrough);
video.src = findMediaFile("video", "../content/test");
}
</script>
</head>
<body onload="setup()">
<video controls>
<track src="./captions-webvtt/captions-long.vtt" kind="captions">
</video>
<p>Tests that the all captions in a long WebVTT file are parsed correctly.</p>
</body>
</html>