michael@0: function test_seek2(v, seekTime, is, ok, finish) { michael@0: michael@0: // Test seeking works if current time is set before video is michael@0: // playing. michael@0: var startPassed = false; michael@0: var endPassed = false; michael@0: var completed = false; michael@0: michael@0: function startTest() { michael@0: if (completed) michael@0: return; michael@0: michael@0: v.currentTime=seekTime; michael@0: v.play(); michael@0: } michael@0: michael@0: function seekStarted() { michael@0: if (completed) michael@0: return; michael@0: michael@0: ok(v.currentTime >= seekTime - 0.1, "Video currentTime should be around " + seekTime + ": " + v.currentTime); michael@0: startPassed = true; michael@0: } michael@0: michael@0: function seekEnded() { michael@0: if (completed) michael@0: return; michael@0: michael@0: endPassed = true; michael@0: } michael@0: michael@0: function playbackEnded() { michael@0: if (completed) michael@0: return; michael@0: michael@0: completed = true; michael@0: ok(startPassed, "send seeking event"); michael@0: ok(endPassed, "send seeked event"); michael@0: ok(v.ended, "Checking playback has ended"); michael@0: ok(Math.abs(v.currentTime - v.duration) <= 0.1, "Checking currentTime at end: " + v.currentTime); michael@0: finish(); michael@0: } michael@0: michael@0: v.addEventListener("ended", playbackEnded, false); michael@0: v.addEventListener("loadedmetadata", startTest, false); michael@0: v.addEventListener("seeking", seekStarted, false); michael@0: v.addEventListener("seeked", seekEnded, false); michael@0: michael@0: }