<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        <script src=../media-file.js></script>
        <script src=../video-test.js></script>
        <script>

            function setup()
            {
                if (window.internals)
                    run("internals.setCaptionDisplayMode('Automatic')");
            }

            function trackError()
            {
                consoleWrite("EVENT(error)");
                track = document.getElementById('testTrackError'); 
                testExpected("track.readyState", HTMLTrackElement.ERROR);
                endTest();
            }

        </script>
    </head>
    <body onload="setup()">
        <p>Tests the error event on HTMLTrackElement and ERROR readyState on TextTrack.</p>
        <video id="videotests">
            <track id="testTrackError" src="junk" onerror="trackError()" default>
        </video>
    </body>
</html>
