gecko-dev/content/media/test/test_playback_rate_playpause.html

67 lines
1.8 KiB
HTML

<!DOCTYPE HTML>
<html>
<head>
<title>Test that the playbackRate property is not reset when resuming the playback</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='application/javascript;version=1.8'>
let manager = new MediaTestManager;
function ontimeupdate(e) {
var t = e.target;
if (t.currentTime != 0.0) {
dump(t.token + " t.currentTime != 0.0.\n");
t.removeEventListener("timeupdate", ontimeupdate);
t.pause();
is(t.playbackRate, 0.5, "PlaybackRate should not have changed after pause.");
} else {
dump(t.token + " t.currentTime == 0.0.\n");
}
}
function onpaused(e) {
var t = e.target;
dump(t.token + " onpaused.\n");
t.play();
is(t.playbackRate, 0.5, "PlaybackRate should not have changed after resuming playback.");
finish_test(t);
}
function finish_test(element) {
dump(element.token + " finish_test.\n");
removeNodeAndSource(element);
manager.finished(element.token);
}
function startTest(test, token) {
let elemType = /^audio/.test(test.type) ? "audio" : "video";
let element = document.createElement(elemType);
element.src = test.name;
element.token = token;
element.controls = true;
element.playbackRate = 0.5;
element.preload = "metadata";
element.addEventListener("timeupdate", ontimeupdate);
element.addEventListener("pause", onpaused);
element.addEventListener("loadedmetadata", function() {
dump(element.token + " loadedmetadata\n");
element.play();
});
document.body.appendChild(element);
manager.started(token);
}
manager.runTests(gPlayedTests, startTest);
</script>
</pre>
<div id="elements">
</div>
</body>
</html>