blob: d73bd8a612aac048a97214879d582326e08dfedc [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 console dumps global object with properties.\n`);
await TestRunner.loadModule('console_test_runner');
await TestRunner.showPanel('console');
await TestRunner.evaluateInPagePromise(`
function doit()
{
console.dir(window);
};
`);
TestRunner.RuntimeAgent.evaluate('window', 'console', false).then(evalCallback);
function evalCallback(result) {
if (!result) {
testController.notifyDone('Exception');
return;
}
if (result.type === 'error')
testController.notifyDone('Exception:' + result);
var objectProxy = TestRunner.runtimeModel.createRemoteObject(result);
objectProxy.getOwnProperties(false).then(getPropertiesCallback);
}
function getPropertiesCallback(allProperties) {
const properties = allProperties.properties;
properties.sort(ObjectUI.ObjectPropertiesSection.CompareProperties);
var golden = {
'window': 1,
'document': 1,
'eval': 1,
'console': 1,
'frames': 1,
'Array': 1,
'doit': 1
};
var result = {};
for (var i = 0; i < properties.length; ++i) {
var name = properties[i].name;
if (golden[name])
result[name] = 1;
}
TestRunner.addObject(result);
TestRunner.completeTest();
}
})();