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