v8/test/inspector/runtime/compile-script.js
dgozman 7bbea08f66 [inspector] Refactor protocol-test.js
This refactoring makes it easier to write advanced tests and
gives full control over what's happening to the test code.
It also forces description for every test.

BUG=none

Review-Url: https://codereview.chromium.org/2891213002
Cr-Commit-Position: refs/heads/master@{#45412}
2017-05-19 00:35:45 +00:00

53 lines
1.6 KiB
JavaScript

// 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("-----");
}
}