mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-19 10:53:11 +09:00
50 lines
1.7 KiB
JavaScript
50 lines
1.7 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/ */
|
|
|
|
// 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 options = {
|
|
source: TAB_URL,
|
|
line: 1
|
|
};
|
|
let [tab, debuggee, panel] = yield initDebugger(TAB_URL, options);
|
|
gDebugger = panel.panelWin;
|
|
searchBox = gDebugger.DebuggerView.Filtering._searchbox;
|
|
|
|
let onCaretUpdated = ensureCaretAt(panel, 20, 1, true);
|
|
let onThreadPaused = ensureThreadClientState(panel, "paused");
|
|
ContentTask.spawn(tab.linkedBrowser, {}, function* () {
|
|
content.document.querySelector("button").click();
|
|
});
|
|
yield onCaretUpdated;
|
|
yield onThreadPaused
|
|
|
|
// Now open a tab and close it.
|
|
let tab2 = yield addTab(TAB_URL);
|
|
yield waitForTick();
|
|
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);
|
|
});
|
|
}
|