<video controls></video>
<p>Test that removing a media element from the tree when no media has been loaded does not generate a loadstart event.</p>
<script src=media-file.js></script>
<script src=video-test.js></script>
<script>
    didReceiveLoadStartEvent = false;
    video.addEventListener('loadstart', function() { didReceiveLoadStartEvent = true; });
    video.src = findMediaFile("video", "content/test");
    testExpected("video.networkState", HTMLMediaElement.NETWORK_NO_SOURCE);
    run("document.body.removeChild(video)");
    testExpected("didReceiveLoadStartEvent", false);
    endTest();
</script>
