2017-02-28 20:22:24 +00:00
|
|
|
// Copyright 2017 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.v8
|
|
|
|
|
2017-05-19 00:35:45 +00:00
|
|
|
let {session, contextGroup, Protocol} = InspectorTest.start('Checks that Runtime agent correctly restore its state.');
|
2017-02-28 20:22:24 +00:00
|
|
|
|
2017-05-19 00:35:45 +00:00
|
|
|
contextGroup.addScript(`
|
2017-02-28 20:22:24 +00:00
|
|
|
var formatter = {
|
|
|
|
header: function(x)
|
|
|
|
{
|
|
|
|
return ["span", {}, "Header formatted ", x.name];
|
|
|
|
},
|
|
|
|
|
|
|
|
hasBody: function(x)
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
},
|
|
|
|
|
|
|
|
body: function(x)
|
|
|
|
{
|
|
|
|
return ["span", {}, "Body formatted ", x.name]
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
devtoolsFormatters = [ formatter ];
|
|
|
|
|
|
|
|
//# sourceURL=test.js`)
|
|
|
|
|
|
|
|
InspectorTest.runTestSuite([
|
|
|
|
function testExecutionContextsNotificationsOnRestore(next) {
|
|
|
|
Protocol.Runtime.onExecutionContextsCleared(InspectorTest.logMessage);
|
|
|
|
Protocol.Runtime.onExecutionContextCreated(InspectorTest.logMessage);
|
|
|
|
Protocol.Runtime.onExecutionContextDestroyed(InspectorTest.logMessage);
|
|
|
|
Protocol.Runtime.enable()
|
|
|
|
.then(reconnect)
|
|
|
|
.then(Protocol.Runtime.disable)
|
|
|
|
.then(() => {
|
|
|
|
Protocol.Runtime.onExecutionContextsCleared(null);
|
|
|
|
Protocol.Runtime.onExecutionContextCreated(null);
|
|
|
|
Protocol.Runtime.onExecutionContextDestroyed(null);
|
|
|
|
next()
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
function testConsoleAPICalledAfterRestore(next) {
|
|
|
|
Protocol.Runtime.onConsoleAPICalled(InspectorTest.logMessage);
|
|
|
|
Protocol.Runtime.enable()
|
|
|
|
.then(reconnect)
|
|
|
|
.then(() => Protocol.Runtime.evaluate({ expression: 'console.log(42);' }))
|
|
|
|
.then(Protocol.Runtime.disable)
|
|
|
|
.then(() => {
|
|
|
|
Protocol.Runtime.onConsoleAPICalled(null);
|
|
|
|
next();
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
function testSetCustomObjectFormatterEnabled(next) {
|
|
|
|
Protocol.Runtime.onConsoleAPICalled(InspectorTest.logMessage);
|
2017-05-18 23:11:20 +00:00
|
|
|
Protocol.Runtime.discardConsoleEntries()
|
|
|
|
.then(reconnect)
|
|
|
|
.then(() => Protocol.Runtime.enable())
|
2017-02-28 20:22:24 +00:00
|
|
|
.then(() => Protocol.Runtime.setCustomObjectFormatterEnabled({ enabled: true }))
|
|
|
|
.then(reconnect)
|
|
|
|
.then(() => Protocol.Runtime.evaluate({ expression: 'console.log({ name: 42 })'}))
|
|
|
|
.then(InspectorTest.logMessage)
|
|
|
|
.then(Protocol.Runtime.disable)
|
|
|
|
.then(() => {
|
|
|
|
Protocol.Runtime.onConsoleAPICalled(null);
|
|
|
|
next();
|
|
|
|
});
|
|
|
|
},
|
|
|
|
]);
|
|
|
|
|
|
|
|
function reconnect() {
|
|
|
|
InspectorTest.logMessage('will reconnect..');
|
2017-05-19 00:35:45 +00:00
|
|
|
session.reconnect();
|
2017-02-28 20:22:24 +00:00
|
|
|
}
|