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

Unified Diff: third_party/WebKit/LayoutTests/media/video-delay-load-event.html

Issue 2096413003: Convert video-delay* and video-display* tests to testharness.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: modify as per suggestion 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/media/video-delay-load-event-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/media/video-delay-load-event.html
diff --git a/third_party/WebKit/LayoutTests/media/video-delay-load-event.html b/third_party/WebKit/LayoutTests/media/video-delay-load-event.html
index 7de7b4b2f2b2afed00e5f265f65748e2f0c6c42f..35922274cc01f830a919faa84e7d620845bfc49d 100644
--- a/third_party/WebKit/LayoutTests/media/video-delay-load-event.html
+++ b/third_party/WebKit/LayoutTests/media/video-delay-load-event.html
@@ -1,72 +1,46 @@
-<!doctype html>
-<html>
- <head>
- <title>delay document 'load' event test</title>
- <style> video { border: 3px solid red; } </style>
- <!-- 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 src=media-file.js></script>
- <script>
- var video;
-
- function testMovieWithNoSource(elem)
- {
- video = elem; // Need it in a global for testExpected() to see it.
- consoleWrite("<em>no 'src'.</em>");
- testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_EMPTY, "==");
- testExpected("video.readyState", HTMLMediaElement.prototype.HAVE_NOTHING, "==");
- }
-
- function testMovieWithSource(elem, hasLoaded, msg)
- {
- video = elem; // Need it in a global for testExpected() to see it.
- consoleWrite(msg);
- if (hasLoaded) {
- // The movie should have loaded at least to HAVE_CURRENT_DATA
- testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_NO_SOURCE, "!=");
- testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_IDLE, ">=");
- testExpected("video.readyState", HTMLMediaElement.prototype.HAVE_CURRENT_DATA, ">=");
- } else {
- testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_NO_SOURCE, "==");
- testExpected("video.readyState", HTMLMediaElement.prototype.HAVE_NOTHING, "==");
- }
- }
-
- function loaded()
- {
- consoleWrite("<br><b>document <em>'load'<" + "/em> event handler</b>");
-
- testMovieWithNoSource(document.getElementById('video-1'));
- testMovieWithSource(document.getElementById('video-2'), true, "<br><em>with 'src' attribute.</em>");
- testMovieWithSource(document.getElementById('video-3'), true, "<br><em>with &lt;source&gt; element.</em>");
-
- if (window.testRunner)
- testRunner.notifyDone();
- }
- </script>
- </head>
- <body onload="loaded()">
- <video id="video-1"></video>
- <video id="video-2"></video>
- <video id="video-3"><source id="source-1"></video>
-
- <p>Test the document's load event is delayed until a movie's meta data is available.</p>
-
- <script>
- consoleWrite("<br><b>inline script</b>");
-
- testMovieWithNoSource(document.getElementById('video-1'));
-
- video = document.getElementById('video-2');
- video.src = findMediaFile("video", "content/test");
- testMovieWithSource(video, false, "<br><em>with 'src' attribute.</em>");
-
- source = document.getElementById('source-1');
- source.src = findMediaFile("video", "content/test");
- testMovieWithSource(document.getElementById('video-3'), false, "<br><em>with &lt;source&gt; element.</em>");
- document.getElementById('video-3').load();
- </script>
-
- </body>
-</html>
+<!DOCTYPE html>
+<title>Test that the document's load event is delayed until a video's meta data is available.</title>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<script src="media-file.js"></script>
+<video id="video1"></video>
+<video id="video2"></video>
+<video id="video3"><source></source></video>
+<script>
+async_test(function(t) {
+ assertVideoNoSrcNoLoad(document.getElementById("video1"));
+
+ var video = document.getElementById("video2");
+ video.src = findMediaFile("video", "content/test");
+ assertVideoSrcNoLoad(video);
+
+ var source = document.querySelector("source");
+ source.src = findMediaFile("video", "content/test");
+ assertVideoSrcNoLoad(document.getElementById("video3"));
+
+ window.onload = t.step_func_done(function() {
+ assertVideoNoSrcNoLoad(document.getElementById("video1"));
+ assertVideoSrcLoad(document.getElementById("video2"));
+ assertVideoSrcLoad(document.getElementById("video3"));
+ });
+
+ function assertVideoNoSrcNoLoad(video) {
+ // Video should not load as there is no "src".
+ assert_equals(video.networkState, HTMLMediaElement.NETWORK_EMPTY);
+ assert_equals(video.readyState, HTMLMediaElement.HAVE_NOTHING);
+ }
+
+ function assertVideoSrcNoLoad(video) {
+ // Video loading has just triggered.
+ assert_equals(video.networkState, HTMLMediaElement.NETWORK_NO_SOURCE);
+ assert_equals(video.readyState, HTMLMediaElement.HAVE_NOTHING);
+ }
+
+ function assertVideoSrcLoad(video) {
+ // The Video should have loaded at least to HAVE_CURRENT_DATA
+ assert_not_equals(video.networkState, HTMLMediaElement.NETWORK_NO_SOURCE);
+ assert_greater_than_equal(video.networkState, HTMLMediaElement.NETWORK_IDLE);
+ assert_greater_than_equal(video.readyState, HTMLMediaElement.HAVE_CURRENT_DATA);
+ }
+});
+</script>
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/media/video-delay-load-event-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698