Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <html> | 1 <!DOCTYPE html> |
| 2 <body> | 2 <title>Test that removing valid "src" attribute doesn't trigger load of "source" elements.</title> |
| 3 <script src=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-file.js"></script> |
| 6 <script src=video-test.js></script> | 6 <video> |
| 7 <div id=panel></div> | 7 <source></source> |
| 8 <script> | 8 </video> |
| 9 var panel = document.getElementById("panel"); | 9 <script> |
| 10 var mediaFile = findMediaFile("video", "content/test"); | 10 async_test(function(t) { |
| 11 panel.innerHTML = "<video src=" + mediaFile + " controls onloadedmetadat a='loadedmetadata()'><source src=content/counting.mp4></video>"; | 11 var loadCount = 0; |
| 12 </script> | 12 var video = document.querySelector("video"); |
| 13 | 13 |
| 14 <p>Test that removing valid 'src' attribute DOES NOT trigger load of <sou rce> elements</p> | 14 video.onloadedmetadata = t.step_func(function() { |
| 15 | 15 ++loadCount; |
| 16 <script> | 16 if (loadCount == 1) { |
| 17 findMediaElement(); | 17 testSrc(); |
| 18 | 18 video.removeAttribute("src"); |
| 19 var loadCount = 0; | 19 video.onloadedmetadata = t.unreached_func(); |
|
fs
2016/06/26 15:10:43
Because of this we should never "re-enter" this fu
Srirama
2016/06/26 18:14:03
I think the loadCount check doesn't make sense as
| |
| 20 | |
| 21 function testSrc() | |
| 22 { | |
| 23 testExpected("stripExtension(relativeURL(video.currentSrc))", stripE xtension(mediaFile)); | |
| 24 testExpected("isNaN(video.duration)", false); | |
| 25 consoleWrite(""); | |
| 26 } | 20 } |
| 27 | 21 |
| 28 function loadedmetadata() | 22 setTimeout(t.step_func_done(function() { |
| 29 { | 23 testSrc(); |
| 30 consoleWrite("EVENT(loadedmetadata)"); | 24 }), 100) ; |
| 25 }); | |
| 31 | 26 |
| 32 ++loadCount; | 27 function testSrc() { |
| 33 if (loadCount == 1) | 28 var url = video.currentSrc; |
| 34 { | 29 assert_equals(url.substr(url.lastIndexOf("/media/")+7), mediaFile); |
| 35 testSrc(); | 30 assert_false(isNaN(video.duration)); |
| 36 run("video.removeAttribute('src')"); | 31 } |
| 37 } | |
| 38 else | |
| 39 { | |
| 40 consoleWrite("<span style='color:red'>FAIL</span> : 'loadCount' fired " + loadCount + "times" ); | |
| 41 endTest(); | |
| 42 } | |
| 43 consoleWrite(""); | |
| 44 setTimeout(someTimeLater, 100) ; | |
| 45 } | |
| 46 | 32 |
| 47 function someTimeLater() | 33 document.querySelector("source").src = findMediaFile("video", "content/count ing"); |
| 48 { | 34 var mediaFile = findMediaFile("video", "content/test"); |
| 49 testSrc(); | 35 video.src = mediaFile; |
| 50 endTest(); | 36 }); |
| 51 consoleWrite(""); | 37 </script> |
| 52 } | |
| 53 | |
| 54 consoleWrite(""); | |
| 55 </script> | |
| 56 | |
| 57 </body> | |
| 58 </html> | |
| OLD | NEW |