blob: b1d80207bd0a5749c6e21f64157d7c0a3da64b12 [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>delay document 'load' event test</title>
<style> video { border: 3px solid red; } </style>
<script src=video-test.js></script>
<script src=media-file.js></script>
<script>
var video;
function testMovieWithNoSource(elem)
{
video = elem; // Need it in a global for testExpected() to see it.
consoleWrite("<em>no 'src'.</em>");
testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_EMPTY, "==");
testExpected("video.readyState", HTMLMediaElement.prototype.HAVE_NOTHING, "==");
}
function testMovieWithSource(elem, hasLoaded, msg)
{
video = elem; // Need it in a global for testExpected() to see it.
consoleWrite(msg);
if (hasLoaded) {
// The movie should have loaded at least to HAVE_CURRENT_DATA
testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_NO_SOURCE, "!=");
testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_IDLE, ">=");
testExpected("video.readyState", HTMLMediaElement.prototype.HAVE_CURRENT_DATA, ">=");
} else {
testExpected("video.networkState", HTMLMediaElement.prototype.NETWORK_NO_SOURCE, "==");
testExpected("video.readyState", HTMLMediaElement.prototype.HAVE_NOTHING, "==");
}
}
function loaded()
{
consoleWrite("<br><b>document <em>'load'<" + "/em> event handler</b>");
testMovieWithNoSource(document.getElementById('video-1'));
testMovieWithSource(document.getElementById('video-2'), true, "<br><em>with 'src' attribute.</em>");
testMovieWithSource(document.getElementById('video-3'), true, "<br><em>with &lt;source&gt; element.</em>");
if (window.testRunner)
testRunner.notifyDone();
}
</script>
</head>
<body onload="loaded()">
<video id="video-1"></video>
<video id="video-2"></video>
<video id="video-3"><source id="source-1"></video>
<p>Test the document's load event is delayed until a movie's meta data is available.</p>
<script>
consoleWrite("<br><b>inline script</b>");
testMovieWithNoSource(document.getElementById('video-1'));
video = document.getElementById('video-2');
video.src = findMediaFile("video", "content/test");
testMovieWithSource(video, false, "<br><em>with 'src' attribute.</em>");
source = document.getElementById('source-1');
source.src = findMediaFile("video", "content/test");
testMovieWithSource(document.getElementById('video-3'), false, "<br><em>with &lt;source&gt; element.</em>");
document.getElementById('video-3').load();
</script>
</body>
</html>