Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Unified Diff: third_party/WebKit/LayoutTests/media/track/track-cues-sorted-before-dispatch.html

Issue 2074913006: Convert track-cues* and track-delete* tests to testharness.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..c99d1bfdfd6a658e2b39ac9ded384e1488ff21fb 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,52 @@
<!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 dispatchedEvents = [];
+ function cueEnteredOrExited(event) {
+ var currentCue = event.target;
+
+ var eventObj = {};
fs 2016/06/18 14:42:09 Could make the dispatchedEvents list contain only
Srirama 2016/06/18 16:46:57 Done.
+
+ if (event.type == "exit")
+ eventObj.time = currentCue.endTime;
+ else
+ eventObj.time = currentCue.startTime;
+
+ dispatchedEvents.push(eventObj);
+ }
+
+ video.onended = t.step_func_done(function() {
+ assert_equals(dispatchedEvents.length, 14);
+ var time = 0;
+ for (var i = 0; i < dispatchedEvents.length; ++i) {
+ assert_less_than_equal(time, dispatchedEvents[i].time);
fs 2016/06/18 14:42:09 Maybe add "timestamp/event " + i as the third argu
Srirama 2016/06/18 16:46:57 Done.
+ time = dispatchedEvents[i].time;
+ }
+ });
+
+ video.currentTime = 5;
+});
+</script>

Powered by Google App Engine
This is Rietveld 408576698