Index: third_party/WebKit/LayoutTests/media/video-seek-past-end-paused.html |
diff --git a/third_party/WebKit/LayoutTests/media/video-seek-past-end-paused.html b/third_party/WebKit/LayoutTests/media/video-seek-past-end-paused.html |
index f00d58dd75ca2cb6207cabc375a6fbf76f452cab..50fac627ea46e635bbbae8bb1ca1b6ba6eb9d288 100644 |
--- a/third_party/WebKit/LayoutTests/media/video-seek-past-end-paused.html |
+++ b/third_party/WebKit/LayoutTests/media/video-seek-past-end-paused.html |
@@ -1,72 +1,42 @@ |
<!DOCTYPE html> |
-<html> |
- <head> |
- <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> |
- var timeupdateEventCount = 0; |
- |
- function doSetup() |
- { |
- findMediaElement(); |
- waitForEvent('canplaythrough', canPlayThrough); |
- video.src = findMediaFile('video', 'content/test'); |
- } |
- window.addEventListener('load', doSetup, false); |
- |
- function canPlayThrough() |
- { |
- testExpected("video.paused", true); |
- testExpected("video.ended", false); |
- video.addEventListener('timeupdate', timeUpdate); |
- run("video.play()"); |
- } |
- |
- function timeUpdate() |
- { |
- ++timeupdateEventCount; |
- |
- // Wait 2 timeupdate events so we are sure the media engine is |
- // playing the media. |
- if (timeupdateEventCount == 2) { |
- consoleWrite(""); |
- video.removeEventListener('timeupdate', timeUpdate); |
- // Make sure time is advancing. |
- testExpected("video.paused", false); |
- testExpected("mediaElement.currentTime", 0, '>'); |
- video.addEventListener('pause', paused); |
- video.pause(); |
- } |
- } |
- |
- function paused() { |
- consoleWrite(""); |
- testExpected("video.paused", true); |
- video.addEventListener('seeked', seeked); |
- // Seek past end. |
- video.currentTime = 500; |
- }; |
- |
- function seeked() |
- { |
- consoleWrite(""); |
- |
- testExpected("video.paused", true); |
- // Don't use "testExpected()" so we won't log the actual duration to the |
- // results file, as the floating point result may differ with different engines. |
- reportExpected(mediaElement.currentTime == mediaElement.duration, "mediaElement.currentTime", "==", "mediaElement.duration", mediaElement.currentTime); |
- |
- testExpected("video.ended", true); |
- consoleWrite(""); |
- timeupdateEventCount = 0; |
- endTest(); |
- } |
- </script> |
- </head> |
- <body> |
- <video controls></video> |
- <p>Test that seeking a paused video past its end sets currentTime to duration and leaves the video paused.</p> |
- </body> |
-</html> |
+<title>Test that seeking a paused video past its end sets currentTime to duration and leaves the video paused.</title> |
+<script src="../resources/testharness.js"></script> |
+<script src="../resources/testharnessreport.js"></script> |
+<script src="media-file.js"></script> |
+<video></video> |
+<script> |
+async_test(function(t) { |
+ var timeupdateEventCount = 0; |
+ var video = document.querySelector("video"); |
+ assert_true(video.paused); |
+ assert_false(video.ended); |
+ |
+ video.ontimeupdate = t.step_func(function() { |
+ if (++timeupdateEventCount != 2) |
+ return; |
+ |
+ // Wait for 2 timeupdate events so we are sure the |
+ // media engine is playing the media. |
+ video.ontimeupdate = null; |
+ // Make sure time is advancing. |
+ assert_false(video.paused); |
+ assert_greater_than(video.currentTime, 0); |
+ video.onpause = t.step_func(function() { |
+ assert_true(video.paused); |
+ video.onseeked = t.step_func_done(function() { |
+ assert_true(video.paused); |
+ assert_equals(video.currentTime, video.duration); |
+ assert_true(video.ended); |
+ }); |
+ |
+ // Seek past end. |
+ video.currentTime = 500; |
+ }); |
+ |
+ video.pause(); |
+ }); |
+ |
+ video.src = findMediaFile("video", "content/test"); |
+ video.play(); |
+}); |
+</script> |