blob: 23d1e0474ac3999b5604fc2af961b31f098d1761 [file] [log] [blame]
<!doctype html>
<html>
<head>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
</head>
<body>
<p> Verify that a timeout ProgressEvent is dispatched and have the expected values.</p>
<div id="log"></div>
<script type="text/javascript">
function verifyProgressEvent(context, e)
{
assert_true(e.loaded >= 0, "Non-zero 'loaded' value for '" + context + "' event.");
assert_true(!e.lengthComputable || e.total > 0, "Non-zero 'total' value for '" + context + "' event.");
}
function logProgressEvent(e) {
results += " " + e.type;
}
function unexpectedProgressEvent(e) {
assert_unreached("Unexpected request error");
}
function timeoutHandler(e)
{
assert_true(e instanceof ProgressEvent);
verifyProgressEvent("ontimeout", e);
testOnTimeoutEvent.done();
}
var testOnTimeoutEvent = async_test("Check that 'timeout' events are delivered and have expected values.");
testOnTimeoutEvent.step(function () {
var xhr = new XMLHttpRequest();
xhr.ontimeout = testOnTimeoutEvent.step_func(timeoutHandler);
xhr.onabort = testOnTimeoutEvent.step_func(unexpectedProgressEvent);
xhr.onerror = testOnTimeoutEvent.step_func(unexpectedProgressEvent);
xhr.onload = testOnTimeoutEvent.step_func(unexpectedProgressEvent);
xhr.timeout = 30;
xhr.open("GET", "/resources/load-and-stall.php?name=../resources/test.mp4&stallAt=100&stallFor=10000&mimeType=video/mp4", true);
xhr.send();
});
</script>
</body>
</html>