Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/media/video-controls-overlay-play-button.html |
| diff --git a/third_party/WebKit/LayoutTests/media/video-controls-overlay-play-button.html b/third_party/WebKit/LayoutTests/media/video-controls-overlay-play-button.html |
| index 63f3378bf605e34266fb91c698dd345807a9977b..cb83a24de5a7411b40428f5d4dfa9ed679cce2b6 100644 |
| --- a/third_party/WebKit/LayoutTests/media/video-controls-overlay-play-button.html |
| +++ b/third_party/WebKit/LayoutTests/media/video-controls-overlay-play-button.html |
| @@ -1,82 +1,62 @@ |
| -<!doctype html> |
| -<html> |
| - <head> |
| - <title>Test that the overlay play button respects the controls attribute</title> |
| - <script src="media-controls.js"></script> |
| - <script src="media-file.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> |
| - function start() |
| - { |
| - window.internals.settings.setMediaControlsOverlayPlayButtonEnabled(true); |
| - |
| - // Add element dynamically, since otherwise the controls are created, but |
| - // hidden, before the setting is set, causing the setting to be ignored. |
| - addVideoElement(); |
| - |
| - findMediaElement(); |
| - |
| - video.controls = true; |
| - |
| - button = mediaControlsButton(video, 'overlay-play-button') |
| - testExpected('getComputedStyle(button).display', 'flex'); |
| - |
| - waitForEventOnce('loadeddata', loadeddata); |
| - video.src = findMediaFile('video', 'content/test'); |
| - } |
| - |
| - function addVideoElement() { |
| - element = document.createElement('video'); |
| - document.body.appendChild(element); |
| - } |
| - |
| - function loadeddata() |
| - { |
| - waitForEventOnce('play', play1); |
| - run('video.play()'); |
| - } |
| - |
| - function play1() |
| - { |
| - testExpected('getComputedStyle(button).display', 'none'); |
| - |
| - waitForEventOnce('pause', pause1); |
| - run('video.pause()'); |
| - } |
| - |
| - function pause1() |
| - { |
| - testExpected('getComputedStyle(button).display', 'flex'); |
| - |
| - video.controls = false; |
| - testExpected('getComputedStyle(button).display', 'none'); |
| - |
| - waitForEventOnce('play', play2); |
| - run('video.play()'); |
| - } |
| - |
| - function play2() |
| - { |
| - testExpected('getComputedStyle(button).display', 'none'); |
| - |
| - waitForEventOnce('pause', pause2); |
| - run('video.pause()'); |
| - } |
| - |
| - function pause2() |
| - { |
| - testExpected('getComputedStyle(button).display', 'none'); |
| - |
| - video.controls = true; |
| - testExpected('getComputedStyle(button).display', 'flex'); |
| - |
| - endTest(); |
| - } |
| - </script> |
| - </head> |
| - <body onload="start()"> |
| - <p>Test that the overlay play button respects the controls attribute</p> |
| - </body> |
| -</html> |
| +<!DOCTYPE html> |
| +<title>Test that the overlay play button respects the controls attribute.</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> |
| +<script> |
| +async_test(function(t) { |
| + internals.settings.setMediaControlsOverlayPlayButtonEnabled(true); |
| + |
| + // Add video dynamically, since otherwise the controls are created, but |
| + // hidden, before the setting is set, causing the setting to be ignored. |
| + var video = document.createElement("video"); |
| + document.documentElement.appendChild(video); |
|
foolip
2016/07/06 10:00:47
That's a weird place to have the video element, ca
Srirama
2016/07/06 11:35:49
To append to body, we need a body tag in the test,
|
| + |
| + video.controls = true; |
| + var button = mediaControlsButton(video, "overlay-play-button") |
| + assert_equals(getComputedStyle(button).display, "flex"); |
| + |
| + video.onloadeddata = t.step_func(function() { |
| + video.onloadeddata = null; |
|
foolip
2016/07/06 10:00:47
The structure of this test is honestly quite hard
Srirama
2016/07/06 10:53:18
I'm afraid i understood how we can apply eventwatc
foolip
2016/07/06 11:09:18
I haven't done it myself, but https://github.com/w
fs
2016/07/06 11:11:52
I think the mechanism for that is something like:
Srirama
2016/07/06 11:35:49
Done. Thanks @both for the info.
|
| + |
| + video.onplay = t.step_func(function() { |
| + play(pause1); |
| + }); |
| + |
| + video.play(); |
| + }); |
| + |
| + function play(pauseFunction) { |
| + video.onplay = null; |
| + assert_equals(getComputedStyle(button).display, "none"); |
| + |
| + video.onpause = t.step_func(pauseFunction); |
| + video.pause(); |
| + } |
| + |
| + function pause1() { |
| + video.onpause = null; |
| + assert_equals(getComputedStyle(button).display, "flex"); |
| + |
| + video.controls = false; |
| + assert_equals(getComputedStyle(button).display, "none"); |
| + |
| + video.onplay = t.step_func_done(function() { |
| + play(pause2); |
| + }); |
| + |
| + video.play(); |
| + } |
| + |
| + function pause2() { |
| + video.onpause = null; |
| + assert_equals(getComputedStyle(button).display, "none"); |
| + |
| + video.controls = true; |
| + assert_equals(getComputedStyle(button).display, "flex"); |
| + } |
| + |
| + video.src = findMediaFile("video", "content/test"); |
| +}); |
| +</script> |