<!DOCTYPE html>
<title>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.</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");
video.onloadstart = t.step_func(function() {});
video.onloadedmetadata = t.step_func(function() {});
video.onloadeddata = t.step_func(function() {});
video.oncanplay = t.step_func(function() {});
video.onplay = t.unreached_func();
video.onplaying = t.unreached_func();
video.onerror = t.step_func(function() {
assert_equals(video.networkState, HTMLMediaElement.NETWORK_NO_SOURCE);
// now set a valid url
video.src = "content/test.ogv";
});
video.oncanplaythrough = t.step_func_done(function () {
assert_greater_than_equal(video.networkState, HTMLMediaElement.NETWORK_IDLE);
});
// first set the src to a bogus url, it should attempt a load
assert_equals(video.networkState, HTMLMediaElement.NETWORK_EMPTY);
video.src = "bogus/movie.mpg";
});
</script>