Index: LayoutTests/inspector/minimum-size.html |
diff --git a/LayoutTests/inspector/minimum-size.html b/LayoutTests/inspector/minimum-size.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..514e8ca04675e02d8300c1d896f12d28e441c5d4 |
--- /dev/null |
+++ b/LayoutTests/inspector/minimum-size.html |
@@ -0,0 +1,106 @@ |
+<html> |
+<head> |
+<script src="../http/tests/inspector/inspector-test.js"></script> |
+<script> |
+ |
+function test() |
+{ |
+ function showRootSplitView(splitView) |
+ { |
+ splitView.element.style.position = "absolute"; |
+ splitView.element.style.top = "0"; |
+ splitView.element.style.left = "0"; |
+ splitView.element.style.height = "500px"; |
+ splitView.element.style.width = "500px"; |
+ splitView.markAsRoot(); |
+ splitView.show(document.body); |
+ return splitView; |
+ } |
+ |
+ function dumpBoundingBoxes(views) |
+ { |
+ for (var name in views) { |
+ var box = views[name].element.getBoundingClientRect(); |
+ InspectorTest.addResult("[" + name + "] left = " + box.left + "; right = " + box.right + "; top = " + box.top + "; bottom = " + box.bottom); |
+ } |
+ } |
+ |
+ InspectorTest.addResult("Creating simple hierarchy"); |
+ var splitView = new WebInspector.SplitView(true, true, "splitViewStateSettingName.splitView", 250, 250); |
+ showRootSplitView(splitView); |
+ |
+ var mainView = new WebInspector.View(); |
+ mainView.setMinimumSize(100, 80); |
+ mainView.show(splitView.mainElement()); |
+ |
+ var firstSidebarView = new WebInspector.View(); |
+ firstSidebarView.setMinimumSize(40, 70); |
+ firstSidebarView.show(splitView.sidebarElement()); |
+ |
+ var views = {"splitView": splitView, "mainView": mainView, "sidebarView": firstSidebarView}; |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Changing sidebar size"); |
+ splitView.setSidebarSize(30); |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Changing sidebar view minimum size"); |
+ firstSidebarView.setMinimumSize(90, 70); |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Changing orientation"); |
+ splitView.setVertical(false); |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Changing main view minimum size"); |
+ mainView.setMinimumSize(450, 450); |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Changing main view minimum size back and resizing"); |
+ mainView.setMinimumSize(100, 80); |
+ splitView.setSidebarSize(450); |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Wrapping main view to a split view"); |
+ var childSplitView = new WebInspector.SplitView(false, true, "splitViewStateSettingName.childSplitView", 100, 100); |
+ childSplitView.hideSidebar(); |
+ mainView.show(childSplitView.mainElement()); |
+ childSplitView.show(splitView.mainElement()); |
+ views["childSplitView"] = childSplitView; |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Adding invisble sidebar"); |
+ var secondSidebarView = new WebInspector.View(); |
+ secondSidebarView.setMinimumSize(60, 60); |
+ secondSidebarView.show(childSplitView.sidebarElement()); |
+ views["secondSidebarView"] = secondSidebarView; |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Showing sidebar"); |
+ childSplitView.showBoth(); |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Detaching sidebar"); |
+ secondSidebarView.detach(); |
+ delete views["secondSidebarView"]; |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Attaching another sidebar"); |
+ var thirdSidebarView = new WebInspector.View(); |
+ thirdSidebarView.setMinimumSize(80, 80); |
+ thirdSidebarView.show(childSplitView.sidebarElement()); |
+ views["thirdSidebarView"] = thirdSidebarView; |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.addResult("Swapping main and sidebar"); |
+ splitView.setSecondIsSidebar(false); |
+ dumpBoundingBoxes(views); |
+ |
+ InspectorTest.completeTest(); |
+} |
+</script> |
+</head> |
+<body onload="runTest()"> |
+<p>Tests how view minimum size works.</p> |
+</body> |
+</html> |