mirror of
https://github.com/ManchildProductions/UXP-Fixed.git
synced 2026-07-20 16:05:25 +00:00
68 lines
2.1 KiB
JavaScript
68 lines
2.1 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Hitting ESC to open the split console when paused on reload should not stop
|
|
* the pending navigation.
|
|
*/
|
|
|
|
function test() {
|
|
Task.spawn(runTests);
|
|
}
|
|
|
|
function* runTests() {
|
|
let TAB_URL = EXAMPLE_URL + "doc_split-console-paused-reload.html";
|
|
let options = {
|
|
source: TAB_URL,
|
|
line: 1
|
|
};
|
|
let [,, panel] = yield initDebugger(TAB_URL, options);
|
|
let dbgWin = panel.panelWin;
|
|
let sources = dbgWin.DebuggerView.Sources;
|
|
let frames = dbgWin.DebuggerView.StackFrames;
|
|
let toolbox = gDevTools.getToolbox(panel.target);
|
|
|
|
yield panel.addBreakpoint({ actor: getSourceActor(sources, TAB_URL), line: 16 });
|
|
info("Breakpoint was set.");
|
|
dbgWin.DebuggerController._target.activeTab.reload();
|
|
info("Page reloaded.");
|
|
yield waitForSourceAndCaretAndScopes(panel, ".html", 16);
|
|
yield ensureThreadClientState(panel, "paused");
|
|
info("Breakpoint was hit.");
|
|
EventUtils.sendMouseEvent({ type: "mousedown" },
|
|
frames.selectedItem.target,
|
|
dbgWin);
|
|
info("The breadcrumb received focus.");
|
|
|
|
// This is the meat of the test.
|
|
let jsterm = yield getSplitConsole(toolbox);
|
|
|
|
is(dbgWin.gThreadClient.state, "paused", "Execution is still paused.");
|
|
|
|
let dbgFrameConsoleEvalResult = yield jsterm.execute("privateVar");
|
|
|
|
is(
|
|
dbgFrameConsoleEvalResult.querySelector(".console-string").textContent,
|
|
'"privateVarValue"',
|
|
"Got the expected split console result on paused debugger"
|
|
);
|
|
|
|
yield dbgWin.gThreadClient.resume();
|
|
|
|
is(dbgWin.gThreadClient.state, "attached", "Execution is resumed.");
|
|
|
|
// Get the last evaluation result adopted by the new debugger.
|
|
let mainTargetConsoleEvalResult = yield jsterm.execute("$_");
|
|
|
|
is(
|
|
mainTargetConsoleEvalResult.querySelector(".console-string").textContent,
|
|
'"privateVarValue"',
|
|
"Got the expected split console log on $_ executed on resumed debugger"
|
|
);
|
|
|
|
Services.prefs.clearUserPref("devtools.toolbox.splitconsoleEnabled");
|
|
yield closeDebuggerAndFinish(panel);
|
|
}
|