| OLD | NEW |
| (Empty) | |
| 1 <!DOCTYPE html> |
| 2 <title>Test that we can add multiple tracks and select between them from the tra
ck selection menu.</title> |
| 3 <script src='../../resources/testharness.js'></script> |
| 4 <script src='../../resources/testharnessreport.js'></script> |
| 5 <script src='../media-file.js'></script> |
| 6 <script src='../media-controls.js'></script> |
| 7 <!-- Width should be large enough to display closed captions button. --> |
| 8 <video controls style='width: 500px'></video> |
| 9 <script> |
| 10 async_test(t => { |
| 11 var video = document.querySelector('video'); |
| 12 var trackLanguages = ['en', 'ru', 'fr', 'jp', 'de']; |
| 13 var trackCueText = ['English', 'Russian', 'French', 'Japanese', 'German']; |
| 14 |
| 15 video.oncanplaythrough = t.step_func(_ => { |
| 16 for (var i = 0; i < trackLanguages.length; i++) { |
| 17 var track = video.addTextTrack('captions', trackCueText[i], trackLanguages
[i]); |
| 18 track.addCue(new VTTCue(0, 1, trackCueText[i])); |
| 19 track.mode = 'disabled'; |
| 20 } |
| 21 |
| 22 // The controls are updated asynchronously. |
| 23 assert_false(isClosedCaptionsButtonVisible(video)); |
| 24 |
| 25 setTimeout(t.step_func_done(_ => { |
| 26 assert_true(isClosedCaptionsButtonVisible(video)); |
| 27 assert_equals(video.textTracks.length, trackLanguages.length); |
| 28 |
| 29 for (var i = 0; i < trackLanguages.length; i++) { |
| 30 clickTextTrackAtIndex(video, i); |
| 31 assert_equals(video.textTracks[i].mode, 'showing'); |
| 32 assert_equals(textTrackDisplayElement(video).innerText, trackCueText[i])
; |
| 33 for (var j = 0; j < trackLanguages.length; j++) { |
| 34 if (j != i) |
| 35 assert_equals(video.textTracks[j].mode, 'disabled'); |
| 36 } |
| 37 } |
| 38 })); |
| 39 }); |
| 40 |
| 41 video.src = findMediaFile('video', '../content/test'); |
| 42 }); |
| 43 </script> |
| OLD | NEW |