Index: third_party/WebKit/LayoutTests/media/track/track-cues-sorted-before-dispatch.html |
diff --git a/third_party/WebKit/LayoutTests/media/track/track-cues-sorted-before-dispatch.html b/third_party/WebKit/LayoutTests/media/track/track-cues-sorted-before-dispatch.html |
index 8c6df18215931d22b0104527c937e01520327174..e602ee107762f6eddf9606a6332533530b3e5729 100644 |
--- a/third_party/WebKit/LayoutTests/media/track/track-cues-sorted-before-dispatch.html |
+++ b/third_party/WebKit/LayoutTests/media/track/track-cues-sorted-before-dispatch.html |
@@ -1,91 +1,48 @@ |
<!DOCTYPE html> |
-<html> |
- <head> |
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
- |
- <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 videoCanPlayThrough = false; |
- var trackLoaded = false; |
- |
- var currentCue; |
- var testTrack; |
- |
- var dispatchedEvents = []; |
- |
- function runTests() |
- { |
- if (!trackLoaded || !videoCanPlayThrough) |
- return; |
- |
- testTrack = document.getElementById("testTrack"); |
- testExpected("testTrack.track.cues.length", 8); |
- |
- for (var i = 0; i < testTrack.track.cues.length; ++i) { |
- testTrack.track.cues[i].addEventListener('enter', cueEnteredOrExited); |
- testTrack.track.cues[i].addEventListener('exit', cueEnteredOrExited); |
- } |
- |
- run("video.play()"); |
- } |
- |
- function cueEnteredOrExited(event) |
- { |
- currentCue = event.target; |
- |
- var eventObj = {}; |
- |
- eventObj.time = currentCue.startTime; |
- if (event.type == 'exit') |
- eventObj.time = currentCue.endTime; |
- |
- eventObj.type = event.type; |
- eventObj.cue = currentCue; |
- |
- dispatchedEvents.push(eventObj); |
- } |
- |
- function loaded() |
- { |
- trackLoaded = true; |
- runTests(); |
- } |
- |
- function bodyLoaded() |
- { |
- findMediaElement(); |
- video.src = findMediaFile("video", "../content/test"); |
- } |
- |
- function logEndTest() |
- { |
- for (var i = 0; i < dispatchedEvents.length; ++i) { |
- consoleWrite("Cue event: " + dispatchedEvents[i].type + |
- " id: " + dispatchedEvents[i].cue.id + |
- " time: " + dispatchedEvents[i].time); |
- } |
- |
- endTest(); |
- } |
- |
- waitForEvent('ended', logEndTest); |
- |
- waitForEventOnce('canplaythrough', function() { |
- video.currentTime = 5.00; |
- videoCanPlayThrough = true; |
- |
- runTests(); |
- }); |
- |
- </script> |
- </head> |
- <body onload="bodyLoaded()"> |
- <p>Tests that all events events are triggered in chronological order.</p> |
- <video controls> |
- <track id="testTrack" src="captions-webvtt/sorted-dispatch.vtt" onload="loaded()" default> |
- </video> |
- </body> |
-</html> |
+<title>Tests that all events are triggered in chronological order.</title> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<script src="../media-file.js"></script> |
+<video> |
+ <track src="captions-webvtt/sorted-dispatch.vtt" default> |
+</video> |
+<script> |
+async_test(function(t) { |
+ var video = document.querySelector("video"); |
+ video.src = findMediaFile("video", "../content/test"); |
+ var track = document.querySelector("track"); |
+ |
+ track.onload = t.step_func(function() { |
+ var cues = track.track.cues; |
+ assert_equals(cues.length, 8); |
+ |
+ for (var i = 0; i < cues.length; ++i) { |
+ cues[i].onenter = t.step_func(cueEnteredOrExited); |
+ cues[i].onexit = t.step_func(cueEnteredOrExited); |
+ } |
+ |
+ video.play(); |
+ }); |
+ |
+ var cueTimings = []; |
+ function cueEnteredOrExited(event) { |
+ var currentCue = event.target; |
+ |
+ if (event.type == "exit") |
+ cueTimings.push(currentCue.endTime); |
+ else |
+ cueTimings.push(currentCue.startTime); |
+ } |
+ |
+ video.onended = t.step_func_done(function() { |
+ assert_equals(cueTimings.length, 14); |
+ var time = 0; |
+ for (var i = 0; i < cueTimings.length; ++i) { |
+ assert_less_than_equal(time, cueTimings[i], "cueTimings[" + i + "]"); |
+ time = cueTimings[i]; |
+ } |
+ }); |
+ |
+ video.currentTime = 5; |
+}); |
+</script> |