blob: 933d51f31794b6ca987abc597ff79966861c9b0d [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#scroller {
height: 500px;
width:500px;
outline: 1px solid black;
overflow: auto;
}
.content {
width: 9999px;
height: 9999px;
}
</style>
<script src="../../../resources/js-test-pre.js"></script>
<script>
function runTest() {
description('Tests scrollTo/By(x,y) and scrollTo/By(scrollOptions) on Element');
var scroller = document.getElementById('scroller');
setTimeout(function() {
scroller.scrollTo(20, 500);
shouldBe("scroller.scrollLeft", "20");
shouldBe("scroller.scrollTop", "500");
scroller.scrollBy(50, 60);
shouldBe("scroller.scrollLeft", "70");
shouldBe("scroller.scrollTop", "560");
scroller.scrollTo({ 'left' : 100, 'top' : 400 });
shouldBe("scroller.scrollLeft", "100");
shouldBe("scroller.scrollTop", "400");
scroller.scrollBy({ 'left' : 20, 'top' : 30 });
shouldBe("scroller.scrollLeft", "120");
shouldBe("scroller.scrollTop", "430");
scroller.scrollTo({ 'top' : 700 });
shouldBe("scroller.scrollLeft", "120");
shouldBe("scroller.scrollTop", "700");
scroller.scrollTo({ 'left' : 300 });
shouldBe("scroller.scrollLeft", "300");
shouldBe("scroller.scrollTop", "700");
scroller.scrollBy({ 'left' : 200 });
shouldBe("scroller.scrollLeft", "500");
shouldBe("scroller.scrollTop", "700");
scroller.scrollBy({ 'top' : 250 });
shouldBe("scroller.scrollLeft", "500");
shouldBe("scroller.scrollTop", "950");
scroller.scrollTo(20.5, 25.5);
shouldBe("scroller.scrollLeft", "20");
shouldBe("scroller.scrollTop", "25");
scroller.scrollTo(30.99, 35.99);
shouldBe("scroller.scrollLeft", "30");
shouldBe("scroller.scrollTop", "35");
scroller.scrollTo(NaN, NaN);
shouldBe("scroller.scrollLeft", "0");
shouldBe("scroller.scrollTop", "0");
scroller.scrollTo(10, 10);
scroller.scrollBy(Infinity, Infinity);
shouldBe("scroller.scrollLeft", "10");
shouldBe("scroller.scrollTop", "10");
scroller.scrollTo(-100, -100);
shouldBe("scroller.scrollLeft", "0");
shouldBe("scroller.scrollTop", "0");
scroller.style.display = 'none';
scroller.scrollTo(100, 100);
shouldBe("scroller.scrollLeft", "0");
shouldBe("scroller.scrollTop", "0");
scroller.style.display = 'block';
shouldBe("scroller.scrollLeft", "0");
shouldBe("scroller.scrollTop", "0");
if (window.internals)
internals.setPageZoomFactor(1.5);
scroller.scrollTo({ 'left' : 100, 'top' : 400 });
shouldBe("scroller.scrollLeft", "100");
shouldBe("scroller.scrollTop", "400");
scroller.style.display = 'none';
finishJSTest();
}, 0);
}
var jsTestIsAsync = true;
</script>
</head>
<body onload="runTest()">
<div id="scroller">
<div class="content">Scrolling content</div>
</div>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>