| Index: third_party/WebKit/LayoutTests/media/controls/closed-captions-switch-track.html
|
| diff --git a/third_party/WebKit/LayoutTests/media/controls/closed-captions-switch-track.html b/third_party/WebKit/LayoutTests/media/controls/closed-captions-switch-track.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2915e3f362ad9f95100d01f0078901fcc148d738
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/media/controls/closed-captions-switch-track.html
|
| @@ -0,0 +1,43 @@
|
| +<!DOCTYPE html>
|
| +<title>Test that we can add multiple tracks and select between them from the track selection menu.</title>
|
| +<script src='../../resources/testharness.js'></script>
|
| +<script src='../../resources/testharnessreport.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'></video>
|
| +<script>
|
| +async_test(t => {
|
| + var video = document.querySelector('video');
|
| + var trackLanguages = ['en', 'ru', 'fr', 'jp', 'de'];
|
| + var trackCueText = ['English', 'Russian', 'French', 'Japanese', 'German'];
|
| +
|
| + video.oncanplaythrough = t.step_func(_ => {
|
| + for (var i = 0; i < trackLanguages.length; i++) {
|
| + var track = video.addTextTrack('captions', trackCueText[i], trackLanguages[i]);
|
| + track.addCue(new VTTCue(0, 1, trackCueText[i]));
|
| + track.mode = 'disabled';
|
| + }
|
| +
|
| + // The controls are updated asynchronously.
|
| + assert_false(isClosedCaptionsButtonVisible(video));
|
| +
|
| + setTimeout(t.step_func_done(_ => {
|
| + assert_true(isClosedCaptionsButtonVisible(video));
|
| + assert_equals(video.textTracks.length, trackLanguages.length);
|
| +
|
| + for (var i = 0; i < trackLanguages.length; i++) {
|
| + clickTextTrackAtIndex(video, i);
|
| + assert_equals(video.textTracks[i].mode, 'showing');
|
| + assert_equals(textTrackDisplayElement(video).innerText, trackCueText[i]);
|
| + for (var j = 0; j < trackLanguages.length; j++) {
|
| + if (j != i)
|
| + assert_equals(video.textTracks[j].mode, 'disabled');
|
| + }
|
| + }
|
| + }));
|
| + });
|
| +
|
| + video.src = findMediaFile('video', '../content/test');
|
| +});
|
| +</script>
|
|
|