<!DOCTYPE HTML>
<title>Test that the media element is in correct state after load fails.</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<video></video>
<script>
async_test(function(t) {
var video = document.querySelector("video");
assert_equals(video.error, null);
video.oncanplaythrough = t.unreached_func();
video.onerror = t.step_func_done(function () {
assert_not_equals(video.error, null);
assert_equals(video.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);
// Actual message can vary greatly, so we only verify the attribute's type.
assert_equals(typeof video.error.message, 'string', 'MediaError.message type');
assert_equals(video.networkState, HTMLMediaElement.NETWORK_NO_SOURCE);
assert_true(isNaN(video.duration));
assert_equals(video.currentTime, 0);
assert_equals(video.buffered.length, 0);
assert_equals(video.seekable.length, 0);
assert_equals(video.buffered.length, 0);
});
video.src = "content/does-not-exist.mpeg";
});
</script>