49 lines
1.7 KiB
HTML
49 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>no usable <source> test</title>
|
|
<script src=video-test.js></script>
|
|
<script>
|
|
document.addEventListener("error", errorEvent, true);
|
|
|
|
function errorEvent(evt)
|
|
{
|
|
findMediaElement();
|
|
consoleWrite("++ ERROR, src = " + relativeURL(event.target.src) + ", type = \"" + event.target.type + "\"");
|
|
testExpected("event.target.tagName", "SOURCE", "==");
|
|
|
|
// Any more source elements pending?
|
|
var nextSource = event.target.nextSibling;
|
|
while (video.hasChildNodes()) {
|
|
if (!nextSource || nextSource.tagName == "SOURCE")
|
|
break;
|
|
nextSource = nextSource.nextSibling;
|
|
}
|
|
|
|
if (!nextSource) {
|
|
testExpected("event.target.parentNode.networkState", HTMLMediaElement.NETWORK_NO_SOURCE, "==");
|
|
consoleWrite("");
|
|
endTest();
|
|
} else {
|
|
// Because the error event is fired asynchronously the network state can be either
|
|
// NETWORK_LOADING or NETWORK_NO_SOURCE, depending on whether or not
|
|
testExpected("event.target.parentNode.networkState", HTMLMediaElement.NETWORK_IDLE, ">");
|
|
}
|
|
|
|
consoleWrite("");
|
|
}
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
<video controls>
|
|
<source src="test.mp4" type="audio/x-chicken-face">
|
|
<source src="test.ogv" type="video/x-higglety-pigglety">
|
|
<source src="doesnotexist.mp4">
|
|
</video>
|
|
|
|
<p>1. Test that no usable <source> element leaves the media element with
|
|
networkState == NETWORK_NO_SOURCE</p>
|
|
</body>
|
|
</html>
|