browser_test_selection_urlbar.js (1663B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 /* import-globals-from ../../mochitest/role.js */ 7 loadScripts({ name: "role.js", dir: MOCHITESTS_DIR }); 8 9 ChromeUtils.defineESModuleGetters(this, { 10 UrlbarTestUtils: "resource://testing-common/UrlbarTestUtils.sys.mjs", 11 }); 12 13 // Check that the URL bar manages accessibility 14 // selection notifications appropriately on startup (new window). 15 async function runTests() { 16 let focused = waitForEvent( 17 EVENT_FOCUS, 18 event => event.accessible.role == ROLE_ENTRY 19 ); 20 info("Creating new window"); 21 let newWin = await BrowserTestUtils.openNewBrowserWindow(); 22 let bookmark = await PlacesUtils.bookmarks.insert({ 23 parentGuid: PlacesUtils.bookmarks.toolbarGuid, 24 title: "addons", 25 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 26 url: Services.io.newURI("http://www.addons.mozilla.org/"), 27 }); 28 29 registerCleanupFunction(async function () { 30 await BrowserTestUtils.closeWindow(newWin); 31 await PlacesUtils.bookmarks.remove(bookmark); 32 }); 33 info("Focusing window"); 34 newWin.focus(); 35 await focused; 36 37 let caretMoved = waitForEvent( 38 EVENT_TEXT_CARET_MOVED, 39 event => event.accessible.role == ROLE_ENTRY 40 ); 41 42 info("Autofilling after typing `a` in new window URL bar."); 43 EventUtils.synthesizeKey("a", {}, newWin); 44 await UrlbarTestUtils.promiseSearchComplete(newWin); 45 Assert.equal( 46 newWin.gURLBar.inputField.value, 47 "addons.mozilla.org/", 48 "autofilled value as expected" 49 ); 50 51 info("Ensuring caret moved on text selection"); 52 await caretMoved; 53 } 54 55 addAccessibleTask(``, runTests);