<!DOCTYPE html>
<title>Test media current time values.</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<video></video>
<script>
async_test(function(t) {
    var video = document.querySelector("video");
    assert_equals(video.currentTime, 0);

    video.requestVideoFrameCallback(t.step_func(() => {
        assert_equals(video.currentTime, 0)

        var endTest =
            t.step_func_done(() => assert_greater_than(video.currentTime, 0));

        videos.ontimeupdate = endTest;
        videos.onended = endTest;

        video.play();
    });

    video.src = "content/test.ogv";
});
</script>
