<video controls></video>
<script src=media-file.js></script>
<script src=video-test.js></script>
<script>
    testExpected("video.currentTime", 0)
    waitForEvent('canplaythrough', function() { testExpected("video.currentTime", 0); } );
    video.addEventListener('canplaythrough', function() { video.play(); });
    waitForEvent('play');
    video.addEventListener('timeupdate', function() {
        if (video.currentTime > 0) {
            logResult(true, 'video.currentTime > 0');
            endTest();
        }
    });
    video.src = findMediaFile("video", "content/test");
    failTestIn(3000);
</script>
