82 lines
2.6 KiB
HTML
82 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
|
|
<script>
|
|
function test()
|
|
{
|
|
function payloadJSONFilter(key, value) {
|
|
if (key === "objectId")
|
|
return "<filtered>";
|
|
if (key === "databaseId")
|
|
return "<filtered>";
|
|
return value;
|
|
}
|
|
|
|
function evaluateWithCommandLineAPI(expression) {
|
|
const objectGroup = "test";
|
|
const includeCommandLineAPI = true;
|
|
return InspectorProtocol.awaitCommand({
|
|
method: "Runtime.evaluate",
|
|
params: {expression, objectGroup, includeCommandLineAPI}
|
|
});
|
|
}
|
|
|
|
let suite = ProtocolTest.createAsyncSuite("CommandLineAPI.prototype.inspect");
|
|
|
|
InspectorProtocol.awaitCommand({method: "Inspector.enable", params: {}})
|
|
InspectorProtocol.awaitCommand({method: "Database.enable", params: {}})
|
|
|
|
function addTestCase({name, description, expression}) {
|
|
suite.addTestCase({
|
|
name, description,
|
|
test(resolve, reject) {
|
|
evaluateWithCommandLineAPI(expression);
|
|
ProtocolTest.log("EXPRESSION: " + expression);
|
|
InspectorProtocol.awaitEvent({event: "Inspector.inspect"}).then((messageObject) => {
|
|
ProtocolTest.log(JSON.stringify(messageObject, payloadJSONFilter, 2));
|
|
resolve();
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
addTestCase({
|
|
name: "CommandLineAPI.prototype.inspect.RemoteObject.Undefined",
|
|
description: "inspect() should produce a remote object for undefined",
|
|
expression: `inspect()`,
|
|
});
|
|
|
|
addTestCase({
|
|
name: "CommandLineAPI.prototype.inspect.RemoteObject.Number",
|
|
description: "inspect(value) should produce a remote object for that value",
|
|
expression: `inspect(123.456)`,
|
|
});
|
|
|
|
addTestCase({
|
|
name: "CommandLineAPI.prototype.inspect.RemoteObject.Object",
|
|
description: "inspect(value) should produce a remote object for that value",
|
|
expression: `inspect({a:1, b:2})`,
|
|
});
|
|
|
|
addTestCase({
|
|
name: "CommandLineAPI.prototype.inspect.RemoteObject.Function",
|
|
description: "inspect(value) should produce a remote object for that value",
|
|
expression: `inspect(function f() {})`,
|
|
});
|
|
|
|
addTestCase({
|
|
name: "CommandLineAPI.prototype.inspect.Storage",
|
|
description: "inspect(sessionStorage) should include a hint",
|
|
expression: `inspect(sessionStorage)`,
|
|
});
|
|
|
|
suite.runTestCasesAndFinish();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>Tests for CommandLineAPI.prototype.inspect with different object types.</p>
|
|
</body>
|
|
</html>
|