/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at . */ // Tests that keyboard navigation into and out of debugger code editor "use strict"; add_task(async function () { const dbg = await initDebugger("doc-scripts.html", "simple2.js"); const doc = dbg.win.document; const focusableEditorElementSelector = ".cm-content"; await selectSource(dbg, "simple2.js"); const focusableEditorElement = await waitForElementWithSelector( dbg, focusableEditorElementSelector ); info("Focus on the editor"); focusableEditorElement.focus(); is(doc.activeElement, focusableEditorElement, "Editor is focused"); info( "Press shift + tab to navigate out of the editor to the previous tab element" ); pressKey(dbg, "ShiftTab"); is( doc.activeElement.className, findElementWithSelector(dbg, ".cm6-dt-foldgutter__toggle-button").className, "The left sidebar toggle button is focused" ); info("Press tab to navigate back to the editor"); pressKey(dbg, "Tab"); is( findElementWithSelector(dbg, focusableEditorElementSelector), doc.activeElement, "Editor is focused again" ); info("Press tab again to navigate out of the editor to the next tab element"); pressKey(dbg, "Tab"); is( findElementWithSelector(dbg, ".action.black-box"), doc.activeElement, "The ignore source button is focused" ); });