blob: 9afa1da353ab286614f8efc7c6fd171da7d5d8ba [file] [log] [blame]
<html>
<head>
<base href="/inspector-debug/"></base>
<script src="/inspector-debug/Runtime.js"></script>
<script src="/inspector-unit/inspector-unit-test.js"></script>
<script>
function test() {
var items = [];
var heights = [];
for (var i = 0; i < 100; i++){
items[i] = document.createElement("div");
items[i].style.height = (heights[i] = (i % 4) ? 50 : 28) + "px";
items[i].textContent = i;
}
var viewport = new WebInspector.StaticViewportControl({
fastItemHeight: i => heights[i],
itemCount: _ => items.length,
itemElement: i => items[i]
});
viewport.element.style.height = "300px";
WebInspector.inspectorView.element.appendChild(viewport.element);
viewport.refresh();
dumpViewport();
viewport.forceScrollItemToBeFirst(26);
dumpViewport();
viewport.scrollItemIntoView(33);
dumpViewport();
viewport.scrollItemIntoView(30);
dumpViewport();
viewport.forceScrollItemToBeFirst(30);
dumpViewport();
viewport.forceScrollItemToBeLast(88);
dumpViewport();
for (var i = 0; i < 100; i++)
items[i].style.height = (heights[i] = (i % 2) ? 55 : 63) + "px";
viewport.refresh();
viewport.forceScrollItemToBeLast(88);
dumpViewport();
UnitTest.completeTest();
function dumpViewport()
{
UnitTest.addResult("First:" + viewport.firstVisibleIndex());
UnitTest.addResult("Last:" + viewport.lastVisibleIndex());
UnitTest.addResult("Active Items:" + viewport._innerElement.children.length);
UnitTest.addResult("");
}
}
</script>
</head>
<body>
This tests if the StaticViewportControl works properly.
</body>
</html>