1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/test/seek2.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,49 @@ 1.4 +function test_seek2(v, seekTime, is, ok, finish) { 1.5 + 1.6 +// Test seeking works if current time is set before video is 1.7 +// playing. 1.8 +var startPassed = false; 1.9 +var endPassed = false; 1.10 +var completed = false; 1.11 + 1.12 +function startTest() { 1.13 + if (completed) 1.14 + return; 1.15 + 1.16 + v.currentTime=seekTime; 1.17 + v.play(); 1.18 +} 1.19 + 1.20 +function seekStarted() { 1.21 + if (completed) 1.22 + return; 1.23 + 1.24 + ok(v.currentTime >= seekTime - 0.1, "Video currentTime should be around " + seekTime + ": " + v.currentTime); 1.25 + startPassed = true; 1.26 +} 1.27 + 1.28 +function seekEnded() { 1.29 + if (completed) 1.30 + return; 1.31 + 1.32 + endPassed = true; 1.33 +} 1.34 + 1.35 +function playbackEnded() { 1.36 + if (completed) 1.37 + return; 1.38 + 1.39 + completed = true; 1.40 + ok(startPassed, "send seeking event"); 1.41 + ok(endPassed, "send seeked event"); 1.42 + ok(v.ended, "Checking playback has ended"); 1.43 + ok(Math.abs(v.currentTime - v.duration) <= 0.1, "Checking currentTime at end: " + v.currentTime); 1.44 + finish(); 1.45 +} 1.46 + 1.47 +v.addEventListener("ended", playbackEnded, false); 1.48 +v.addEventListener("loadedmetadata", startTest, false); 1.49 +v.addEventListener("seeking", seekStarted, false); 1.50 +v.addEventListener("seeked", seekEnded, false); 1.51 + 1.52 +}