<!DOCTYPE html>
<title>video is not paused while looping</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="w3c-media-utils.js"></script>
<video controls loop></video>
<script>
async_test(function(test) {
  var video = document.querySelector('video');

  // Seek to near the end.
  video.onloadeddata = test.step_func(function() {
    waitForEventAndRunStep('seeked', video, seeked, test);
    video.currentTime = video.duration - 0.4;
  });

  video.src = getVideoURI("test");

  // Verify video is not paused.
  function seeking() {
    assert_equals(video.paused, false, 'paused');
    test.done();
  }

  // Play the video and wait for playback to loop.
  function seeked() {
    waitForEventAndRunStep('seeking', video, seeking, test);
    video.play();
  }
});
</script>
