| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script src="../http/tests/inspector/inspector-test.js"></script> | 3 <script src="../http/tests/inspector/inspector-test.js"></script> |
| 4 <script src="../http/tests/inspector/console-test.js"></script> | 4 <script src="../http/tests/inspector/console-test.js"></script> |
| 5 <script src="../http/tests/inspector/workspace-test.js"></script> | 5 <script src="../http/tests/inspector/workspace-test.js"></script> |
| 6 <script src="../http/tests/inspector/debugger-test.js"></script> | 6 <script src="../http/tests/inspector/debugger-test.js"></script> |
| 7 <script src="resources/example-fileset-for-test.js"></script> | 7 <script src="resources/example-fileset-for-test.js"></script> |
| 8 <script src="editor/editor-test.js"></script> | 8 <script src="editor/editor-test.js"></script> |
| 9 <script> | 9 <script> |
| 10 function test() | 10 function test() |
| 11 { | 11 { |
| 12 var panel = WebInspector.panels.sources; | 12 var panel = WebInspector.panels.sources; |
| 13 var sourcesView = panel._sourcesView; | 13 var sourcesView = panel._sourcesView; |
| 14 var historyManager = sourcesView._historyManager; | 14 var historyManager = sourcesView._historyManager; |
| 15 var editorContainer = sourcesView._editorContainer; | 15 var editorContainer = sourcesView._editorContainer; |
| 16 | 16 |
| 17 function rollback() | 17 function rollback() |
| 18 { | 18 { |
| 19 historyManager.rollback(); | 19 historyManager.rollback(); |
| 20 } | 20 } |
| 21 | 21 |
| 22 function rollover() | 22 function rollover() |
| 23 { | 23 { |
| 24 historyManager.rollover(); | 24 historyManager.rollover(); |
| 25 } | 25 } |
| 26 | 26 |
| 27 function dumpSelection(editor, label) | 27 function dumpSelection(label) |
| 28 { | 28 { |
| 29 var selection = editor.selection(); | 29 var selection = panel.visibleView.textEditor.selection(); |
| 30 var label = "<" + label + ">"; | 30 var label = "<" + label + ">"; |
| 31 var fileName = "[" + editor._url.split("/").pop() + "]"; | 31 var fileName = "[" + panel.visibleView._url.split("/").pop() + "]"; |
| 32 var selectionText = ""; | 32 var selectionText = ""; |
| 33 if (selection.isEmpty()) | 33 if (selection.isEmpty()) |
| 34 selectionText = "line: " + selection.startLine + " column: " + selec
tion.startColumn; | 34 selectionText = "line: " + selection.startLine + " column: " + selec
tion.startColumn; |
| 35 else | 35 else |
| 36 selectionText = "(NOT EMPTY): " + selection.toString(); | 36 selectionText = "(NOT EMPTY): " + selection.toString(); |
| 37 InspectorTest.addResult(label + " " + selectionText + " " + fileName); | 37 InspectorTest.addResult(label + " " + selectionText + " " + fileName); |
| 38 } | 38 } |
| 39 | 39 |
| 40 function eventSenderClickAtEditor(editor, lineNumber, columnNumber) | 40 function eventSenderClickAtEditor(editor, lineNumber, columnNumber) |
| 41 { | 41 { |
| 42 editor.scrollToLine(lineNumber); | 42 editor.scrollToLine(lineNumber); |
| 43 var coordinates = editor.cursorPositionToCoordinates(lineNumber, columnN
umber); | 43 var coordinates = editor.cursorPositionToCoordinates(lineNumber, columnN
umber); |
| 44 eventSender.mouseMoveTo(coordinates.x, coordinates.y); | 44 eventSender.mouseMoveTo(coordinates.x, coordinates.y); |
| 45 eventSender.mouseDown(); | 45 eventSender.mouseDown(); |
| 46 eventSender.mouseUp(); | 46 eventSender.mouseUp(); |
| 47 dumpSelection(editor, "Mouse click (" + lineNumber + ", " + columnNumber
+ ")"); | 47 dumpSelection("Mouse click (" + lineNumber + ", " + columnNumber + ")"); |
| 48 } | 48 } |
| 49 | 49 |
| 50 function clickAndDump(editor, lines, columns) | 50 function clickAndDump(editor, lines, columns) |
| 51 { | 51 { |
| 52 for (var i = 0; i < lines.length; ++i) { | 52 for (var i = 0; i < lines.length; ++i) { |
| 53 var lineNumber = lines[i]; | 53 var lineNumber = lines[i]; |
| 54 var columnNumber = columns[i]; | 54 var columnNumber = columns[i]; |
| 55 var originSelection = editor.selection(); | 55 var originSelection = editor.selection(); |
| 56 editor.setSelection(WebInspector.TextRange.createFromLocation(lineNu
mber, columnNumber)); | 56 editor.setSelection(WebInspector.TextRange.createFromLocation(lineNu
mber, columnNumber)); |
| 57 editor._delegate.onJumpToPosition(originSelection, editor.selection(
)); | 57 editor._delegate.onJumpToPosition(originSelection, editor.selection(
)); |
| 58 dumpSelection(editor, "Mouse click (" + lineNumber + ", " + columnNu
mber + ")"); | 58 dumpSelection("Mouse click (" + lineNumber + ", " + columnNumber + "
)"); |
| 59 } | 59 } |
| 60 } | 60 } |
| 61 | 61 |
| 62 InspectorTest.runTestSuite([ | 62 InspectorTest.runTestSuite([ |
| 63 function testSimpleMovements(next) | 63 function testSimpleMovements(next) |
| 64 { | 64 { |
| 65 InspectorTest.showScriptSource("example-fileset-for-test.js", onCont
entLoaded); | 65 InspectorTest.showScriptSource("example-fileset-for-test.js", onCont
entLoaded); |
| 66 | 66 |
| 67 function onContentLoaded() | 67 function onContentLoaded() |
| 68 { | 68 { |
| 69 var editor = panel.visibleView.textEditor; | 69 var editor = panel.visibleView.textEditor; |
| 70 dumpSelection(editor, "Initial position"); | 70 dumpSelection("Initial position"); |
| 71 eventSenderClickAtEditor(editor, 4, 7, true); | 71 eventSenderClickAtEditor(editor, 4, 7, true); |
| 72 | 72 |
| 73 InspectorTest.typeIn(editor, "\nSome more text here", step2); | 73 InspectorTest.typeIn(editor, "\nSome more text here", step2); |
| 74 } | 74 } |
| 75 | 75 |
| 76 function step2() { | 76 function step2() { |
| 77 var editor = panel.visibleView.textEditor; | 77 var editor = panel.visibleView.textEditor; |
| 78 dumpSelection(editor, "Typed in some text"); | 78 dumpSelection("Typed in some text"); |
| 79 | 79 |
| 80 rollback(); | 80 rollback(); |
| 81 dumpSelection(editor, "Rolled back"); | 81 dumpSelection("Rolled back"); |
| 82 InspectorTest.typeIn(editor, "\nSome more text here as well\n",
step3); | 82 InspectorTest.typeIn(editor, "\nSome more text here as well\n",
step3); |
| 83 } | 83 } |
| 84 | 84 |
| 85 function step3() { | 85 function step3() { |
| 86 var editor = panel.visibleView.textEditor; | 86 var editor = panel.visibleView.textEditor; |
| 87 dumpSelection(editor, "Typed in some text"); | 87 dumpSelection("Typed in some text"); |
| 88 | 88 |
| 89 rollover(); | 89 rollover(); |
| 90 dumpSelection(editor, "Rolled over"); | 90 dumpSelection("Rolled over"); |
| 91 next(); | 91 next(); |
| 92 } | 92 } |
| 93 }, | 93 }, |
| 94 | 94 |
| 95 function testSequentialJumps(next) | 95 function testSequentialJumps(next) |
| 96 { | 96 { |
| 97 var editor = panel.visibleView.textEditor; | 97 var editor = panel.visibleView.textEditor; |
| 98 // Hide inspector view to significantly speed up following tests fro
m testsuite. | 98 // Hide inspector view to significantly speed up following tests fro
m testsuite. |
| 99 InspectorTest.hideInspectorView(); | 99 InspectorTest.hideInspectorView(); |
| 100 const jumpsToDo = 4; | 100 const jumpsToDo = 4; |
| 101 clickAndDump(editor, [10, 11, 12, 13], [3, 4, 5, 6]); | 101 clickAndDump(editor, [10, 11, 12, 13], [3, 4, 5, 6]); |
| 102 | 102 |
| 103 for (var i = 0; i < jumpsToDo; ++i) { | 103 for (var i = 0; i < jumpsToDo; ++i) { |
| 104 rollback(); | 104 rollback(); |
| 105 dumpSelection(editor, "Rolled back"); | 105 dumpSelection("Rolled back"); |
| 106 } | 106 } |
| 107 for (var i = 0; i < jumpsToDo; ++i) { | 107 for (var i = 0; i < jumpsToDo; ++i) { |
| 108 rollover(); | 108 rollover(); |
| 109 dumpSelection(editor, "Rolled over"); | 109 dumpSelection("Rolled over"); |
| 110 } | 110 } |
| 111 next(); | 111 next(); |
| 112 }, | 112 }, |
| 113 | 113 |
| 114 function testDeletePreviousJumpLocations(next) | 114 function testDeletePreviousJumpLocations(next) |
| 115 { | 115 { |
| 116 var editor = panel.visibleView.textEditor; | 116 var editor = panel.visibleView.textEditor; |
| 117 editor.editRange(new WebInspector.TextRange(9, 0, 15, 0), ""); | 117 editor.editRange(new WebInspector.TextRange(9, 0, 15, 0), ""); |
| 118 dumpSelection(editor, "Removed lines from 9 to 15"); | 118 dumpSelection("Removed lines from 9 to 15"); |
| 119 rollback(); | 119 rollback(); |
| 120 dumpSelection(editor, "Rolled back"); | 120 dumpSelection("Rolled back"); |
| 121 rollover(); | 121 rollover(); |
| 122 dumpSelection(editor, "Rolled over"); | 122 dumpSelection("Rolled over"); |
| 123 next(); | 123 next(); |
| 124 }, | 124 }, |
| 125 | 125 |
| 126 function testDeleteNextJumpLocations(next) | 126 function testDeleteNextJumpLocations(next) |
| 127 { | 127 { |
| 128 var editor = panel.visibleView.textEditor; | 128 var editor = panel.visibleView.textEditor; |
| 129 const jumpsToDo = 4; | 129 const jumpsToDo = 4; |
| 130 clickAndDump(editor, [10, 11, 12, 13], [3, 4, 5, 6]); | 130 clickAndDump(editor, [10, 11, 12, 13], [3, 4, 5, 6]); |
| 131 | 131 |
| 132 for (var i = 0; i < jumpsToDo; ++i) | 132 for (var i = 0; i < jumpsToDo; ++i) |
| 133 rollback(); | 133 rollback(); |
| 134 dumpSelection(editor, "Rolled back 4 times"); | 134 dumpSelection("Rolled back 4 times"); |
| 135 editor.editRange(new WebInspector.TextRange(9, 0, 11, 0), ""); | 135 editor.editRange(new WebInspector.TextRange(9, 0, 11, 0), ""); |
| 136 dumpSelection(editor, "Removed lines from 9 to 11"); | 136 dumpSelection("Removed lines from 9 to 11"); |
| 137 rollover(); | 137 rollover(); |
| 138 dumpSelection(editor, "Rolled over"); | 138 dumpSelection("Rolled over"); |
| 139 next(); | 139 next(); |
| 140 }, | 140 }, |
| 141 | 141 |
| 142 function testCrossFileJump(next) | 142 function testCrossFileJump(next) |
| 143 { | 143 { |
| 144 InspectorTest.showScriptSource("workspace-test.js", onContentLoaded)
; | 144 InspectorTest.showScriptSource("workspace-test.js", onContentLoaded)
; |
| 145 function onContentLoaded() | 145 function onContentLoaded() |
| 146 { | 146 { |
| 147 var editor = panel.visibleView.textEditor; | 147 var editor = panel.visibleView.textEditor; |
| 148 dumpSelection(editor, "Opened workspace-test.js"); | 148 dumpSelection("Opened workspace-test.js"); |
| 149 clickAndDump(editor, [10, 11], [1, 1]); | 149 clickAndDump(editor, [10, 11], [1, 1]); |
| 150 for (var i = 0; i < 4; ++i) { | 150 for (var i = 0; i < 4; ++i) { |
| 151 rollback(); | 151 rollback(); |
| 152 dumpSelection(panel.visibleView.textEditor, "Rolled back"); | 152 dumpSelection("Rolled back"); |
| 153 } | 153 } |
| 154 for (var i = 0; i < 4; ++i) { | 154 for (var i = 0; i < 4; ++i) { |
| 155 rollover(); | 155 rollover(); |
| 156 dumpSelection(panel.visibleView.textEditor, "Rolled over"); | 156 dumpSelection("Rolled over"); |
| 157 } | 157 } |
| 158 next(); | 158 next(); |
| 159 } | 159 } |
| 160 }, | 160 }, |
| 161 | 161 |
| 162 function testCloseCrossFile(next) | 162 function testCloseCrossFile(next) |
| 163 { | 163 { |
| 164 var selectedTab = editorContainer._tabbedPane.selectedTabId; | 164 var selectedTab = editorContainer._tabbedPane.selectedTabId; |
| 165 editorContainer._tabbedPane.closeTab(selectedTab); | 165 editorContainer._tabbedPane.closeTab(selectedTab); |
| 166 dumpSelection(panel.visibleView.textEditor, "Close active tab"); | 166 dumpSelection("Close active tab"); |
| 167 for (var i = 0; i < 1; ++i) { | 167 for (var i = 0; i < 1; ++i) { |
| 168 rollback(); | 168 rollback(); |
| 169 dumpSelection(panel.visibleView.textEditor, "Rolled back"); | 169 dumpSelection("Rolled back"); |
| 170 } | 170 } |
| 171 for (var i = 0; i < 3; ++i) { | 171 for (var i = 0; i < 3; ++i) { |
| 172 rollover(); | 172 rollover(); |
| 173 dumpSelection(panel.visibleView.textEditor, "Rolled over"); | 173 dumpSelection("Rolled over"); |
| 174 } | 174 } |
| 175 next(); | 175 next(); |
| 176 }, | 176 }, |
| 177 | 177 |
| 178 function testHistoryDepth(next) | 178 function testHistoryDepth(next) |
| 179 { | 179 { |
| 180 var lines = []; | 180 var lines = []; |
| 181 var columns = []; | 181 var columns = []; |
| 182 const jumpsAmount = WebInspector.EditingLocationHistoryManager.Histo
ryDepth; | 182 const jumpsAmount = WebInspector.EditingLocationHistoryManager.Histo
ryDepth; |
| 183 for(var i = 0; i < jumpsAmount; ++i) { | 183 for(var i = 0; i < jumpsAmount; ++i) { |
| 184 lines.push(i + 10); | 184 lines.push(i + 10); |
| 185 columns.push(7); | 185 columns.push(7); |
| 186 } | 186 } |
| 187 var editor = panel.visibleView.textEditor; | 187 var editor = panel.visibleView.textEditor; |
| 188 clickAndDump(editor, lines, columns); | 188 clickAndDump(editor, lines, columns); |
| 189 for (var i = 0; i < jumpsAmount; ++i) { | 189 for (var i = 0; i < jumpsAmount; ++i) { |
| 190 rollback(); | 190 rollback(); |
| 191 dumpSelection(editor, "Rolled back"); | 191 dumpSelection("Rolled back"); |
| 192 } | 192 } |
| 193 next(); | 193 next(); |
| 194 }, | 194 }, |
| 195 | 195 |
| 196 function testInFileSearch(next) | 196 function testInFileSearch(next) |
| 197 { | 197 { |
| 198 var searchableView = panel.searchableView(); | 198 var searchableView = panel.searchableView(); |
| 199 | 199 |
| 200 dumpSelection(panel.visibleView.textEditor, "Before searching"); | 200 dumpSelection("Before searching"); |
| 201 | 201 |
| 202 searchableView.showSearchField(); | 202 searchableView.showSearchField(); |
| 203 searchableView._searchInputElement.value = "generate_"; | 203 searchableView._searchInputElement.value = "generate_"; |
| 204 searchableView._performSearch(true, true); | 204 searchableView._performSearch(true, true); |
| 205 for (var i = 0; i < 3; ++i) | 205 for (var i = 0; i < 3; ++i) |
| 206 searchableView.handleFindNextShortcut(); | 206 searchableView.handleFindNextShortcut(); |
| 207 searchableView.handleCancelSearchShortcut(); | 207 searchableView.handleCancelSearchShortcut(); |
| 208 | 208 |
| 209 dumpSelection(panel.visibleView.textEditor, "After searching"); | 209 dumpSelection("After searching"); |
| 210 rollback(); | 210 rollback(); |
| 211 dumpSelection(panel.visibleView.textEditor, "Rolled back"); | 211 dumpSelection("Rolled back"); |
| 212 rollover(); | 212 rollover(); |
| 213 dumpSelection(panel.visibleView.textEditor, "Rolled over"); | 213 dumpSelection("Rolled over"); |
| 214 next(); | 214 next(); |
| 215 }, | 215 }, |
| 216 | 216 |
| 217 function testShowAnchorLocation(next) | 217 function testShowAnchorLocation(next) |
| 218 { | 218 { |
| 219 dumpSelection(panel.visibleView.textEditor, "Before switching to oth
er panel"); | 219 dumpSelection("Before switching to other panel"); |
| 220 InspectorTest.waitForScriptSource("workspace-test.js", onScriptSourc
e); | 220 InspectorTest.waitForScriptSource("workspace-test.js", onScriptSourc
e); |
| 221 function onScriptSource(uiSourceCode) | 221 function onScriptSource(uiSourceCode) |
| 222 { | 222 { |
| 223 var linkifier = new WebInspector.Linkifier(); | 223 var linkifier = new WebInspector.Linkifier(); |
| 224 var anchorURI = WebInspector.networkMapping.networkURL(uiSourceC
ode); | 224 var anchorURI = WebInspector.networkMapping.networkURL(uiSourceC
ode); |
| 225 var anchor = linkifier.linkifyScriptLocation(WebInspector.target
Manager.mainTarget(), null, anchorURI, 10, 1); | 225 var anchor = linkifier.linkifyScriptLocation(WebInspector.target
Manager.mainTarget(), null, anchorURI, 10, 1); |
| 226 WebInspector.Revealer.revealPromise(anchor[WebInspector.Linkifie
r._uiLocationSymbol]).then(function() { | 226 WebInspector.Revealer.revealPromise(anchor[WebInspector.Linkifie
r._uiLocationSymbol]).then(function() { |
| 227 InspectorTest.addResult("Selection: " + panel.visibleView.te
xtEditor.selection().toString()); | 227 InspectorTest.addResult("Selection: " + panel.visibleView.te
xtEditor.selection().toString()); |
| 228 dumpSelection(panel.visibleView.textEditor, "Showed anchor i
n " + anchorURI.split("/").pop() + " with line 333 column 3"); | 228 dumpSelection("Showed anchor in " + anchorURI.split("/").pop
() + " with line 333 column 3"); |
| 229 rollback(); | 229 rollback(); |
| 230 dumpSelection(panel.visibleView.textEditor, "Rolled back"); | 230 dumpSelection("Rolled back"); |
| 231 rollover(); | 231 rollover(); |
| 232 dumpSelection(panel.visibleView.textEditor, "Rolled over"); | 232 dumpSelection("Rolled over"); |
| 233 next(); | 233 next(); |
| 234 }); | 234 }); |
| 235 } | 235 } |
| 236 }, | 236 }, |
| 237 | 237 |
| 238 function testShowUISourceCode(next) | 238 function testShowUISourceCode(next) |
| 239 { | 239 { |
| 240 dumpSelection(panel.visibleView.textEditor, "Initial state"); | 240 dumpSelection("Initial state"); |
| 241 | 241 |
| 242 InspectorTest.waitForScriptSource("example-fileset-for-test.js", onS
criptSourceLoaded); | 242 InspectorTest.waitForScriptSource("example-fileset-for-test.js", onS
criptSourceLoaded); |
| 243 function onScriptSourceLoaded(uiSourceCode) | 243 function onScriptSourceLoaded(uiSourceCode) |
| 244 { | 244 { |
| 245 var jumps = [20, 10, 30]; | 245 var jumps = [20, 10, 30]; |
| 246 for (var i = 0; i < jumps.length; ++i) { | 246 for (var i = 0; i < jumps.length; ++i) { |
| 247 panel.showUISourceCode(uiSourceCode, jumps[i]); | 247 panel.showUISourceCode(uiSourceCode, jumps[i]); |
| 248 dumpSelection(panel.visibleView.textEditor, "jump to line "
+ jumps[i]); | 248 dumpSelection("jump to line " + jumps[i]); |
| 249 } | 249 } |
| 250 panel.showUISourceCode(uiSourceCode, 40, 10); | 250 panel.showUISourceCode(uiSourceCode, 40, 10); |
| 251 dumpSelection(panel.visibleView.textEditor, "highlight line 40")
; | 251 dumpSelection("highlight line 40"); |
| 252 for (var i = 0; i < jumps.length + 1; ++i) { | 252 for (var i = 0; i < jumps.length + 1; ++i) { |
| 253 rollback(); | 253 rollback(); |
| 254 dumpSelection(panel.visibleView.textEditor, "rollback"); | 254 dumpSelection("rollback"); |
| 255 } | 255 } |
| 256 next(); | 256 next(); |
| 257 } | 257 } |
| 258 } | 258 } |
| 259 ]); | 259 ]); |
| 260 }; | 260 }; |
| 261 </script> | 261 </script> |
| 262 </head> | 262 </head> |
| 263 <body onload="runTest()"> | 263 <body onload="runTest()"> |
| 264 <p>Tests that jumping to previous location works as intended.</p> | 264 <p>Tests that jumping to previous location works as intended.</p> |
| 265 </body> | 265 </body> |
| 266 </html> | 266 </html> |
| OLD | NEW |