blob: 01c0fe6a43aac2f2edd6cf2dfde659e5af9fd9e1 [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 sidebar behaves properly.\n`);
await TestRunner.loadModule('console_test_runner');
await TestRunner.showPanel('console');
await TestRunner.addScriptTag('resources/log-source.js');
await TestRunner.evaluateInPagePromise(`
function log1()
{
console.log.apply(console, arguments);
}
function error1()
{
console.error.apply(console, arguments);
}
`);
var consoleView = Console.ConsoleView.instance();
var sidebar = consoleView._sidebar;
var messages = Console.ConsoleView.instance()._visibleViewMessages;
consoleView._setImmediatelyFilterMessagesForTest();
if (!consoleView._isSidebarOpen)
consoleView._splitWidget._showHideSidebarButton.element.click();
function dumpSidebar() {
var treeElement = sidebar._tree.firstChild();
var info = {};
var depth = 1;
TestRunner.addResult('SIDEBAR:');
do {
TestRunner.addResult('> '.repeat(depth) + treeElement.title);
treeElement = treeElement.traverseNextTreeElement(false /* skipUnrevealed */, null, true /* dontPopulate */, info);
depth += info.depthChange;
} while (treeElement)
}
TestRunner.runTestSuite([
function beforeFilter(next) {
dumpSidebar();
next();
},
async function addLogsFromMultipleUrls(next) {
await TestRunner.evaluateInPagePromise(`log2('Log from log-source')`);
await TestRunner.evaluateInPagePromise(`log1('Log from test')`);
dumpSidebar();
next();
},
async function addLogsFromMultipleLevels(next) {
await TestRunner.evaluateInPagePromise(`warn2('Warning from log-source')`);
await TestRunner.evaluateInPagePromise(`error1('Error from test')`);
dumpSidebar();
next();
},
async function selectingErrorGroup(next) {
sidebar._treeElements[2].select();
TestRunner.addResult('Selecting item: ' + sidebar._selectedTreeElement.title);
TestRunner.addResult('MESSAGES:');
await ConsoleTestRunner.dumpConsoleMessages();
TestRunner.addResult('');
dumpSidebar();
next();
},
async function selectingFileGroup(next) {
sidebar._treeElements[0].expand();
sidebar._treeElements[0].select();
sidebar._tree.selectNext();
TestRunner.addResult('Selecting item: ' + sidebar._selectedTreeElement.title);
TestRunner.addResult('MESSAGES:');
await ConsoleTestRunner.dumpConsoleMessages();
next();
},
async function clearConsole(next) {
Console.ConsoleView.clearConsole();
dumpSidebar();
next();
}
]);
})();