blob: 393aade94433831a0a758d2d757f04894645cdbe [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src=../media-controls.js></script>
<script src=../trackmenu-test.js></script>
<script src=../video-test.js></script>
<script>
function testVisibleCue()
{
consoleWrite("");
consoleWrite("EVENT(seeked)");
consoleWrite("EVENT(cuechange)");
testExpected("video.textTracks[3].activeCues.length", 1);
testExpected("textTrackDisplayElement(video, 'cue')", null, "!=");
consoleWrite("");
endTest();
}
function testTracks()
{
consoleWrite("<br><i>** Forced tracks should be in .textTracks, but not in the menu<" + "/i>");
testExpected("video.textTracks.length", 9);
// Click the CC button to show the menu because it isn't created until it becomes visible.
clickCCButton();
trackMenuItems = captionTrackMenuList();
if (!trackMenuItems) {
failTest("Failed to find track menu!");
return;
}
testExpected("trackMenuItems.length", 6);
consoleWrite("<br><i>** Only the 'fr' forced track should be showing<" + "/i>");
testExpected("video.textTracks[0].language", "en");
testExpected("video.textTracks[0].kind", "subtitles");
testExpected("video.textTracks[0].mode", "disabled");
consoleWrite("");
testExpected("video.textTracks[1].language", "en");
testExpected("video.textTracks[1].kind", "forced");
testExpected("video.textTracks[1].mode", "disabled");
consoleWrite("");
testExpected("video.textTracks[2].language", "fr");
testExpected("video.textTracks[2].kind", "subtitles");
testExpected("video.textTracks[2].mode", "disabled");
consoleWrite("");
testExpected("video.textTracks[3].language", "fr");
testExpected("video.textTracks[3].kind", "forced");
testExpected("video.textTracks[3].mode", "showing");
consoleWrite("");
testExpected("video.textTracks[4].language", "es");
testExpected("video.textTracks[4].kind", "subtitles");
testExpected("video.textTracks[4].mode", "disabled");
consoleWrite("");
testExpected("video.textTracks[5].language", "es");
testExpected("video.textTracks[5].kind", "forced");
testExpected("video.textTracks[5].mode", "disabled");
consoleWrite("");
testExpected("video.textTracks[6].language", "de");
testExpected("video.textTracks[6].kind", "subtitles");
testExpected("video.textTracks[6].mode", "disabled");
consoleWrite("");
testExpected("video.textTracks[7].language", "de");
testExpected("video.textTracks[7].kind", "forced");
testExpected("video.textTracks[7].mode", "disabled");
consoleWrite("");
testExpected("video.textTracks[8].language", "en");
testExpected("video.textTracks[8].kind", "captions");
testExpected("video.textTracks[8].mode", "disabled");
consoleWrite("");
waitForEventsAndCall([[video, 'seeked'], [video.textTracks[3], 'cuechange']], testVisibleCue);
run("video.currentTime = 9.5");
}
function setup()
{
findMediaElement();
run("internals.settings.setShouldDisplayTrackKind('Captions', false)");
run("internals.settings.setShouldDisplayTrackKind('Subtitles', true)");
run("internals.setUserPreferredLanguages(['en'])");
run("internals.setPrimaryAudioTrackLanguageOverride('fr')");
run("internals.setCaptionDisplayMode('ForcedOnly')");
video.src = '../content/CC+Subtitles.mov';
waitForEvent('canplaythrough', testTracks);
}
</script>
</head>
<body onload="setup()">
<p>Tests that forced subtitles are enable automatically.</p>
<video width="640" height="360" controls>
</video>
</body>
</html>