diff options
Diffstat (limited to 'dom/media/test/test_loop.html')
-rw-r--r-- | dom/media/test/test_loop.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/dom/media/test/test_loop.html b/dom/media/test/test_loop.html new file mode 100644 index 000000000..d657ac696 --- /dev/null +++ b/dom/media/test/test_loop.html @@ -0,0 +1,61 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test looping support</title> + <script type="text/javascript" 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> +</head> +<body> +<pre id="test"> +<script class="testbody" type="text/javascript"> +//longer timeout for slow platforms +if (isSlowPlatform()) { + SimpleTest.requestLongerTimeout(2); +} + +var manager = new MediaTestManager; + +function startTest(test, token) { + manager.started(token); + var v = document.createElement('video'); + v.token = token; + v.src = test.name; + v.name = test.name; + v.playCount = 0; + v.seekingCount = 0; + v.seekedCount = 0; + v.loop = true; + + v.addEventListener("play", function (e) { + e.target.playCount += 1; + ok(e.target.playCount == 1, "Should get exactly one play event."); + }, false); + + v.addEventListener("seeking", function (e) { + e.target.seekingCount += 1; + }, false); + + v.addEventListener("seeked", function (e) { + e.target.seekedCount += 1; + if (e.target.seekedCount == 2) { + ok(e.target.seekingCount == 2, "Expect matched pairs of seeking/seeked events."); + e.target.loop = false; + } + }, false); + + v.addEventListener("ended", function (e) { + ok(!e.target.loop, "Shouldn't get ended event while looping."); + removeNodeAndSource(e.target); + manager.finished(e.target.token); + }, false); + + document.body.appendChild(v); + v.play(); +} + +manager.runTests(gSmallTests, startTest); +</script> +</pre> +</body> +</html> |