 Chromium Code Reviews
 Chromium Code Reviews Issue 2133223004:
  Convert video-played* tests to testharness.js  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 2133223004:
  Convert video-played* tests to testharness.js  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: third_party/WebKit/LayoutTests/media/video-played-reset.html | 
| diff --git a/third_party/WebKit/LayoutTests/media/video-played-reset.html b/third_party/WebKit/LayoutTests/media/video-played-reset.html | 
| index f0e71747dd2e2d8fe4e27bbe98aea1efa1726a5f..f09f0fcb76e2147c15bb23b73c630bb5b84e3dd4 100644 | 
| --- a/third_party/WebKit/LayoutTests/media/video-played-reset.html | 
| +++ b/third_party/WebKit/LayoutTests/media/video-played-reset.html | 
| @@ -1,91 +1,54 @@ | 
| -<html> | 
| - <head> | 
| - <title>Test of 'played' attribute</title> | 
| - <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 src=video-played.js></script> | 
| - <script> | 
| - | 
| - var testFunctions = | 
| - [ | 
| - PlayWithNoRanges, | 
| - ResetToAVideoSource, | 
| - JumpAndPlayFwd, | 
| - ResetToAnEmptyVideoSource | 
| - ]; | 
| - | 
| - // NOTE: Result details are not printed for this test because time values are different from machine | 
| - // to machine and run to run. Commenting out the following line turns on detailed logging back on, which | 
| - // can be useful for debugging test failure. | 
| - disableFullTestDetailsPrinting(); | 
| - | 
| - function PlayWithNoRanges() | 
| - { | 
| - consoleWrite("<br><b><em>Test playing when there are no ranges</em></b>"); | 
| - | 
| - timeRangeCount = currentTimeRange = 0; | 
| - willPauseInExistingRange = false; | 
| - willExtendAnExistingRange = false; | 
| - | 
| - startPlayingInNewRange(); | 
| - } | 
| - | 
| - function ResetToAVideoSource() | 
| - { | 
| - consoleWrite("<br><b><em>Test to reset to non empty video source</em></b>"); | 
| - | 
| - timeRangeCount = currentTimeRange = 0; | 
| - expectedStartTimes = new Array(); | 
| - expectedEndTimes = new Array(); | 
| - | 
| - willPauseInExistingRange = false; | 
| - willExtendAnExistingRange = false; | 
| - | 
| - var mediaFile = findMediaFile("video", "content/test"); | 
| - runSilently("video.src = \"" + mediaFile + "\""); | 
| - | 
| - waitForEventOnce("canplay", canplay); | 
| - run("video.load()"); // Triggers canplay() | 
| - } | 
| - | 
| - function JumpAndPlayFwd() | 
| - { | 
| - consoleWrite("<br><b><em>Test jumping forward into a new range and play</em></b>"); | 
| - | 
| - var newTime = video.duration - 0.5; | 
| - runSilently("video.currentTime = " + (newTime.toFixed(2))); | 
| - | 
| - willPauseInExistingRange = false; | 
| - willExtendAnExistingRange = false; | 
| - currentTimeRange = 1; | 
| - | 
| - startPlayingInNewRange(); | 
| - } | 
| - | 
| - function ResetToAnEmptyVideoSource() | 
| - { | 
| - consoleWrite("<br><b><em>Test to reset to an empty video source</em></b>"); | 
| - | 
| - willPauseInExistingRange = false; | 
| - willExtendAnExistingRange = false; | 
| - timeRangeCount = currentTimeRange = 0; | 
| - | 
| - expectedStartTimes = new Array(); | 
| - expectedEndTimes = new Array(); | 
| - | 
| - run("video.src = \"\""); | 
| - waitForEvent("loadstart", function () { testRanges(); nextTest(); }); | 
| - run("video.load()"); // Triggers loadstart() | 
| - } | 
| - </script> | 
| - </head> | 
| - | 
| -<body onload="videoPlayedMain()"> | 
| - | 
| - <video controls></video> | 
| - <p>Test of the media element 'played' attribute</p> | 
| - | 
| -</body> | 
| -</html> | 
| +<!DOCTYPE html> | 
| +<title>Test media element's "played" attribute.</title> | 
| +<script src="../resources/testharness.js"></script> | 
| +<script src="../resources/testharnessreport.js"></script> | 
| +<script src="media-file.js"></script> | 
| +<script src="video-played.js"></script> | 
| +<video></video> | 
| +<script> | 
| +var video; | 
| +async_test(function(t) { | 
| + var expectedStartTimes = []; | 
| + var expectedEndTimes = []; | 
| + video = document.querySelector("video"); | 
| + | 
| + video.oncanplay = t.step_func(function() { | 
| + video.oncanplay = null; | 
| + testRanges(expectedStartTimes, expectedEndTimes); | 
| + // Test playing when there are no ranges. | 
| + timeRangeCount = currentTimeRange = 0; | 
| + startPlayingInNewRange(t, expectedStartTimes); | 
| + }); | 
| + waitForPauseAndContinue(t, resetToAVideoSource, false, expectedStartTimes, expectedEndTimes); | 
| + | 
| + function resetToAVideoSource() { | 
| + // Test to reset to non empty video source. | 
| + timeRangeCount = currentTimeRange = 0; | 
| + expectedStartTimes = []; | 
| + expectedEndTimes = []; | 
| + video.src = findMediaFile("video", "content/test"); | 
| + video.oncanplay = t.step_func(jumpAndPlayFwd); | 
| + } | 
| + | 
| + function jumpAndPlayFwd() { | 
| + video.oncanplay = null; | 
| + testRanges(expectedStartTimes, expectedEndTimes); | 
| + // Test jumping forward into a new range and play. | 
| + video.currentTime = (video.duration - 0.5).toFixed(2); | 
| + currentTimeRange = 1; | 
| + startPlayingInNewRange(t, expectedStartTimes); | 
| + waitForPauseAndContinue(t, ResetToAnEmptyVideoSource, false, expectedStartTimes, expectedEndTimes); | 
| + } | 
| + | 
| + function ResetToAnEmptyVideoSource() { | 
| 
fs
2016/07/16 13:28:13
Nit: Maybe use lowercase 'r' here too.
 
Srirama
2016/07/17 17:00:33
Done.
 | 
| + // Test to reset to an empty video source. | 
| + timeRangeCount = currentTimeRange = 0; | 
| + expectedStartTimes = []; | 
| + expectedEndTimes = []; | 
| + video.src = ""; | 
| + video.onloadstart = t.step_func_done(testRanges(expectedStartTimes, expectedEndTimes)); | 
| + } | 
| + | 
| + video.src = findMediaFile("video", "content/test"); | 
| +}); | 
| +</script> |