| OLD | NEW |
| 1 <html> | 1 <!DOCTYPE html> |
| 2 <head> | 2 <title>Test event dispatches and attribute changes for seek to middle.</title> |
| 3 <script src=../../media-resources/media-file.js></script> | 3 <script src="../resources/testharness.js"></script> |
| 4 <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956 | 4 <script src="../resources/testharnessreport.js"></script> |
| 5 (Please avoid writing new tests using video-test.js) --> | 5 <script src="../../media-resources/media-file.js"></script> |
| 6 <script src=../../media-resources/video-test.js></script> | 6 <video></video> |
| 7 <script> | 7 <script> |
| 8 function testCommonAttributes(seekingExpected) | 8 async_test(function(t) { |
| 9 { | 9 var video = document.querySelector("video"); |
| 10 testExpected('video.seeking', seekingExpected, '=='); | |
| 11 testExpected('video.ended', false, '=='); | |
| 12 testExpected('video.currentTime == (video.duration / 2)', true,
'=='); | |
| 13 testExpected('video.paused', false, '=='); | |
| 14 } | |
| 15 | 10 |
| 16 function start() | 11 video.onended = t.unreached_func(); |
| 17 { | |
| 18 findMediaElement(); | |
| 19 | 12 |
| 20 waitForEventAndFail('ended'); | 13 var watcher = new EventWatcher(t, video, ["durationchange", "loadedmetadata"
, "loadeddata", "seeking", "timeupdate", "seeked"]); |
| 21 | 14 |
| 22 waitForEvent('durationchange'); | 15 watcher.wait_for(["durationchange", "loadedmetadata", "loadeddata"]).then(t.
step_func(function() { |
| 23 waitForEvent('loadedmetadata'); | 16 assert_less_than(video.currentTime, video.duration); |
| 24 waitForEventOnce('loadeddata', function () | 17 assert_false(video.ended); |
| 25 { | 18 assert_false(video.seeking); |
| 26 waitForEvent('seeking', function () | 19 assert_false(video.paused); |
| 27 { | 20 // Starting seek to middle by setting video.currentTime to half the dura
tion. |
| 28 testCommonAttributes(true); | 21 video.currentTime = video.duration / 2; |
| 29 waitForEventOnce('timeupdate', function() | 22 testCommonAttributes(true); |
| 30 { | 23 assert_less_than(video.currentTime, video.duration); |
| 31 testCommonAttributes(false); | 24 assert_greater_than(video.currentTime, 0); |
| 32 }); | 25 return watcher.wait_for("seeking"); |
| 33 }); | 26 })).then(t.step_func(function() { |
| 27 testCommonAttributes(true); |
| 28 return watcher.wait_for("timeupdate"); |
| 29 })).then(t.step_func(function() { |
| 30 testCommonAttributes(false); |
| 31 return watcher.wait_for("seeked"); |
| 32 })).then(t.step_func_done(function() { |
| 33 testCommonAttributes(false); |
| 34 })); |
| 34 | 35 |
| 35 waitForEvent('seeked', function () | 36 function testCommonAttributes(seekingExpected) { |
| 36 { | 37 assert_equals(video.seeking, seekingExpected); |
| 37 testCommonAttributes(false); | 38 assert_false(video.ended); |
| 38 endTest(); | 39 assert_equals(video.currentTime, video.duration / 2); |
| 39 }); | 40 assert_false(video.paused); |
| 41 } |
| 40 | 42 |
| 41 // Seek to half the duration of the media | 43 video.src = findMediaFile("video", "resources/test"); |
| 42 testExpected('video.currentTime < video.duration', true, '==
'); | 44 video.play(); |
| 43 testExpected('video.ended', false, '=='); | 45 }); |
| 44 testExpected('video.seeking', false, '=='); | 46 </script> |
| 45 testExpected('video.paused', false, '=='); | |
| 46 consoleWrite('Starting seek to middle by setting video.curre
ntTime to video.duration / 2'); | |
| 47 video.currentTime = video.duration / 2; | |
| 48 testCommonAttributes(true); | |
| 49 testExpected('video.currentTime < video.duration', true, '==
'); | |
| 50 testExpected('video.currentTime > 0', true, '=='); | |
| 51 }); | |
| 52 | |
| 53 var mediaFile = findMediaFile('video', 'resources/test'); | |
| 54 video.src = '/' + mediaFile; | |
| 55 run('video.play()'); | |
| 56 } | |
| 57 </script> | |
| 58 </head> | |
| 59 <body onload="start()"> | |
| 60 <video></video> | |
| 61 <p>Test event dispatches and attribute changes for seek to middle</p> | |
| 62 </body> | |
| 63 </html> | |
| OLD | NEW |