62 lines
2.3 KiB
HTML
62 lines
2.3 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<title>load() and the <source> element</title>
|
|
<script src=video-test.js></script>
|
|
<script src=media-file.js></script>
|
|
<script>
|
|
var sources = [];
|
|
var count = 0;
|
|
|
|
function canplaythrough()
|
|
{
|
|
testExpected("stripExtension(relativeURL(video.currentSrc))", relativeURL(stripExtension(sources[1])));
|
|
++count;
|
|
switch (count)
|
|
{
|
|
case 1:
|
|
consoleWrite("<br>+++ Calling load().");
|
|
video.load();
|
|
break;
|
|
case 2:
|
|
endTest();
|
|
return;
|
|
}
|
|
}
|
|
|
|
function addSource(type, name)
|
|
{
|
|
var source = document.createElement('source');
|
|
source.src = findMediaFile(type, name);
|
|
sources.push(source.src);
|
|
source.type = mimeTypeForExtension(source.src.split('.').pop());
|
|
video.appendChild(source);
|
|
}
|
|
|
|
function setup()
|
|
{
|
|
video = mediaElement = document.getElementsByTagName('video')[0];
|
|
|
|
consoleWrite("+++ Test initial networkState.");
|
|
testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_EMPTY, "==");
|
|
|
|
// Add an invalid url to the first source so we test getting an error event
|
|
// each time resource selection runs.
|
|
addSource("video", "content/bogus");
|
|
addSource("video", "content/test");
|
|
addSource("audio", "content/test");
|
|
|
|
consoleWrite("<br>+++ Add <source> elements to trigger loading, test networkState.");
|
|
testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_NO_SOURCE, "==");
|
|
|
|
waitForEvent("canplaythrough", canplaythrough);
|
|
waitForEvent("error");
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="setup()">
|
|
<video controls width=300 ></video>
|
|
<p>Test that the resource selection algorithm is restarted when load() is called, and that all <source> elements are reconsidered.</p>
|
|
</body>
|
|
</html>
|