91 lines
3.2 KiB
HTML
91 lines
3.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="media-file.js"></script>
|
|
<script src="video-test.js"></script>
|
|
<script>
|
|
async function playing()
|
|
{
|
|
if (window.testRunner) {
|
|
if (!window.eventSender) {
|
|
testRunner.dumpAsText();
|
|
endTest();
|
|
return;
|
|
}
|
|
} else {
|
|
endTest();
|
|
return;
|
|
}
|
|
|
|
findMediaElement();
|
|
|
|
var x, y, items;
|
|
x = video.offsetParent.offsetLeft + video.offsetLeft + video.offsetWidth / 2;
|
|
y = video.offsetParent.offsetTop + video.offsetTop + video.offsetHeight / 2;
|
|
eventSender.mouseMoveTo(x, y);
|
|
items = eventSender.contextClick();
|
|
|
|
for (var i = 0; i < items.length; i++)
|
|
{
|
|
if (items[i].title.match("Controls")) {
|
|
testExpected("video.controls", true, '==');
|
|
consoleWrite("Toggling media controls");
|
|
items[i].click();
|
|
testExpected("video.controls", false, '==');
|
|
consoleWrite("");
|
|
}
|
|
|
|
if (items[i].title.match("Pause")) {
|
|
testExpected("video.paused", false, '==');
|
|
consoleWrite("Toggling play state");
|
|
items[i].click();
|
|
testExpected("video.paused", true, '==');
|
|
consoleWrite("");
|
|
}
|
|
|
|
if (items[i].title.match("Loop")) {
|
|
testExpected("video.loop", false, '==');
|
|
consoleWrite("Toggling loop state");
|
|
items[i].click();
|
|
testExpected("video.loop", true, '==');
|
|
consoleWrite("");
|
|
}
|
|
|
|
if (items[i].title.match("Mute")) {
|
|
testExpected("video.muted", false, '==');
|
|
consoleWrite("Toggling mute state");
|
|
items[i].click();
|
|
testExpected("video.muted", true, '==');
|
|
consoleWrite("");
|
|
}
|
|
|
|
if (items[i].title.match("Fullscreen") && video.webkitSupportsFullscreen) {
|
|
testExpected("video.webkitDisplayingFullscreen", false, '==');
|
|
consoleWrite("Toggling fullscreen state");
|
|
items[i].click();
|
|
await testExpectedEventually("internals.isChangingPresentationMode(video)", false, '==', 1000);
|
|
testExpected("video.webkitDisplayingFullscreen", true, '==');
|
|
consoleWrite("");
|
|
}
|
|
|
|
// TODO: test copy link location and open in new window.
|
|
}
|
|
testRunner.dumpAsText();
|
|
endTest();
|
|
}
|
|
|
|
async function start()
|
|
{
|
|
findMediaElement();
|
|
waitForEvent('play', playing);
|
|
run("video.src = '" + findMediaFile("video", "content/test") + "'");
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="start()">
|
|
<p>Test the various actions available in the HTML5 media element context-menu.</p>
|
|
<video id="video" autoplay controls></video>
|
|
</body>
|
|
</html>
|
|
|