Index: LayoutTests/inspector/editor/text-editor-search-switch-editor.html |
diff --git a/LayoutTests/inspector/editor/text-editor-search-switch-editor.html b/LayoutTests/inspector/editor/text-editor-search-switch-editor.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..df25503ed761d24b0d015014de1af88ea2eb50d5 |
--- /dev/null |
+++ b/LayoutTests/inspector/editor/text-editor-search-switch-editor.html |
@@ -0,0 +1,66 @@ |
+<html> |
+<head> |
+<script src="../../http/tests/inspector/inspector-test.js"></script> |
+<script src="../../http/tests/inspector/debugger-test.js"></script> |
+<script src="../debugger/resources/edit-me.js"></script> |
+<script src="resources/search-me.js"></script> |
+<script> |
+ |
+function test() |
+{ |
+ var textEditor; |
+ var searchString = "FINDME"; |
+ var searchableView = WebInspector.panels.sources.searchableView(); |
+ var sourceFrame; |
+ InspectorTest.showScriptSource("search-me.js", didShowScriptSource); |
+ |
+ function didShowScriptSource(shownSourceFrame) |
+ { |
+ sourceFrame = shownSourceFrame; |
+ textEditor = sourceFrame._textEditor; |
+ // We are probably still updating the editor in current callstack, so postponing the test execution. |
+ setImmediate(textEditorUpdated); |
+ } |
+ |
+ function textEditorUpdated(sourceFrame) |
+ { |
+ searchableView.showSearchField(); |
+ |
+ InspectorTest.addResult("Performing search..."); |
+ searchableView._searchInputElement.value = searchString; |
+ searchableView._performSearch(true, true); |
+ InspectorTest.addResult("Recording editor viewport after searching..."); |
+ |
+ var originalViewport = { from: textEditor.firstVisibleLine(), to: textEditor.lastVisibleLine() }; |
+ var originalSelectionRange = textEditor.selection(); |
+ |
+ InspectorTest.showScriptSource("edit-me.js", didShowAnotherSource); |
+ |
+ function didShowAnotherSource(anotherSourceFrame) |
+ { |
+ InspectorTest.showScriptSource("search-me.js", didShowScriptSourceAgain); |
+ } |
+ |
+ function didShowScriptSourceAgain(sourceFrame) |
+ { |
+ InspectorTest.addResult("Recording editor viewport after switching tabs..."); |
+ var newViewport = { from: textEditor.firstVisibleLine(), to: textEditor.lastVisibleLine() }; |
+ var newSelectionRange = textEditor.selection(); |
+ InspectorTest.addResult("Comparing viewports..."); |
+ if (originalViewport.from === newViewport.from && originalViewport.to === newViewport.to) |
+ InspectorTest.addResult(" viewports match, SUCCESS"); |
+ else |
+ InspectorTest.addResult(" viewports do not match, FAIL"); |
+ InspectorTest.addResult("Comparing selection ranges..."); |
+ InspectorTest.addResult(" original selection range: " + originalSelectionRange.toString()); |
+ InspectorTest.addResult(" current selection range: " + newSelectionRange.toString()); |
+ InspectorTest.completeTest(); |
+ } |
+ } |
+}; |
+</script> |
+</head> |
+<body onload="runTest()"> |
+<p>Tests that switching editor tabs after searching does not affect editor selection and viewport.</p> |
+</body> |
+</html> |