gecko/browser/devtools/debugger/test/browser_dbg_paused-keybindings.js

46 lines
1.5 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Test that keybindings still work when the content window is paused and
// the tab is selected again.
function test() {
Task.spawn(function* () {
const TAB_URL = EXAMPLE_URL + "doc_inline-script.html";
let gDebugger, searchBox;
let [, debuggee, panel] = yield initDebugger(TAB_URL);
gDebugger = panel.panelWin;
searchBox = gDebugger.DebuggerView.Filtering._searchbox;
// Spin the event loop before causing the debuggee to pause, to allow
// this function to return first.
executeSoon(() => {
EventUtils.sendMouseEvent({ type: "click" },
debuggee.document.querySelector("button"),
debuggee);
});
yield waitForSourceAndCaretAndScopes(panel, ".html", 20);
yield ensureThreadClientState(panel, "paused");
// Now open a tab and close it.
let tab2 = yield addTab(TAB_URL);
yield removeTab(tab2);
yield ensureCaretAt(panel, 20);
// Try to use the Cmd-L keybinding to see if it still works.
let caretMove = ensureCaretAt(panel, 15, 1, true);
// Wait a tick for the editor focus event to occur first.
executeSoon(function () {
EventUtils.synthesizeKey("l", { accelKey: true });
EventUtils.synthesizeKey("1", {});
EventUtils.synthesizeKey("5", {});
});
yield caretMove;
yield resumeDebuggerThenCloseAndFinish(panel);
}).then(null, aError => {
ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
});
}