3 <script src=
"../http/tests/inspector/inspector-test.js"></script>
9 function createAndShowSplitView(isVertical
, secondIsSidebar
, settingName
, defaultSidebarWidth
, defaultSidebarHeight
, shouldSaveShowMode
)
11 var splitView
= new WebInspector
.SplitView(isVertical
, secondIsSidebar
, settingName
, defaultSidebarWidth
, defaultSidebarHeight
);
12 splitView
.setMainView(new WebInspector
.View());
13 splitView
.setSidebarView(new WebInspector
.View());
14 if (shouldSaveShowMode
)
15 splitView
.enableShowModeSaving();
16 splitView
.element
.style
.position
= "absolute";
17 splitView
.element
.style
.top
= "0";
18 splitView
.element
.style
.left
= "0";
19 splitView
.element
.style
.height
= "500px";
20 splitView
.element
.style
.width
= "500px";
21 splitView
.markAsRoot();
22 splitView
.show(document
.body
);
26 function dumpSplitViewOrientationShowModeAndSidebarSize(splitView
)
28 var sidebarSize
= splitView
.isVertical() ? splitView
.sidebarView().element
.offsetWidth
: splitView
.sidebarView().element
.offsetHeight
;
29 var orientation
= splitView
.isVertical() ? "vertical" : "horizontal";
30 InspectorTest
.addResult(" Sidebar size = " + sidebarSize
+ ", showMode = " + splitView
.showMode() + ", " + orientation
);
31 InspectorTest
.addResult(" Setting value: " + JSON
.stringify(WebInspector
.settings
.settingForTest(splitView
._setting
._name
).get()));
34 function testSplitViewSizes(useFraction
, shouldSaveShowMode
)
36 var secondIsSidebar
= true;
37 var settingName
= "splitViewStateSettingName" + (++settingIndex
);
38 var defaultSidebarWidth
= useFraction
? 0.23 : 101;
39 var defaultSidebarHeight
= useFraction
? 0.24 : 102;
40 var newWidth
= useFraction
? 125 : 201;
41 var newHeight
= useFraction
? 130 : 202;
44 InspectorTest
.addResult("Create default split view");
45 var params
= "useFraction = " + useFraction
+ ", shouldSaveShowMode = " + shouldSaveShowMode
;
46 InspectorTest
.addResult("Running split view test with the following parameters: " + params
);
48 InspectorTest
.addResult("Creating split view");
49 splitView
= createAndShowSplitView(true, secondIsSidebar
, settingName
, defaultSidebarWidth
, defaultSidebarHeight
, shouldSaveShowMode
);
50 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
52 InspectorTest
.addResult("Hiding sidebar");
53 splitView
.hideSidebar();
54 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
56 InspectorTest
.addResult("Showing sidebar");
58 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
60 InspectorTest
.addResult("Resizing");
61 splitView
.setSidebarSize(newWidth
);
62 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
64 InspectorTest
.addResult("Hiding sidebar");
65 splitView
.hideSidebar();
66 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
68 InspectorTest
.addResult("Showing sidebar");
70 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
72 InspectorTest
.addResult("Making horizontal");
73 splitView
.setVertical(false);
74 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
76 InspectorTest
.addResult("Resizing");
77 splitView
.setSidebarSize(newHeight
);
78 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
80 InspectorTest
.addResult("Hiding sidebar");
81 splitView
.hideSidebar();
82 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
84 splitView
.element
.remove();
86 InspectorTest
.addResult("Recreating split view");
87 splitView
= createAndShowSplitView(true, secondIsSidebar
, settingName
, defaultSidebarWidth
, defaultSidebarHeight
, shouldSaveShowMode
);
88 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
90 InspectorTest
.addResult("Hiding sidebar");
91 splitView
.hideSidebar();
92 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
94 InspectorTest
.addResult("Making horizontal");
95 splitView
.setVertical(false);
96 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
98 InspectorTest
.addResult("Showing sidebar");
100 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
102 splitView
.element
.remove();
104 InspectorTest
.addResult("Recreating split view");
105 splitView
= createAndShowSplitView(true, secondIsSidebar
, settingName
, defaultSidebarWidth
, defaultSidebarHeight
, shouldSaveShowMode
);
106 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
108 InspectorTest
.addResult("Making horizontal");
109 splitView
.setVertical(false);
110 dumpSplitViewOrientationShowModeAndSidebarSize(splitView
);
112 splitView
.element
.remove();
113 InspectorTest
.addResult("");
116 // Test all combinations of useFraction and shouldSaveShowMode flags
117 testSplitViewSizes(false, false);
118 testSplitViewSizes(false, true);
119 testSplitViewSizes(true, false);
120 testSplitViewSizes(true, true);
121 InspectorTest
.completeTest();
125 <body onload=
"runTest()">
126 <p>Tests how split view saving to settings works.
</p>