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