[inspector] added a test for crash in wrapping async evaluate result
BUG=chromium:651211 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2381693002 Cr-Commit-Position: refs/heads/master@{#39933}
This commit is contained in:
parent
306f83119b
commit
c9391d15ca
@ -133,6 +133,27 @@ InspectorTest.logObject = function(object, title)
|
||||
InspectorTest.log(lines.join("\n"));
|
||||
}
|
||||
|
||||
InspectorTest.logMessage = function(message)
|
||||
{
|
||||
if (message.id)
|
||||
message.id = 0;
|
||||
|
||||
const nonStableFields = new Set(["objectId", "scriptId", "exceptionId"]);
|
||||
var objects = [ message ];
|
||||
while (objects.length) {
|
||||
var object = objects.shift();
|
||||
for (var key in object) {
|
||||
if (nonStableFields.has(key))
|
||||
object[key] = `<${key}>`;
|
||||
else if (typeof object[key] === "object")
|
||||
objects.push(object[key]);
|
||||
}
|
||||
}
|
||||
|
||||
InspectorTest.logObject(message);
|
||||
return message;
|
||||
}
|
||||
|
||||
InspectorTest.completeTest = quit.bind(null);
|
||||
|
||||
InspectorTest.evaluateInPage = function(string, callback)
|
||||
|
@ -0,0 +1,8 @@
|
||||
Test that Runtime.evaluate correctly process errors during wrapping async result.
|
||||
{
|
||||
error : {
|
||||
code : -32000
|
||||
message : Object couldn't be returned by value
|
||||
}
|
||||
id : 0
|
||||
}
|
15
test/inspector/runtime/evaluate-async-with-wrap-error.js
Normal file
15
test/inspector/runtime/evaluate-async-with-wrap-error.js
Normal file
@ -0,0 +1,15 @@
|
||||
// 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.
|
||||
|
||||
print("Test that Runtime.evaluate correctly process errors during wrapping \
|
||||
async result.");
|
||||
|
||||
var evaluateArguments = {
|
||||
expression: "Promise.resolve(Symbol(123))",
|
||||
returnByValue: true,
|
||||
awaitPromise: true
|
||||
};
|
||||
InspectorTest.sendCommandPromise("Runtime.evaluate", evaluateArguments)
|
||||
.then(message => InspectorTest.logMessage(message))
|
||||
.then(_ => InspectorTest.completeTest());
|
Loading…
Reference in New Issue
Block a user