| <html> |
| <head> |
| <script src=video-test.js></script> |
| <script src=media-file.js></script> |
| <script> |
| var mediaFile; |
| var loadedCount = 0; |
| var errorCount = 0; |
| |
| function errorEvent() |
| { |
| testExpected("relativeURL(video.currentSrc)", "bogus"); |
| testExpected("video.networkState", HTMLMediaElement.NETWORK_NO_SOURCE); |
| testExpected("video.error.code", MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED); |
| consoleWrite(""); |
| |
| // Prevent runaway tests when unexpected errors happen. |
| if (++errorCount > 1) |
| endTest(); |
| |
| setSrcAttribure(findMediaFile("video", "content/test")); |
| consoleWrite(""); |
| } |
| |
| function loadedmetadata() |
| { |
| testExpected("stripExtension(relativeURL(video.currentSrc))", stripExtension(mediaFile)); |
| testExpected("isNaN(video.duration)", false); |
| consoleWrite(""); |
| |
| if (++loadedCount >= 2) { |
| mediaElement.removeEventListener('loadedmetadata', loadedmetadata); |
| endTest(); |
| return; |
| } |
| |
| setSrcAttribure(findMediaFile("video", "content/counting")); |
| consoleWrite(""); |
| } |
| |
| function setSrcAttribure(src) |
| { |
| mediaFile = src; |
| video.setAttribute('src', src); |
| } |
| |
| function setup() |
| { |
| findMediaElement(); |
| waitForEvent('loadedmetadata', loadedmetadata); |
| waitForEvent('error', errorEvent); |
| setSrcAttribure("bogus"); |
| consoleWrite(""); |
| } |
| </script> |
| </head> |
| |
| <body onload="setup()"> |
| |
| <video controls" ></video> |
| |
| <p> |
| 1. Test that an invalid src attribute fires an error when the file fails to load.<br> |
| 2. Test that changing src attribute triggers load after a load fails.<br> |
| 3. Test that changing src triggers load once a file is known to be valid. |
| </p> |
| |
| </body> |
| </html> |