Index: third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html b/third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9afa1da353ab286614f8efc7c6fd171da7d5d8ba |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector-unit/static-viewport-control.html |
@@ -0,0 +1,62 @@ |
+<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> |