blob: fa5ec9e8a255a68875ae51c7476c25bf899b8e80 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#test_section {
width: 300px;
height: 300px;
overflow: auto;
border: 1px solid silver;
}
#test_section > article {
width: 1000px;
height: 1000px;
position: relative;
}
#top-left {
position: absolute;
top: 0;
left: 0;
}
#bottom-right {
position: absolute;
bottom: 0;
right: 0;
}
#test_input {
width: 300px;
font-size: 1em;
padding: 5px 10px 15px 20px;
border: 1px solid silver;
}
#test_input_search {
width: 300px;
font-size: 1em;
padding: 5px 10px 15px 20px;
border: 1px solid silver;
}
</style>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<section id="test_section">
<article>
<span id="top-left">top left</span>
<span id="bottom-right">bottom right</span>
</article>
</section>
<section>
<input id="test_input" type="text" value="Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit">
<input id="test_input_search" type="search" value="Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit">
</section>
<p>
Tests that large scrollLeft/Top values scroll to maximum possible value, i.e, Element.scrollWidth/Height - Element.clientWidth/Height.
</p>
<script>
testScrollToMax('test_section');
testScrollToMax('test_input');
testScrollToMax('test_input_search');
function testScrollToMax(id) {
var el = document.getElementById(id);
expectedScrollLeft = el.scrollWidth - el.clientWidth;
expectedScrollTop = el.scrollHeight - el.clientHeight;
el.scrollLeft = 100000000;
el.scrollTop = 100000000;
if (el.scrollLeft == expectedScrollLeft) {
testPassed('Setting ' + el.id + '.scrollLeft = 100000000 ' +
'scrolls all the way to the right.');
} else {
testFailed('Setting ' + el.id + '.scrollLeft = 100000000 ' +
'scrolls to ' + el.scrollLeft + ', expected ' +
expectedScrollLeft + '.');
}
if (el.scrollTop == expectedScrollTop) {
testPassed('Setting ' + el.id + '.scrollTop = 100000000 ' +
'scrolls all the way to the bottom.');
} else {
testFailed('Setting ' + el.id + '.scrollTop = 100000000 ' +
'scrolls to ' + el.scrollTop + ', expected ' +
expectedScrollTop + '.');
}
}
</script>
</body>
</html>