blob: 9bf2839c6e76bc3b38e0b5904b27adebadc8c9ae [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>test playbackRate and defaultPlaybackRate</title>
<script src=media-file.js></script>
<script src=video-test.js></script>
<script>
var rateChangeCount = 0;
function ratechange()
{
consoleWrite("*** checking rates after event");
switch (++rateChangeCount)
{
case 1:
testExpected("video.playbackRate", 1);
testExpected("video.defaultPlaybackRate", 2);
consoleWrite("<br>*** setting playbackRate");
run("video.playbackRate = 2");
testExpected("video.playbackRate", 2);
testExpected("video.defaultPlaybackRate", 2);
consoleWrite("");
break;
case 2:
testExpected("video.playbackRate", 2);
testExpected("video.defaultPlaybackRate", 2);
consoleWrite("<br>*** beginning playback");
video.currentTime = video.duration - 0.2;
run("video.playbackRate = 1");
testExpected("video.playbackRate", 1);
testExpected("video.defaultPlaybackRate", 2);
run("video.play()");
consoleWrite("");
break;
case 3:
testExpected("video.playbackRate", 1);
testExpected("video.defaultPlaybackRate", 2);
consoleWrite("");
break;
default:
break;
}
}
function canplaythrough()
{
consoleWrite("<br>*** checking defaults");
testExpected("video.playbackRate", 1);
testExpected("video.defaultPlaybackRate", 1);
consoleWrite("<br>*** setting defaultPlaybackRate");
run("video.defaultPlaybackRate = 2");
testExpected("video.playbackRate", 1);
testExpected("video.defaultPlaybackRate", 2);
consoleWrite("");
}
function ended()
{
testExpected("video.playbackRate", 1);
testExpected("video.defaultPlaybackRate", 2);
consoleWrite("");
endTest();
}
function start()
{
findMediaElement();
waitForEvent('canplaythrough', canplaythrough);
waitForEvent('ended', ended);
waitForEvent('ratechange', ratechange);
consoleWrite("*** setting src");
setSrcByTagName("video", findMediaFile("video", "content/test"));
}
</script>
</head>
<body onload="start()">
<video controls > </video>
<ol>
<li>'playbackRate' should not change when play() is called.</li>
<li>'playbackRate' and 'defaultPlaybackRate' should always return the last value set.</li>
</ol>
</body>
</html>