| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <title>Test search in sources.</title> | 3 <title>Test search in sources.</title> |
| 4 <script src="../inspector-test.js"></script> | 4 <script src="../inspector-test.js"></script> |
| 5 <script src="../isolated-filesystem-test.js"></script> | 5 <script src="../isolated-filesystem-test.js"></script> |
| 6 <script src="../workspace-test.js"></script> | 6 <script src="../workspace-test.js"></script> |
| 7 <script src="../debugger-test.js"></script> | 7 <script src="../debugger-test.js"></script> |
| 8 <script src="./search-test.js"></script> | 8 <script src="./search-test.js"></script> |
| 9 <script> | 9 <script> |
| 10 function test() | 10 function test() |
| 11 { | 11 { |
| 12 var scope = new WebInspector.SourcesSearchScope(); | 12 var scope = new Sources.SourcesSearchScope(); |
| 13 var names = ["search.html", "search.js", "search.css"]; | 13 var names = ["search.html", "search.js", "search.css"]; |
| 14 var fs = new InspectorTest.TestFileSystem("file:///var/www"); | 14 var fs = new InspectorTest.TestFileSystem("file:///var/www"); |
| 15 | 15 |
| 16 var promises = []; | 16 var promises = []; |
| 17 for (var name of names) | 17 for (var name of names) |
| 18 promises.push(populateFileSystem(name)); | 18 promises.push(populateFileSystem(name)); |
| 19 | 19 |
| 20 Promise.all(promises) | 20 Promise.all(promises) |
| 21 .then(onAllResourcesLoaded) | 21 .then(onAllResourcesLoaded) |
| 22 .catch(onResourceError); | 22 .catch(onResourceError); |
| 23 | 23 |
| 24 function onResourceError(error) | 24 function onResourceError(error) |
| 25 { | 25 { |
| 26 InspectorTest.addResult("ERROR while loading resources: " + error.messag
e); | 26 InspectorTest.addResult("ERROR while loading resources: " + error.messag
e); |
| 27 InspectorTest.completeTest(); | 27 InspectorTest.completeTest(); |
| 28 } | 28 } |
| 29 | 29 |
| 30 function onAllResourcesLoaded() | 30 function onAllResourcesLoaded() |
| 31 { | 31 { |
| 32 WebInspector.viewManager.showView("sources.search"); | 32 UI.viewManager.showView("sources.search"); |
| 33 fs.reportCreated(fileSystemCreated); | 33 fs.reportCreated(fileSystemCreated); |
| 34 | 34 |
| 35 function fileSystemCreated() | 35 function fileSystemCreated() |
| 36 { | 36 { |
| 37 InspectorTest.addResult("Total uiSourceCodes: " + WebInspector.works
pace.uiSourceCodes().length); | 37 InspectorTest.addResult("Total uiSourceCodes: " + Workspace.workspac
e.uiSourceCodes().length); |
| 38 InspectorTest.runTestSuite(testSuite); | 38 InspectorTest.runTestSuite(testSuite); |
| 39 } | 39 } |
| 40 } | 40 } |
| 41 | 41 |
| 42 function populateFileSystem(name) | 42 function populateFileSystem(name) |
| 43 { | 43 { |
| 44 var urlPrefix = InspectorTest.mainTarget.inspectedURL().substr(0, Inspec
torTest.mainTarget.inspectedURL().lastIndexOf("/") + 1); | 44 var urlPrefix = InspectorTest.mainTarget.inspectedURL().substr(0, Inspec
torTest.mainTarget.inspectedURL().lastIndexOf("/") + 1); |
| 45 var url = urlPrefix + "resources/" + name; | 45 var url = urlPrefix + "resources/" + name; |
| 46 return Runtime.loadResourcePromise(url).then(function(text) { | 46 return Runtime.loadResourcePromise(url).then(function(text) { |
| 47 fs.root.addFile(name, text); | 47 fs.root.addFile(name, text); |
| 48 }); | 48 }); |
| 49 } | 49 } |
| 50 | 50 |
| 51 InspectorFrontendHost.searchInPath = function(requestId, path, query) | 51 InspectorFrontendHost.searchInPath = function(requestId, path, query) |
| 52 { | 52 { |
| 53 setTimeout(reply); | 53 setTimeout(reply); |
| 54 | 54 |
| 55 function reply() | 55 function reply() |
| 56 { | 56 { |
| 57 var paths = []; | 57 var paths = []; |
| 58 for (var i = 0; i < names.length; ++i) | 58 for (var i = 0; i < names.length; ++i) |
| 59 paths.push("/var/www/" + names[i]); | 59 paths.push("/var/www/" + names[i]); |
| 60 WebInspector.isolatedFileSystemManager._onSearchCompleted({data: {re
questId: requestId, fileSystemPath: path, files: paths}}); | 60 Workspace.isolatedFileSystemManager._onSearchCompleted({data: {reque
stId: requestId, fileSystemPath: path, files: paths}}); |
| 61 } | 61 } |
| 62 } | 62 } |
| 63 | 63 |
| 64 var testSuite = [ | 64 var testSuite = [ |
| 65 function testIgnoreCase(next) | 65 function testIgnoreCase(next) |
| 66 { | 66 { |
| 67 var query = "searchTest" + "UniqueString"; | 67 var query = "searchTest" + "UniqueString"; |
| 68 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 68 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 69 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 69 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 70 }, | 70 }, |
| 71 | 71 |
| 72 function testCaseSensitive(next) | 72 function testCaseSensitive(next) |
| 73 { | 73 { |
| 74 var query = "searchTest" + "UniqueString"; | 74 var query = "searchTest" + "UniqueString"; |
| 75 var searchConfig = new WebInspector.SearchConfig(query, false, false
); | 75 var searchConfig = new Workspace.SearchConfig(query, false, false); |
| 76 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 76 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 77 }, | 77 }, |
| 78 | 78 |
| 79 function testFileHTML(next) | 79 function testFileHTML(next) |
| 80 { | 80 { |
| 81 var query = "searchTest" + "UniqueString" + " file:html"; | 81 var query = "searchTest" + "UniqueString" + " file:html"; |
| 82 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 82 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 83 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 83 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 84 }, | 84 }, |
| 85 | 85 |
| 86 function testFileJS(next) | 86 function testFileJS(next) |
| 87 { | 87 { |
| 88 var query = "file:js " + "searchTest" + "UniqueString"; | 88 var query = "file:js " + "searchTest" + "UniqueString"; |
| 89 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 89 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 90 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 90 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 91 }, | 91 }, |
| 92 | 92 |
| 93 function testFileHTMLJS(next) | 93 function testFileHTMLJS(next) |
| 94 { | 94 { |
| 95 var query = "file:js " + "searchTest" + "UniqueString" + " file:html
"; | 95 var query = "file:js " + "searchTest" + "UniqueString" + " file:html
"; |
| 96 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 96 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 97 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 97 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 98 }, | 98 }, |
| 99 | 99 |
| 100 function testSpaceQueries(next) | 100 function testSpaceQueries(next) |
| 101 { | 101 { |
| 102 var query = "searchTest" + "Unique" + " space" + " String"; | 102 var query = "searchTest" + "Unique" + " space" + " String"; |
| 103 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 103 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 104 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 104 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 105 }, | 105 }, |
| 106 | 106 |
| 107 function testSpaceQueriesFileHTML(next) | 107 function testSpaceQueriesFileHTML(next) |
| 108 { | 108 { |
| 109 var query = "file:html " + "searchTest" + "Unique" + " space" + " St
ring"; | 109 var query = "file:html " + "searchTest" + "Unique" + " space" + " St
ring"; |
| 110 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 110 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 111 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 111 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 112 }, | 112 }, |
| 113 | 113 |
| 114 function testSpaceQueriesFileHTML_SEARCH(next) | 114 function testSpaceQueriesFileHTML_SEARCH(next) |
| 115 { | 115 { |
| 116 var query = "file:html " + "searchTest" + "Unique" + " space" + " St
ring" + " file:search"; | 116 var query = "file:html " + "searchTest" + "Unique" + " space" + " St
ring" + " file:search"; |
| 117 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 117 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 118 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 118 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 119 }, | 119 }, |
| 120 | 120 |
| 121 function testSpaceQueriesFileJS_SEARCH_HTML(next) | 121 function testSpaceQueriesFileJS_SEARCH_HTML(next) |
| 122 { | 122 { |
| 123 var query = "file:js " + "searchTest" + "Unique" + " space" + " Stri
ng" + " file:search file:html"; | 123 var query = "file:js " + "searchTest" + "Unique" + " space" + " Stri
ng" + " file:search file:html"; |
| 124 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 124 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 125 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 125 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 126 }, | 126 }, |
| 127 | 127 |
| 128 function testSeveralQueriesFileHTML(next) | 128 function testSeveralQueriesFileHTML(next) |
| 129 { | 129 { |
| 130 var query = "searchTest" + "Unique" + " file:html " + " space" + " S
tring"; | 130 var query = "searchTest" + "Unique" + " file:html " + " space" + " S
tring"; |
| 131 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 131 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 132 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 132 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 133 }, | 133 }, |
| 134 | 134 |
| 135 function testSeveralQueriesFileHTML_SEARCH(next) | 135 function testSeveralQueriesFileHTML_SEARCH(next) |
| 136 { | 136 { |
| 137 var query = "searchTest" + "Unique" + " file:html " + " space" + " S
tring" + " file:search"; | 137 var query = "searchTest" + "Unique" + " file:html " + " space" + " S
tring" + " file:search"; |
| 138 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 138 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 139 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 139 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 140 }, | 140 }, |
| 141 | 141 |
| 142 function testSeveralQueriesFileJS_SEARCH_HTML(next) | 142 function testSeveralQueriesFileJS_SEARCH_HTML(next) |
| 143 { | 143 { |
| 144 var query = "file:js " + "searchTest" + "Unique" + " file:html " + "
space" + " String" + " file:search"; | 144 var query = "file:js " + "searchTest" + "Unique" + " file:html " + "
space" + " String" + " file:search"; |
| 145 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 145 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 146 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 146 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 147 }, | 147 }, |
| 148 | 148 |
| 149 function testFileSEARCH_NOT_JS_NOT_CSS(next) | 149 function testFileSEARCH_NOT_JS_NOT_CSS(next) |
| 150 { | 150 { |
| 151 var query = "searchTest" + "UniqueString" + " file:search -file:js -
file:css"; | 151 var query = "searchTest" + "UniqueString" + " file:search -file:js -
file:css"; |
| 152 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 152 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 153 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 153 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 154 }, | 154 }, |
| 155 | 155 |
| 156 function testSeveralQueriesFileNotCSS(next) | 156 function testSeveralQueriesFileNotCSS(next) |
| 157 { | 157 { |
| 158 var query = "searchTest" + "Unique" + " -file:css " + " space" + " S
tring"; | 158 var query = "searchTest" + "Unique" + " -file:css " + " space" + " S
tring"; |
| 159 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 159 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 160 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 160 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 161 }, | 161 }, |
| 162 | 162 |
| 163 function testFileQueryWithProjectName(next) | 163 function testFileQueryWithProjectName(next) |
| 164 { | 164 { |
| 165 InspectorTest.addResult("Running a file query with existing project
name first:"); | 165 InspectorTest.addResult("Running a file query with existing project
name first:"); |
| 166 var query = "searchTest" + "Unique" + " file:www"; | 166 var query = "searchTest" + "Unique" + " file:www"; |
| 167 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 167 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 168 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, ste
p2); | 168 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, ste
p2); |
| 169 | 169 |
| 170 function step2() | 170 function step2() |
| 171 { | 171 { |
| 172 InspectorTest.addResult("Running a file query with non-existing
project name now:"); | 172 InspectorTest.addResult("Running a file query with non-existing
project name now:"); |
| 173 query = "searchTest" + "Unique" + " file:zzz"; | 173 query = "searchTest" + "Unique" + " file:zzz"; |
| 174 searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 174 searchConfig = new Workspace.SearchConfig(query, true, false); |
| 175 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true,
next); | 175 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true,
next); |
| 176 } | 176 } |
| 177 }, | 177 }, |
| 178 | 178 |
| 179 function testDirtyFiles(next) | 179 function testDirtyFiles(next) |
| 180 { | 180 { |
| 181 var uiSourceCode; | 181 var uiSourceCode; |
| 182 var uiSourceCodes = InspectorTest.fileSystemUISourceCodes(); | 182 var uiSourceCodes = InspectorTest.fileSystemUISourceCodes(); |
| 183 for (var i = 0; i < uiSourceCodes.length; ++i) { | 183 for (var i = 0; i < uiSourceCodes.length; ++i) { |
| 184 if (uiSourceCodes[i].name() === "search.js") { | 184 if (uiSourceCodes[i].name() === "search.js") { |
| 185 uiSourceCode = uiSourceCodes[i]; | 185 uiSourceCode = uiSourceCodes[i]; |
| 186 break; | 186 break; |
| 187 } | 187 } |
| 188 } | 188 } |
| 189 | 189 |
| 190 uiSourceCode.setWorkingCopy("FOO " + "searchTest" + "UniqueString" +
" BAR"); | 190 uiSourceCode.setWorkingCopy("FOO " + "searchTest" + "UniqueString" +
" BAR"); |
| 191 var query = "searchTest" + "UniqueString"; | 191 var query = "searchTest" + "UniqueString"; |
| 192 var searchConfig = new WebInspector.SearchConfig(query, true, false)
; | 192 var searchConfig = new Workspace.SearchConfig(query, true, false); |
| 193 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); | 193 InspectorTest.runSearchAndDumpResults(scope, searchConfig, true, nex
t); |
| 194 } | 194 } |
| 195 ]; | 195 ]; |
| 196 } | 196 } |
| 197 | 197 |
| 198 </script> | 198 </script> |
| 199 </head> | 199 </head> |
| 200 <body onload="runTest()"> | 200 <body onload="runTest()"> |
| 201 <p>Tests that ScriptSearchScope performs search across all sources correctly.</p
> | 201 <p>Tests that ScriptSearchScope performs search across all sources correctly.</p
> |
| 202 See <a href="https://bugs.webkit.org/show_bug.cgi?id=41350">bug 41350</a>. | 202 See <a href="https://bugs.webkit.org/show_bug.cgi?id=41350">bug 41350</a>. |
| 203 </body> | 203 </body> |
| 204 </html> | 204 </html> |
| OLD | NEW |