70 lines
2.2 KiB
HTML
70 lines
2.2 KiB
HTML
<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>
|