OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // Flags: --expose_gc |
4 | 5 |
5 print("Checks that inspector correctly process compiled scripts"); | 6 print("Checks that inspector correctly process compiled scripts"); |
6 | 7 |
7 function addScripts() { | 8 function addScripts() { |
8 // sourceURL in the same line | 9 // sourceURL in the same line |
9 return addScript("function foo1(){}//# sourceURL=oneline.js\n") | 10 return addScript("function foo1(){}//# sourceURL=oneline.js\n") |
10 // sourceURL without end line | 11 // sourceURL without end line |
11 .then(() => addScript("function foo2(){}//# sourceURL=oneline-without-nl.js"
)) | 12 .then(() => addScript("function foo2(){}//# sourceURL=oneline-without-nl.js"
)) |
12 // other source urls | 13 // other source urls |
13 .then(() => addScript("function foo3(){}\n//# sourceURL=twoline.js\n")) | 14 .then(() => addScript("function foo3(){}\n//# sourceURL=twoline.js\n")) |
(...skipping 27 matching lines...) Expand all Loading... |
41 .then(() => addScript("function foo18(){}\n\n\n")) | 42 .then(() => addScript("function foo18(){}\n\n\n")) |
42 .then(() => addScript("function foo19(){}\n\n\n\n")); | 43 .then(() => addScript("function foo19(){}\n\n\n\n")); |
43 } | 44 } |
44 | 45 |
45 Protocol.Debugger.onScriptParsed((message) => requestSourceAndDump(message, true
)); | 46 Protocol.Debugger.onScriptParsed((message) => requestSourceAndDump(message, true
)); |
46 Protocol.Debugger.onScriptFailedToParse((message) => requestSourceAndDump(messag
e, false)); | 47 Protocol.Debugger.onScriptFailedToParse((message) => requestSourceAndDump(messag
e, false)); |
47 addScripts() | 48 addScripts() |
48 .then(() => Protocol.Debugger.enable()) | 49 .then(() => Protocol.Debugger.enable()) |
49 .then(addScripts) | 50 .then(addScripts) |
50 .then(() => Protocol.Debugger.disable()) | 51 .then(() => Protocol.Debugger.disable()) |
51 .then(() => InspectorTest.log("Remove script references and re-enable debugger
.")) | 52 |
52 .then(() => Protocol.Runtime.evaluate( | 53 .then(() => InspectorTest.log("Run gc and then Debugger.enable()..")) |
53 { expression: "for (let i = 1; i < 20; ++i) eval(`foo${i} = undefined`);"
})) | 54 .then(() => Protocol.Runtime.evaluate({ expression: "for (let i = 1; i < 20; +
+i) eval(`foo${i} = undefined`); gc();" })) |
54 .then(() => Protocol.HeapProfiler.collectGarbage()) | |
55 .then(() => Protocol.Debugger.enable()) | 55 .then(() => Protocol.Debugger.enable()) |
56 .then(InspectorTest.completeTest); | 56 .then(InspectorTest.completeTest); |
57 | 57 |
58 function addScript(source) { | 58 function addScript(source) { |
59 return Protocol.Runtime.evaluate({ expression: source }); | 59 return Protocol.Runtime.evaluate({ expression: source }); |
60 } | 60 } |
61 | 61 |
62 function requestSourceAndDump(scriptParsedMessage, scriptParsed) { | 62 function requestSourceAndDump(scriptParsedMessage, scriptParsed) { |
63 Protocol.Debugger.getScriptSource({ scriptId: scriptParsedMessage.params.scrip
tId }) | 63 Protocol.Debugger.getScriptSource({ scriptId: scriptParsedMessage.params.scrip
tId }) |
64 .then((sourceMessage) => dumpScriptParsed(scriptParsedMessage, sourceMessage
, scriptParsed)); | 64 .then((sourceMessage) => dumpScriptParsed(scriptParsedMessage, sourceMessage
, scriptParsed)); |
(...skipping 19 matching lines...) Expand all Loading... |
84 sourceResult.scriptSource = sourceResult.scriptSource.replace(/\n/g, "<nl>"); | 84 sourceResult.scriptSource = sourceResult.scriptSource.replace(/\n/g, "<nl>"); |
85 InspectorTest.log(scriptParsed ? "scriptParsed" : "scriptFailedToParse"); | 85 InspectorTest.log(scriptParsed ? "scriptParsed" : "scriptFailedToParse"); |
86 InspectorTest.logObject(sourceResult); | 86 InspectorTest.logObject(sourceResult); |
87 InspectorTest.logObject(params); | 87 InspectorTest.logObject(params); |
88 } | 88 } |
89 | 89 |
90 function matchExact(re, str) { | 90 function matchExact(re, str) { |
91 var match = str.match(re); | 91 var match = str.match(re); |
92 return match !== null && str === match[0]; | 92 return match !== null && str === match[0]; |
93 } | 93 } |
OLD | NEW |