blob: 33835fcc7ad362345e3933cbb4d6861d9c61c999 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Tests that inspect() command line api works.\n`);
await TestRunner.loadModule('console_test_runner');
await TestRunner.loadHTML(`
<p id="p1">
</p>
`);
TestRunner.addSniffer(SDK.RuntimeModel.prototype, '_inspectRequested', sniffInspect, true);
function sniffInspect(objectId, hints) {
TestRunner.addResult('WebInspector.inspect called with: ' + objectId.description);
TestRunner.addResult('WebInspector.inspect\'s hints are: ' + JSON.stringify(Object.keys(hints)));
}
function evalAndDump(expression, next) {
TestRunner.addResult('\n');
ConsoleTestRunner.evaluateInConsole(expression, dumpCallback);
function dumpCallback(text) {
TestRunner.addResult(expression + ' = ' + text);
if (next)
next();
}
}
TestRunner.runTestSuite([function testRevealElement(next) {
const originalReveal = Common.Revealer.reveal;
Common.Revealer.setRevealForTest((node) => {
if (!(node instanceof SDK.RemoteObject)) {
return Promise.resolve();
}
return originalReveal(node).then(step3);
});
evalAndDump('inspect($(\'#p1\'))');
function step3() {
TestRunner.addResult('Selected node id: \'' + UI.panels.elements.selectedDOMNode().getAttribute('id') + '\'.');
next();
}
}]);
})();