blob: eee64ac8ac51df5091df526748dc826d6dac718e [file] [log] [blame]
<html>
<body>
<video controls></video>
<p>Test that setting src to an invalid url triggers load(), which sets networkState
to NETWORK_NO_SOURCE. Setting src to a valid url should then trigger the loading
events and end up with networkState >= NETWORK_LOADING.
</p>
<script src=media-file.js></script>
<script src=video-test.js></script>
<script>
function testNetworkState(expected, endit, op)
{
testExpected("video.networkState", expected, op);
if (endit)
endTest();
}
waitForEvent("loadstart");
waitForEvent("loadedmetadata");
waitForEvent("loadeddata");
waitForEvent("canplay");
waitForEventAndFail("play");
waitForEventAndFail("playing");
waitForEvent("canplaythrough", function () { testNetworkState(HTMLMediaElement.NETWORK_IDLE, true, '>=' ); } );
function waitUntilNotLoading()
{
if (video.networkState == HTMLMediaElement.NETWORK_LOADING) {
setTimeout(waitUntilNotLoading, 100);
return;
}
testNetworkState(HTMLMediaElement.NETWORK_NO_SOURCE);
consoleWrite("");
// now set a valid url
var mediaFile = findMediaFile("video", "content/test");
disableFullTestDetailsPrinting();
runSilently("video.src = '" + mediaFile + "'");
enableFullTestDetailsPrinting();
}
// first set the src to a bogus url, it should attempt a load
consoleWrite("");
testNetworkState(HTMLMediaElement.NETWORK_EMPTY);
run("video.src = 'bogus/movie.mpg'");
setTimeout(waitUntilNotLoading, 100);
</script>
</body>
</html>