<!DOCTYPE html>
<html>
    <head>
        <script src=media-file.js></script>
        <script src=video-test.js></script>

        <script>
        window.addEventListener('load', event => {
            findMediaElement();
            if (window.internals)
                run('internals.setMediaElementRestrictions(mediaElement, "RequireUserGestureForAudioRateChange")');

            run('mediaElement.src = findMediaFile("video", "content/test-25fps")');
            run('promise = mediaElement.play()');
            shouldReject(promise).then(e => {
                error = e;
                testExpected('error.name', 'NotAllowedError');
            }).finally(endTest);
        })
        </script>
    </head>

    <body>
        <video></video>
    </body>
</html>
