diff options
Diffstat (limited to '')
-rw-r--r-- | dom/media/test/test_seek-1.html | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/dom/media/test/test_seek-1.html b/dom/media/test/test_seek-1.html new file mode 100644 index 0000000000..8690a475b6 --- /dev/null +++ b/dom/media/test/test_seek-1.html @@ -0,0 +1,84 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Media test: seek tests</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> + <script type="text/javascript" src="manifest.js"></script> + <script type="text/javascript" src="seek_support.js"></script> +</head> +<body> +<pre id="test"> +<script class="testbody" type="text/javascript"> + +// The data being used in these tests is specified in manifest.js. +// The functions to build the test array and to run a specific test are in +// seek_support.js. + +const SEEK_TEST_NUMBER = 1; + +function test_seek1(v, seekTime, is, ok, finish) { + +var startPassed = false; +var endPassed = false; +var seekFlagStart = false; +var seekFlagEnd = false; +var readonly = true; +var completed = false; + +function startTest() { + ok(!completed, "Should not be completed yet"); + ok(!v.seeking, "seeking should default to false"); + try { + v.seeking = true; + readonly = v.seeking === false; + } + catch(e) { + readonly = "threw exception: " + e; + } + is(readonly, true, "seeking should be readonly"); + + v.currentTime = seekTime; + seekFlagStart = v.seeking; +} + +function seekStarted() { + ok(!completed, "should not be completed yet"); + ok(Math.abs(v.currentTime - seekTime) < 0.1, + "Video currentTime should be around " + seekTime + ": " + v.currentTime + " (seeking)"); + startPassed = true; +} + +function seekEnded() { + ok(!completed, "shuld not be completed yet"); + ok(Math.abs(v.currentTime - seekTime) < 0.1, + "Video currentTime should be around " + seekTime + ": " + v.currentTime + " (seeked)"); + endPassed = true; + seekFlagEnd = v.seeking; + v.play(); +} + +function playbackEnded() { + ok(!completed, "should not be completed yet"); + + completed = true; + ok(startPassed, "seeking event"); + ok(endPassed, "seeked event"); + ok(seekFlagStart, "seeking flag on start should be true"); + ok(!seekFlagEnd, "seeking flag on end should be false"); + finish(); +} + +once(v, "ended", playbackEnded); +once(v, "loadedmetadata", startTest); +once(v, "seeking", seekStarted); +once(v, "seeked", seekEnded); + +} + +manager.runTests(createTestArray(), startTest); + +</script> +</pre> +</body> +</html> |