<video controls></video>
<script src=video-test.js></script>
<script>
    testExpected("video.currentTime", 0)
    waitForEvent('load', function() { testExpected("video.currentTime", 0); } );
    video.addEventListener('load', function() { video.play(); setTimeout(testCurrentTime, 500) });
    waitForEvent('play');
    function testCurrentTime()
    {
        testExpected("video.currentTime", 0, '>')
        endTest();
    }
    video.src = "content/test.mp4";
</script>
