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

Unified Diff: third_party/WebKit/LayoutTests/media/event-attributes.html

Issue 2024533002: Convert csp-*, event-* and invalid-* tests to testharness.js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 7 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/event-attributes.html
diff --git a/third_party/WebKit/LayoutTests/media/event-attributes.html b/third_party/WebKit/LayoutTests/media/event-attributes.html
index 3f871a489877571be3d71bfc82a0badad47a0a22..c7072587941679c6b27bde2db7ff4708584df1fd 100644
--- a/third_party/WebKit/LayoutTests/media/event-attributes.html
+++ b/third_party/WebKit/LayoutTests/media/event-attributes.html
@@ -1,113 +1,94 @@
<!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 ratechangeCount = 0;
- var playingCount = 0;
- var progressEventCount = 0;
- var pauseEventCount = 0;
+<title>Test event attributes for media element.</title>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<script src="media-file.js"></script>
+<video controls></video>
+<script>
+async_test(function(t) {
+ var ratechangeCount = 0;
+ var playingCount = 0;
+ var progressEventCount = 0;
+ var pauseEventCount = 0;
- function eventHandler()
- {
- // Don't log progress event since the number and order are platform
- // specific.
- if (event.type != "progress")
- consoleWrite("EVENT(" + event.type + ")");
- switch (event.type)
- {
- case "canplaythrough":
- if (playingCount > 0)
- return;
- video.oncanplaythrough = null;
- testExpected('progressEventCount', 1, '>=');
- consoleWrite("<br>*** starting playback");
- run("video.play()");
- break;
- case "canplay":
- video.oncanplay = null;
- break;
- case "playing":
- if (++playingCount == 1) {
- consoleWrite("<br>*** changing playback rate");
- run("video.playbackRate = 2");
- }
- break;
- case "ratechange":
- if (++ratechangeCount == 1) {
- consoleWrite("<br>*** setting volume");
- run("video.volume = 0.5");
- }
- break;
- case "volumechange":
- consoleWrite("<br>*** pausing playback");
- run("video.pause()");
- break;
- case "pause":
- if(++pauseEventCount == 1) {
- consoleWrite("<br>*** seeking");
- run("video.currentTime = 5.6");
- }
- break;
- case "seeked":
- consoleWrite("<br>*** beginning playback");
- run("video.play()");
- break;
- case "ended":
- var mediaFile = findMediaFile("video", "content/garbage");
- consoleWrite("<br>*** played to end, setting 'src' to an invalid movie");
- run("progressEventCount = 0");
- video.src = mediaFile;
- break;
- case "progress":
- ++progressEventCount;
- break;
- case "error":
- testExpected('progressEventCount', 0);
- endTest();
- break;
- default:
- break;
- }
- }
+ var video = document.querySelector("video");
- function start()
- {
- setSrcByTagName("video", findMediaFile("video", "content/test"));
- findMediaElement();
- }
+ var actual_events = [];
+ var expected_events = ["loadstart", "durationchange", "loadedmetadata",
+ "loadeddata", "canplay", "canplaythrough", "play", "playing", "ratechange",
+ "volumechange", "pause", "seeking", "seeked", "play", "playing", "pause",
+ "ended", "abort", "emptied", "ratechange", "loadstart", "error"];
- </script>
- </head>
+ video.oncanplaythrough = t.step_func(function(event) {
+ actual_events.push(event.type);
+ video.oncanplaythrough = null;
+ assert_greater_than_equal(progressEventCount, 1);
+ video.play();
+ });
- <body onload="start()">
+ video.oncanplay = t.step_func(function(event) {
+ actual_events.push(event.type);
+ video.oncanplay = null;
+ });
- <video controls
- onabort="eventHandler()"
- oncanplay="eventHandler()"
- oncanplaythrough="eventHandler()"
- ondurationchange="eventHandler()"
- onemptied="eventHandler()"
- onended="eventHandler()"
- onerror="eventHandler()"
- onloadeddata="eventHandler()"
- onloadedmetadata="eventHandler()"
- onloadstart="eventHandler()"
- onpause="eventHandler()"
- onplay="eventHandler()"
- onplaying="eventHandler()"
- onprogress="eventHandler()"
- onratechange="eventHandler()"
- onseeked="eventHandler()"
- onseeking="eventHandler()"
- onstalled="eventHandler()"
- onvolumechange="eventHandler()"
- onwaiting="eventHandler()"
- >
- </video>
+ video.onplaying = t.step_func(function(event) {
+ actual_events.push(event.type);
+ if (++playingCount == 1)
+ video.playbackRate = 2;
+ });
- </body>
-</html>
+ video.onratechange = t.step_func(function(event) {
+ actual_events.push(event.type);
+ if (++ratechangeCount == 1)
+ video.volume = 0.5;
+ });
+
+ video.onvolumechange = t.step_func(function(event) {
+ actual_events.push(event.type);
+ video.pause();
+ });
+
+ video.onpause = t.step_func(function(event) {
+ actual_events.push(event.type);
+ if(++pauseEventCount == 1)
+ video.currentTime = 5.6;
+ });
+
+ video.onseeked = t.step_func(function(event) {
+ actual_events.push(event.type);
+ video.play();
+ });
+
+ video.onended = t.step_func(function(event) {
+ actual_events.push(event.type);
+ video.src = findMediaFile("video", "content/garbage");
+ progressEventCount = 0;
+ });
+
+ video.onprogress = t.step_func(function() {
+ // Don't log progress event since the number and order are platform specific.
+ ++progressEventCount;
+ });
+
+ video.onerror = t.step_func_done(function(event) {
+ actual_events.push(event.type);
+ assert_equals(progressEventCount, 0);
+ assert_array_equals(actual_events, expected_events);
+ });
+
+ var defaultEventStepFunction = t.step_func(function() {
+ actual_events.push(event.type);
+ });
+
+ video.onabort = defaultEventStepFunction;
+ video.ondurationchange = defaultEventStepFunction;
+ video.onemptied = defaultEventStepFunction;
+ video.onloadeddata = defaultEventStepFunction;
+ video.onloadedmetadata = defaultEventStepFunction;
+ video.onloadstart = defaultEventStepFunction;
+ video.onplay = defaultEventStepFunction;
+ video.onseeking = defaultEventStepFunction;
+
+ video.src = findMediaFile("video", "content/test");
+});
+</script>

Powered by Google App Engine
This is Rietveld 408576698