blob: 989249ce149d8080c2062a5f6f478c1cea34de46 [file] [log] [blame]
<!DOCTYPE html>
<title>Test that we can display a track list menu and select tracks from the list.</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="track/track-helpers.js"></script>
<script src="media-file.js"></script>
<script src="media-controls.js"></script>
<!-- Width should be large enough to display closed captions button. -->
<video controls style="width: 500px">
<track src="track/captions-webvtt/captions.vtt" kind="captions" label="Track1">
<track src="track/captions-webvtt/long-word.vtt" kind="captions" label="Track2">
</video>
<script>
async_test(function(t) {
var video = document.querySelector("video");
var trackElements = document.querySelectorAll("track");
for (var i = 0; i < video.textTracks.length; i++)
trackElements[i].onload = t.step_func(trackLoaded);
enableAllTextTracks(video.textTracks);
var numberOfTracksLoaded = 0;
function trackLoaded() {
numberOfTracksLoaded++;
if (numberOfTracksLoaded != 2)
return;
video.oncanplaythrough = t.step_func_done(function() {
assert_true(isClosedCaptionsButtonVisible(video));
assert_equals(video.textTracks.length, 2);
assert_equals(video.textTracks[0].mode, "hidden");
assert_equals(video.textTracks[1].mode, "hidden");
// Select track 0 and verify it is displayed.
clickTextTrackAtIndex(video, 0);
assert_equals(video.textTracks[0].mode, "showing");
assert_equals(video.textTracks[1].mode, "hidden");
assert_equals(textTrackDisplayElement(video).innerText, "Lorem");
// Select track 1 and verify it is displayed.
clickTextTrackAtIndex(video, 1);
assert_equals(video.textTracks[0].mode, "disabled");
assert_equals(video.textTracks[1].mode, "showing");
assert_equals(textTrackDisplayElement(video).innerText, "first caption");
});
video.src = findMediaFile("video", "content/test");
}
});
</script>