<!doctype html>
<html>
 <head>
  <title>{audio,video} events - loadstart</title>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
  <script src="/common/media.js"></script>
 </head>
 <body>
  <p><a href="https://html.spec.whatwg.org/multipage/#mediaevents">spec reference</a></p>
  <audio id="a" controls>
  </audio>
  <video id="v" controls>
  </video>
  <div id="log"></div>
  <script>
test(function() {
  var t = async_test("setting src attribute on non-autoplay audio should trigger loadstart event", {timeout:5000});
  var a = document.getElementById("a");
  a.addEventListener("loadstart", function() {
    t.done();
  }, false);
  a.src = getAudioURI("/media/sound_5") + "?" + new Date() + Math.random();
}, "audio events - loadstart");

test(function() {
  var t = async_test("setting src attribute on non-autoplay video should trigger loadstart event", {timeout:5000});
  var v = document.getElementById("v");
  v.addEventListener("loadstart", function() {
    t.done();
  }, false);
  v.src = getVideoURI("/media/movie_5") + "?" + new Date() + Math.random();
}, "video events - loadstart");
  </script>
 </body>
</html>
