Blame devtools/client/debugger/new/test/mochitest/browser_dbg-console.js

Packit f0b94e
// Return a promise with a reference to jsterm, opening the split
Packit f0b94e
// console if necessary.  This cleans up the split console pref so
Packit f0b94e
// it won't pollute other tests.
Packit f0b94e
function getSplitConsole(dbg) {
Packit f0b94e
  const { toolbox, win } = dbg;
Packit f0b94e
Packit f0b94e
  if (!win) {
Packit f0b94e
    win = toolbox.win;
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  if (!toolbox.splitConsole) {
Packit f0b94e
    pressKey(dbg, "Escape");
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  return new Promise(resolve => {
Packit f0b94e
    toolbox.getPanelWhenReady("webconsole").then(() => {
Packit f0b94e
      ok(toolbox.splitConsole, "Split console is shown.");
Packit f0b94e
      let jsterm = toolbox.getPanel("webconsole").hud.jsterm;
Packit f0b94e
      resolve(jsterm);
Packit f0b94e
    });
Packit f0b94e
  });
Packit f0b94e
}
Packit f0b94e
Packit f0b94e
add_task(async function() {
Packit f0b94e
  Services.prefs.setBoolPref("devtools.toolbox.splitconsoleEnabled", true);
Packit f0b94e
  const dbg = await initDebugger("doc-script-switching.html");
Packit f0b94e
Packit f0b94e
  await selectSource(dbg, "switching-01");
Packit f0b94e
Packit f0b94e
  // open the console
Packit f0b94e
  await getSplitConsole(dbg);
Packit f0b94e
  ok(dbg.toolbox.splitConsole, "Split console is shown.");
Packit f0b94e
Packit f0b94e
  // close the console
Packit f0b94e
  await clickElement(dbg, "codeMirror");
Packit f0b94e
  // First time to focus out of text area
Packit f0b94e
  pressKey(dbg, "Escape");
Packit f0b94e
Packit f0b94e
  // Second time to hide console
Packit f0b94e
  pressKey(dbg, "Escape");
Packit f0b94e
  ok(!dbg.toolbox.splitConsole, "Split console is hidden.");
Packit f0b94e
});