1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/test/seek5.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,43 @@ 1.4 +function test_seek5(v, seekTime, is, ok, finish) { 1.5 + 1.6 +// Test for a seek, followed by a play before the seek completes, ensure we play at the end of the seek. 1.7 +var startPassed = false; 1.8 +var endPassed = false; 1.9 +var completed = false; 1.10 + 1.11 +function startTest() { 1.12 + if (completed) 1.13 + return; 1.14 + 1.15 + v.currentTime=seekTime; 1.16 +} 1.17 + 1.18 +function seekStarted() { 1.19 + if (completed) 1.20 + return; 1.21 + ok(v.currentTime >= seekTime - 0.1, "Video currentTime should be around " + seekTime + ": " + v.currentTime); 1.22 + startPassed = true; 1.23 + v.play(); 1.24 +} 1.25 + 1.26 +function seekEnded() { 1.27 + if (completed) 1.28 + return; 1.29 + endPassed = true; 1.30 +} 1.31 + 1.32 +function playbackEnded() { 1.33 + if (completed) 1.34 + return; 1.35 + ok(startPassed, "Got seeking event"); 1.36 + ok(endPassed, "Got seeked event"); 1.37 + completed = true; 1.38 + finish(); 1.39 +} 1.40 + 1.41 +v.addEventListener("ended", playbackEnded, false); 1.42 +v.addEventListener("loadedmetadata", startTest, false); 1.43 +v.addEventListener("seeking", seekStarted, false); 1.44 +v.addEventListener("seeked", seekEnded, false); 1.45 + 1.46 +}