| <!doctype html> |
| <html> |
| <head> |
| <script src="../../http/tests/inspector/resources/inspector-test.js"></script> |
| <script> |
| // SEARCHTEST: Comment in inline <script>. |
| function performEvals() |
| { |
| // Find the line with the search term. |
| eval("// SEARCH" + "TEST: Eval 1\n//# sourceURL=eval1.js"); |
| // If the search term shows up multiple times on a single line, the line is returned once. |
| eval("var SEARCH" + "TEST = \"SEARCH" + "TEST\";\n//# sourceURL=eval2.js"); |
| }; |
| |
| function test() |
| { |
| function sanitizeScriptURL(url) { |
| return url.substring(url.indexOf("LayoutTests")); |
| } |
| |
| function chomp(line) { |
| return line.replace(/\n$/, ""); |
| } |
| |
| var scriptsCount = 0; |
| const expectedScriptsCount = 5; |
| |
| WI.debuggerManager.addEventListener(WI.DebuggerManager.Event.ScriptAdded, function(event) { |
| var script = event.data.script; |
| if (!/LayoutTests/.test(script.url) && !/eval\d\.js/.test(script.sourceURL)) |
| return; |
| |
| DebuggerAgent.searchInContent(script.id, "SEARCHTEST", false, false, function(error, results) { |
| InspectorTest.log(""); |
| InspectorTest.log("SCRIPT: " + sanitizeScriptURL(script.sourceURL || script.url)); |
| InspectorTest.log("RESULTS: " + results.length); |
| for (var result of results) { |
| InspectorTest.log(" LINE: " + result.lineNumber); |
| InspectorTest.log(" CONTENT: " + chomp(result.lineContent)); |
| } |
| |
| if (++scriptsCount === expectedScriptsCount) |
| InspectorTest.completeTest(); |
| }); |
| }); |
| |
| InspectorTest.addEventListener(FrontendTestHarness.Event.TestPageDidLoad, () => { |
| InspectorTest.evaluateInPage("performEvals()"); |
| }); |
| |
| InspectorTest.reloadPage(); |
| } |
| </script> |
| </head> |
| <body onload="runTest(); // SEARCHTEST: onload attribute string"> |
| <p>Test <code>DebuggerAgent.searchInContent</code> to search script content.</p> |
| </body> |
| </html> |