| Index: third_party/WebKit/LayoutTests/media/video-controls-captions-on-off.html
|
| diff --git a/third_party/WebKit/LayoutTests/media/video-controls-captions-on-off.html b/third_party/WebKit/LayoutTests/media/video-controls-captions-on-off.html
|
| index 062f74d564fe9590acb2e3c2bfc528f7371202bd..dca2bf3fc6dd3e3bb8135fedf3f9160d938010f6 100644
|
| --- a/third_party/WebKit/LayoutTests/media/video-controls-captions-on-off.html
|
| +++ b/third_party/WebKit/LayoutTests/media/video-controls-captions-on-off.html
|
| @@ -1,87 +1,51 @@
|
| <!DOCTYPE html>
|
| -<html>
|
| -<head>
|
| - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
| - <title>Test closed caption track selection on and off.</title>
|
| - <script src=media-file.js></script>
|
| - <script src=media-controls.js></script>
|
| - <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956
|
| - (Please avoid writing new tests using video-test.js) -->
|
| - <script src=video-test.js></script>
|
| - <script>
|
| - var text = ["First", "Second", "Third"];
|
| - var displayElement;
|
| -
|
| - function addTextTrack()
|
| - {
|
| - var track = video.addTextTrack('captions');
|
| -
|
| - for (var i = 0; i < 3; i++) {
|
| - var cue = new VTTCue(0, 120, text[i]);
|
| - track.addCue(cue);
|
| - }
|
| - }
|
| -
|
| - function checkCaptionsDisplay()
|
| - {
|
| - for (var i = 0; i < 3; i++) {
|
| - try {
|
| - displayElement = textTrackDisplayElement(video, "display", i);
|
| - testExpected("displayElement.innerText", text[i]);
|
| - } catch (e) {
|
| - consoleWrite(e);
|
| - }
|
| - }
|
| - }
|
| -
|
| - function startTest()
|
| - {
|
| - if (!window.eventSender) {
|
| - consoleWrite("No eventSender found.");
|
| - failTest();
|
| - }
|
| -
|
| - addTextTrack();
|
| -
|
| - findMediaElement();
|
| - testClosedCaptionsButtonVisibility(true);
|
| -
|
| - consoleWrite("");
|
| - consoleWrite("** The captions track should be listed in textTracks, but not yet loaded. **");
|
| - testExpected("video.textTracks.length", 1);
|
| - testExpected("video.textTracks[0].mode", "hidden");
|
| - checkCaptionsDisplay();
|
| -
|
| - consoleWrite("");
|
| - consoleWrite("** Captions track should become visible after the track is selected **");
|
| - selectTextTrack(video, 0);
|
| - checkCaptionsDisplay();
|
| -
|
| - consoleWrite("");
|
| - consoleWrite("** Captions should not be visible after they're turned off through the menu **");
|
| - turnClosedCaptionsOff(video);
|
| - checkCaptionsDisplay();
|
| -
|
| - consoleWrite("");
|
| - consoleWrite("** Captions track should become visible after the track is selected again **");
|
| - selectTextTrack(video, 0);
|
| - checkCaptionsDisplay();
|
| -
|
| - consoleWrite("");
|
| - endTest();
|
| - }
|
| -
|
| - function loaded()
|
| - {
|
| - findMediaElement();
|
| - waitForEvent('canplaythrough', startTest);
|
| -
|
| - video.src = findMediaFile('video', 'content/counting');
|
| +<title>Tests that tracks can be turned on and off through 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>
|
| +<video controls></video>
|
| +<script>
|
| +async_test(function(t) {
|
| + var text = ["First", "Second", "Third"];
|
| + var video = document.querySelector("video");
|
| +
|
| + video.oncanplaythrough = t.step_func_done(function() {
|
| + var track = video.addTextTrack("captions");
|
| +
|
| + for (var i = 0; i < text.length; i++) {
|
| + var cue = new VTTCue(0, 120, text[i]);
|
| + track.addCue(cue);
|
| }
|
| - </script>
|
| -</head>
|
| -<body onload="loaded()">
|
| - <p>Tests that tracks can be turned on and off through the track selection menu</p>
|
| - <video controls></video>
|
| -</body>
|
| -</html>
|
| + assert_true(isClosedCaptionsButtonVisible(video));
|
| +
|
| + // The captions track should be listed in textTracks, but not yet loaded.
|
| + assert_equals(video.textTracks.length, 1);
|
| + assert_equals(video.textTracks[0].mode, "hidden");
|
| + checkCaptionsHidden();
|
| +
|
| + // Captions track should become visible after the track is selected.
|
| + clickTextTrackAtIndex(video, 0);
|
| + checkCaptionsVisible();
|
| +
|
| + // Captions should not be visible after they're turned off through the menu.
|
| + turnClosedCaptionsOff(video);
|
| + checkCaptionsHidden();
|
| +
|
| + // Captions track should become visible after the track is selected again.
|
| + clickTextTrackAtIndex(video, 0);
|
| + checkCaptionsVisible();
|
| + });
|
| +
|
| + function checkCaptionsVisible() {
|
| + for (var i = 0; i < text.length; i++)
|
| + assert_equals(textTrackCueElementByIndex(video, i).innerText, text[i]);
|
| + }
|
| +
|
| + function checkCaptionsHidden() {
|
| + assert_equals(textTrackCueElementByIndex(video, 0), null);
|
| + }
|
| +
|
| + video.src = findMediaFile("video", "content/counting");
|
| +});
|
| +</script>
|
|
|