<!doctype html>
<html>
 <head>
  <title>video events - loadedmetadata</title>
  <script src="../../w3cwrapper.js"></script>
  <script src="../../../Microsoft/common/media.js"></script>
 </head>
 <body>
  <p><a href="http://dev.w3.org/html5/spec/Overview.html#mediaevents">spec reference</a></p>
  <video id="a" controls>
  </video>
  <div id="log"></div>
  <script>
var t = async_test("setting src attribute on non-autoplay video should trigger loadedmetadata event", {timeout:30000});
var a = document.getElementById("a");
a.addEventListener("loadedmetadata", function() {
  t.step(function() {
   assert_true(true);
  });
  t.done();
});
a.src = getAudioURI("http://media.w3.org/2010/05/sound/sound_5") + "?" + new Date() + Math.random();
  </script>
 </body>
</html>
