<video controls></video>
<p>Test that calling play() and pause() triggers async play, no timeupdate event and pause event.</p>
<script src=media-file.js></script>
<script src=video-test.js></script>
<script>
    video.src = findMediaFile("video", "content/test");

    waitForEvent("loadstart");
    waitForEvent("ratechange");
    waitForEvent("waiting");
    waitForEvent("ratechange");
    waitForEvent("durationchange");
    waitForEvent("loadedmetadata");
    waitForEvent("loadeddata");
    waitForEvent("canplay");
    waitForEvent("canplaythrough");
    waitForEvent("play");
    waitForEvent("timeupdate");
    waitForEvent('pause', function () { testExpected("video.paused", true); endTest(); } );


    run("handlePromise(video.play())");
    run("video.pause()");
    
    consoleWrite("SCRIPT DONE");
</script>
