v8/test/inspector/debugger/script-parsed-for-runtime-evaluate.js
kozyatinskiy 9c385f0405 [inspector] added reconnect method for tests
This method enables test of agent::restore methods.
Bonus: forbid setCustomObjectFormatterEnabled on disabled agent.

BUG=none
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2713023004
Cr-Commit-Position: refs/heads/master@{#43502}
2017-02-28 20:22:24 +00:00

50 lines
2.1 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.
InspectorTest.log("Checks that inspector reports script compiled in Runtime.evaluate," +
"Runtime.callFunctionOn and Runtime.compileScript");
Promise.prototype.thenLog = function log(message) {
return this.then(() => InspectorTest.log(message));
}
var objectId;
Protocol.Runtime.enable();
Protocol.Debugger.enable()
.then(() => Protocol.Debugger.onScriptParsed(InspectorTest.logMessage))
.then(() => Protocol.Debugger.onScriptFailedToParse(InspectorTest.logMessage))
.thenLog('Runtime.evaluate with valid expression')
.then(() => Protocol.Runtime.evaluate({
expression: "({})//# sourceURL=evaluate.js"}))
.then(msg => objectId = msg.result.result.objectId)
.thenLog('Runtime.evaluate with syntax error')
.then(() => Protocol.Runtime.evaluate({
expression: "}//# sourceURL=evaluate-syntax-error.js"}))
.thenLog('Runtime.callFunctionOn with valid functionDeclaration')
.then(() => Protocol.Runtime.callFunctionOn({ objectId: objectId,
functionDeclaration: "function foo(){}"}))
.thenLog('Runtime.callFunctionOn with syntax error')
.then(() => Protocol.Runtime.callFunctionOn({ objectId: objectId,
functionDeclaration: "}"}))
.thenLog('Runtime.compileScript with valid expression')
.then(() => Protocol.Runtime.compileScript({ expression: "({})",
sourceURL: "compile-script.js", persistScript: true }))
.thenLog('Runtime.compileScript with syntax error')
.then(() => Protocol.Runtime.compileScript({ expression: "}",
sourceURL: "compile-script-syntax-error.js", persistScript: true }))
.thenLog('Runtime.compileScript persistScript: false (should be no script events)')
.then(() => Protocol.Runtime.compileScript({ expression: "({})",
sourceURL: "compile-script-syntax-error.js", persistScript: false }))
.then(() => Protocol.Runtime.compileScript({ expression: "}",
sourceURL: "compile-script-syntax-error.js", persistScript: false }))
.then(InspectorTest.completeTest);