| <html> |
| <head> |
| <script src="../http/tests/inspector/inspector-test.js"></script> |
| <script> |
| |
| function test() |
| { |
| var settingIndex = 0; |
| function createAndShowSplitWidget(isVertical, secondIsSidebar, settingName, defaultSidebarWidth, defaultSidebarHeight, shouldSaveShowMode) |
| { |
| var splitWidget = new WebInspector.SplitWidget(isVertical, secondIsSidebar, settingName, defaultSidebarWidth, defaultSidebarHeight); |
| splitWidget.setMainWidget(new WebInspector.Widget()); |
| splitWidget.setSidebarWidget(new WebInspector.Widget()); |
| if (shouldSaveShowMode) |
| splitWidget.enableShowModeSaving(); |
| splitWidget.element.style.position = "absolute"; |
| splitWidget.element.style.top = "0"; |
| splitWidget.element.style.left = "0"; |
| splitWidget.element.style.height = "500px"; |
| splitWidget.element.style.width = "500px"; |
| splitWidget.markAsRoot(); |
| splitWidget.show(document.body); |
| return splitWidget; |
| } |
| |
| function dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget) |
| { |
| var sidebarSize = splitWidget.isVertical() ? splitWidget.sidebarWidget().element.offsetWidth : splitWidget.sidebarWidget().element.offsetHeight; |
| var orientation = splitWidget.isVertical() ? "vertical" : "horizontal"; |
| InspectorTest.addResult(" Sidebar size = " + sidebarSize + ", showMode = " + splitWidget.showMode() + ", " + orientation); |
| InspectorTest.addResult(" Setting value: " + JSON.stringify(WebInspector.settings.settingForTest(splitWidget._setting._name).get())); |
| } |
| |
| function testSplitWidgetSizes(useFraction, shouldSaveShowMode) |
| { |
| var secondIsSidebar = true; |
| var settingName = "splitWidgetStateSettingName" + (++settingIndex); |
| var defaultSidebarWidth = useFraction ? 0.23 : 101; |
| var defaultSidebarHeight = useFraction ? 0.24 : 102; |
| var newWidth = useFraction ? 125 : 201; |
| var newHeight = useFraction ? 130 : 202; |
| |
| var splitWidget; |
| InspectorTest.addResult("Create default split widget"); |
| var params = "useFraction = " + useFraction + ", shouldSaveShowMode = " + shouldSaveShowMode; |
| InspectorTest.addResult("Running split widget test with the following parameters: " + params); |
| |
| InspectorTest.addResult("Creating split widget"); |
| splitWidget = createAndShowSplitWidget(true, secondIsSidebar, settingName, defaultSidebarWidth, defaultSidebarHeight, shouldSaveShowMode); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Hiding sidebar"); |
| splitWidget.hideSidebar(); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Showing sidebar"); |
| splitWidget.showBoth(); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Resizing"); |
| splitWidget.setSidebarSize(newWidth); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Hiding sidebar"); |
| splitWidget.hideSidebar(); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Showing sidebar"); |
| splitWidget.showBoth(); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Making horizontal"); |
| splitWidget.setVertical(false); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Resizing"); |
| splitWidget.setSidebarSize(newHeight); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Hiding sidebar"); |
| splitWidget.hideSidebar(); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| splitWidget.element.remove(); |
| |
| InspectorTest.addResult("Recreating split widget"); |
| splitWidget = createAndShowSplitWidget(true, secondIsSidebar, settingName, defaultSidebarWidth, defaultSidebarHeight, shouldSaveShowMode); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Hiding sidebar"); |
| splitWidget.hideSidebar(); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Making horizontal"); |
| splitWidget.setVertical(false); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Showing sidebar"); |
| splitWidget.showBoth(); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| splitWidget.element.remove(); |
| |
| InspectorTest.addResult("Recreating split widget"); |
| splitWidget = createAndShowSplitWidget(true, secondIsSidebar, settingName, defaultSidebarWidth, defaultSidebarHeight, shouldSaveShowMode); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| InspectorTest.addResult("Making horizontal"); |
| splitWidget.setVertical(false); |
| dumpSplitWidgetOrientationShowModeAndSidebarSize(splitWidget); |
| |
| splitWidget.element.remove(); |
| InspectorTest.addResult(""); |
| } |
| |
| // Test all combinations of useFraction and shouldSaveShowMode flags |
| testSplitWidgetSizes(false, false); |
| testSplitWidgetSizes(false, true); |
| testSplitWidgetSizes(true, false); |
| testSplitWidgetSizes(true, true); |
| InspectorTest.completeTest(); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests how split widget saving to settings works.</p> |
| </body> |
| </html> |