| // Copyright 2016 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| let {session, contextGroup, Protocol} = InspectorTest.start('Tests Runtime.compileScript'); |
| |
| var executionContextId; |
| |
| Protocol.Debugger.enable().then(onDebuggerEnabled); |
| |
| function onDebuggerEnabled() |
| { |
| Protocol.Runtime.enable(); |
| Protocol.Debugger.onScriptParsed(onScriptParsed); |
| Protocol.Runtime.onExecutionContextCreated(onExecutionContextCreated); |
| } |
| |
| function onScriptParsed(messageObject) |
| { |
| if (!messageObject.params.url) |
| return; |
| InspectorTest.log("Debugger.scriptParsed: " + messageObject.params.url); |
| } |
| |
| function onExecutionContextCreated(messageObject) |
| { |
| executionContextId = messageObject.params.context.id; |
| testCompileScript("\n (", false, "foo1.js") |
| .then(() => testCompileScript("239", true, "foo2.js")) |
| .then(() => testCompileScript("239", false, "foo3.js")) |
| .then(() => testCompileScript("testfunction f()\n{\n return 0;\n}\n", false, "foo4.js")) |
| .then(() => InspectorTest.completeTest()); |
| } |
| |
| function testCompileScript(expression, persistScript, sourceURL) |
| { |
| InspectorTest.log("Compiling script: " + sourceURL); |
| InspectorTest.log(" persist: " + persistScript); |
| return Protocol.Runtime.compileScript({ |
| expression: expression, |
| sourceURL: sourceURL, |
| persistScript: persistScript, |
| executionContextId: executionContextId |
| }).then(onCompiled); |
| |
| function onCompiled(messageObject) |
| { |
| InspectorTest.log("compilation result: "); |
| InspectorTest.logMessage(messageObject); |
| InspectorTest.log("-----"); |
| } |
| } |