Chromium Code Reviews| 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..5f3b9c610819beda5bfd0e50b9a162b815058863 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,52 @@ |
| <!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 < 3; i++) { |
|
foolip
2016/07/06 10:00:47
The hard-coded 3 is a bit unsightly, but oh well.
Srirama
2016/07/06 11:35:49
Replaced with text.length.
|
| + 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 < 3; i++) |
| + assert_equals(textTrackCueElementByIndex(video, i).innerText, text[i]); |
| + } |
| + |
| + function checkCaptionsHidden() { |
| + for (var i = 0; i < 3; i++) |
| + assert_equals(textTrackCueElementByIndex(video, i), null); |
|
foolip
2016/07/06 10:00:47
Simplify this to just assert_equals(textTrackCueEl
Srirama
2016/07/06 11:35:49
Done.
|
| + } |
| + |
| + video.src = findMediaFile("video", "content/counting"); |
| +}); |
| +</script> |