<!doctype html>
<html>
 <head>
  <title>{audio,video} events - pause</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("calling play() then pause() on non-autoplay audio should trigger pause event", {timeout:5000});
  var a = document.getElementById("a");
  a.addEventListener("pause", function() {
    t.done();
  }, false);
  a.src = getAudioURI("/media/sound_5") + "?" + new Date() + Math.random();
  a.play();
  a.pause();
}, "audio events - pause");

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