<video controls></video>
<p>Test that an invalid video file generates a MEDIA_ERR_SRC_NOT_SUPPORTED error and sets networkState to NETWORK_NO_SOURCE.</p>
<script src=media-file.js></script>
<script src=video-test.js></script>

<script>
    video.src = findMediaFile("video", "content/garbage");
    waitForEvent("error", function () {
        testExpected("video.error", "[object MediaError]");
        testExpected("video.error.code", MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);
        testExpected("video.networkState", HTMLMediaElement.NETWORK_NO_SOURCE);
        endTest();
    });
</script>
