blob: 88737f9e0404962fd9c551732bbed729ed85c245 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width">
<script src="../../../resources/js-test.js"></script>
<script src="../../../resources/ui-helper.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<div id="test" style="height: 4096px; width: 256px; background-color: blue"></div>
<script>
window.jsTestIsAsync = true;
// This is used to detect if scrolling is completely broken.
const INITIAL_Y_OFFSET = 256;
function done()
{
document.body.removeChild(document.getElementById("test"));
finishJSTest();
}
async function runTest()
{
await UIHelper.callFunctionAndWaitForScrollToFinish(() => window.scrollTo(0, INITIAL_Y_OFFSET));
shouldBe("window.scrollY", "INITIAL_Y_OFFSET");
// Scroll to the end of the document.
await UIHelper.callFunctionAndWaitForScrollToFinish(() => {
if (window.testRunner)
UIHelper.keyDown("downArrow", ["metaKey"]);
});
shouldBeGreaterThanOrEqual("window.scrollY", "INITIAL_Y_OFFSET + 1");
// Scroll to the beginning of the document.
await UIHelper.callFunctionAndWaitForScrollToFinish(() => {
if (window.testRunner)
UIHelper.keyDown("upArrow", ["metaKey"]);
});
shouldBeZero("window.scrollY");
done();
}
description("Test key commands to scroll to the end of the document and then to the beginning of the document. To run this test by hand, reload the page then press <kbd>Command</kbd> + <kbd>Down Arrow</kbd> and then press <kbd>Command</kbd> + <kbd>Up Arrow</kbd>.");
runTest();
</script>
</body>
</html>