Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
// Test that the "browser console" menu item opens or focuses (if already open)
// the console window instead of toggling it open/close.
"use strict";
requestLongerTimeout(2);
const TEST_MESSAGE = "testmessage";
const { Tools } = require("resource://devtools/client/definitions.js");
add_task(async function () {
info("Get main browser window");
const mainWindow = Services.wm.getMostRecentWindow(null);
info("Open the Browser Console");
await BrowserConsoleManager.openBrowserConsoleOrFocus();
let hud = BrowserConsoleManager.getBrowserConsole();
await waitFor(() => hud.ui.document.hasFocus());
ok(true, "Focus is in the Browser Console");
info("Emit a log message to display it in the Browser Console");
console.log(TEST_MESSAGE);
await waitFor(() => findConsoleAPIMessage(hud, TEST_MESSAGE));
let currWindow = Services.wm.getMostRecentWindow(null);
is(
currWindow.document.documentURI,
Tools.webConsole.url,
"The Browser Console is open and has focus"
);
info("Focus the main browser window");
mainWindow.focus();
info("Focus the Browser Console window");
await BrowserConsoleManager.openBrowserConsoleOrFocus();
currWindow = Services.wm.getMostRecentWindow(null);
is(
currWindow.document.documentURI,
Tools.webConsole.url,
"The Browser Console is open and has focus"
);
info("Close the Browser Console");
await safeCloseBrowserConsole();
hud = BrowserConsoleManager.getBrowserConsole();
ok(!hud, "Browser Console has been closed");
});