<video controls></video>
<script src=media-file.js></script>
<script src=video-test.js></script>
<script>
    testExpected("video.seekable.length", 0);
    testDOMException("video.seekable.start(-1)", "DOMException.INDEX_SIZE_ERR");
    testDOMException("video.seekable.end(-1)", "DOMException.INDEX_SIZE_ERR");
    testDOMException("video.seekable.start(0)", "DOMException.INDEX_SIZE_ERR");
    testDOMException("video.seekable.end(0)", "DOMException.INDEX_SIZE_ERR");
    waitForEvent('canplaythrough',
        function () 
        {
            testExpected("video.seekable.length", 1);
            testExpected("video.seekable.start(0)", 0);
            testExpected("video.seekable.end(0)",  0, ">");
            testDOMException("video.seekable.start(-1)", "DOMException.INDEX_SIZE_ERR");
            testDOMException("video.seekable.end(-1)", "DOMException.INDEX_SIZE_ERR");
            testDOMException("video.seekable.start(1)", "DOMException.INDEX_SIZE_ERR");
            testDOMException("video.seekable.end(1)", "DOMException.INDEX_SIZE_ERR");
            endTest();
        }
    );
    video.src = findMediaFile("video", "content/test");
</script>
