| <!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> |