| <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> |