blob: 82e35bdccd51c47cc6b322b145e4305d7f06f9ba [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src=../media-file.js></script>
<script src=../video-test.js></script>
<script>
var textTrack;
var cueCount;
function setMode(value)
{
run("textTrack.mode = '" + value + "'");
testExpected("textTrack.mode", value);
testExpected("video.textTracks[0].mode", value);
if (value == "disabled")
testExpected("textTrack.cues", null);
else
testExpected("textTrack.cues.length", textTrack.cues.length);
consoleWrite("");
}
function start()
{
findMediaElement();
cueCount = 0;
consoleWrite("");
textTrack = document.getElementById('track_1').track;
consoleWrite("<b>++ Test default attribute value</b>");
testExpected("textTrack.mode", "showing");
testExpected("video.textTracks[0].mode", "showing");
consoleWrite("");
consoleWrite("<b>*** Set to bogus value, should return default</b>");
var value = "bogus";
run("textTrack.mode = '" + value + "'");
testExpected("textTrack.mode", "showing");
testExpected("video.textTracks[0].mode", "showing");
consoleWrite("");
consoleWrite("<b>*** Set to known values</b>");
consoleWrite("<b>++ 'disabled'</b>");
setMode("disabled");
video.src = findMediaFile("video", "../content/test");
video.play();
// Wait for end of first cue (no events should fire while track is disabled).
setTimeout(testHiddenAndShowing, 400);
consoleWrite("++ 0 events expected while mode = disabled");
consoleWrite("");
}
function testHiddenAndShowing()
{
consoleWrite("<b>++ 'hidden'</b>");
setMode("hidden");
consoleWrite("<b>++ 'showing'</b>");
setMode("showing");
consoleWrite("++ at least " + textTrack.cues.length + " events expected while mode = showing");
}
waitForEvent('cuechange',
function (event)
{
cueCount++;
if (cueCount == textTrack.cues.length)
endTest();
}
);
</script>
</head>
<body>
<p>Tests that the TextTrack mode attribute is appropriately set.</p>
<video>
<track id=track_1 src="captions-webvtt/captions-fast.vtt" onload="start()" default>
</video>
</body>
</html>