michael@0: function test_seek4(v, seekTime, is, ok, finish) { michael@0: michael@0: // Test for a seek, followed by another seek before the first is complete. michael@0: var seekCount = 0; 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._seekTarget=seekTime; michael@0: } michael@0: michael@0: function seekStarted() { michael@0: if (completed) michael@0: return; michael@0: michael@0: seekCount += 1; michael@0: michael@0: ok(v.currentTime >= v._seekTarget - 0.1, michael@0: "Video currentTime should be around " + v._seekTarget + ": " + v.currentTime); michael@0: if (seekCount == 1) { michael@0: v.currentTime=seekTime/2; michael@0: v._seekTarget=seekTime/2; michael@0: } michael@0: } michael@0: michael@0: function seekEnded() { michael@0: if (completed) michael@0: return; michael@0: michael@0: if (seekCount == 2) { michael@0: ok(Math.abs(v.currentTime - seekTime/2) <= 0.1, "seek on target: " + v.currentTime); michael@0: completed = true; michael@0: finish(); michael@0: } michael@0: } michael@0: 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: }