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

        <script>
        var promise;
        var error;
        function start()
        {
            findMediaElement();
            run('mediaElement.play().then(failTest).catch(promiseRejected)');    
            run('mediaElement.src = findMediaFile("video", "content/test")');
        }
        function promiseRejected(e)
        {
            error = e;
            logResult(true, "Promise rejected.");
            testExpected('error.name', 'AbortError');
            testExpected('error instanceof DOMException', true);
            testExpected('error instanceof Error', true);
            endTest();
        }
        </script>
    </head>

    <body onload="start()">

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