Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <html> | 1 <!DOCTYPE html> |
| 2 <head> | 2 <title>Test that an invalid "src" fires an error event and changing "src" to a v alid one triggers media load.</title> |
| 3 <!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956 | 3 <script src="../resources/testharness.js"></script> |
| 4 (Please avoid writing new tests using video-test.js) --> | 4 <script src="../resources/testharnessreport.js"></script> |
| 5 <script src=video-test.js></script> | 5 <script src="media-file.js"></script> |
| 6 <script src=media-file.js></script> | 6 <video></video> |
| 7 <script> | 7 <script> |
| 8 var mediaFile; | 8 // 1. Test that an invalid src attribute fires an error when the file fails to l oad. |
| 9 var loadedCount = 0; | 9 // 2. Test that changing src attribute triggers load after a load fails. |
| 10 var errorCount = 0; | 10 // 3. Test that changing src triggers load once a file is known to be valid. |
| 11 async_test(function(t) { | |
| 12 var mediaFile; | |
| 13 var loadedCount = 0; | |
| 14 var video = document.querySelector("video"); | |
| 11 | 15 |
| 12 function errorEvent() | 16 video.onloadedmetadata = t.step_func(function() { |
| 13 { | 17 var url = video.currentSrc; |
| 14 testExpected("relativeURL(video.currentSrc)", "bogus"); | 18 assert_equals(url.substr(url.lastIndexOf("/media/")+7), mediaFile); |
| 15 testExpected("video.networkState", HTMLMediaElement.NETWORK_NO_S OURCE); | 19 assert_false(isNaN(video.duration)); |
| 16 testExpected("video.error.code", MediaError.MEDIA_ERR_SRC_NOT_SU PPORTED); | |
| 17 consoleWrite(""); | |
| 18 | 20 |
| 19 // Prevent runaway tests when unexpected errors happen. | 21 if (++loadedCount >= 2) { |
|
fs
2016/06/25 17:12:03
Should never be > 2, right?
Srirama
2016/06/26 05:41:54
Done.
| |
| 20 if (++errorCount > 1) | 22 t.done(); |
| 21 endTest(); | 23 return; |
| 24 } | |
| 22 | 25 |
| 23 setSrcAttribure(findMediaFile("video", "content/test")); | 26 setSrcAttribure(findMediaFile("video", "content/counting")); |
| 24 consoleWrite(""); | 27 }); |
| 25 } | |
| 26 | 28 |
| 27 function loadedmetadata() | 29 video.onerror = t.step_func(function() { |
| 28 { | 30 var url = video.currentSrc; |
|
fs
2016/06/25 17:12:03
Assert loadedCount == 0 too?
Srirama
2016/06/26 05:41:55
Done.
| |
| 29 testExpected("stripExtension(relativeURL(video.currentSrc))", st ripExtension(mediaFile)); | 31 assert_equals(url.substr(url.lastIndexOf("/media/")+7), "bogus"); |
| 30 testExpected("isNaN(video.duration)", false); | 32 assert_equals(video.networkState, HTMLMediaElement.NETWORK_NO_SOURCE); |
| 31 consoleWrite(""); | 33 assert_equals(video.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED); |
| 34 setSrcAttribure(findMediaFile("video", "content/test")); | |
| 35 }); | |
| 32 | 36 |
| 33 if (++loadedCount >= 2) { | 37 setSrcAttribure("bogus"); |
| 34 mediaElement.removeEventListener('loadedmetadata', loadedmet adata); | |
| 35 endTest(); | |
| 36 return; | |
| 37 } | |
| 38 | 38 |
| 39 setSrcAttribure(findMediaFile("video", "content/counting")); | 39 function setSrcAttribure(src) { |
|
fs
2016/06/25 17:12:03
Let's fix this typo while we're at it (...bure ->
Srirama
2016/06/26 05:41:55
Done.
| |
| 40 consoleWrite(""); | 40 mediaFile = src; |
| 41 } | 41 video.src = src; |
| 42 | 42 } |
| 43 function setSrcAttribure(src) | 43 }); |
| 44 { | 44 </script> |
| 45 mediaFile = src; | |
| 46 video.setAttribute('src', src); | |
| 47 } | |
| 48 | |
| 49 function setup() | |
| 50 { | |
| 51 findMediaElement(); | |
| 52 waitForEvent('loadedmetadata', loadedmetadata); | |
| 53 waitForEvent('error', errorEvent); | |
| 54 setSrcAttribure("bogus"); | |
| 55 consoleWrite(""); | |
| 56 } | |
| 57 </script> | |
| 58 </head> | |
| 59 | |
| 60 <body onload="setup()"> | |
| 61 | |
| 62 <video controls" ></video> | |
| 63 | |
| 64 <p> | |
| 65 1. Test that an invalid src attribute fires an error when the file fails to load.<br> | |
| 66 2. Test that changing src attribute triggers load after a load fails.<br> | |
| 67 3. Test that changing src triggers load once a file is known to be valid. | |
| 68 </p> | |
| 69 | |
| 70 </body> | |
| 71 </html> | |
| OLD | NEW |