diff --git a/accessible/tests/browser/events/browser.ini b/accessible/tests/browser/events/browser.ini index 3ba2417a22f8..c0ab92489026 100644 --- a/accessible/tests/browser/events/browser.ini +++ b/accessible/tests/browser/events/browser.ini @@ -7,5 +7,6 @@ support-files = [browser_test_docload.js] skip-if = e10s +[browser_test_textcaret.js] [browser_test_focus_browserui.js] [browser_test_focus_dialog.js] diff --git a/accessible/tests/browser/events/browser_test_textcaret.js b/accessible/tests/browser/events/browser_test_textcaret.js new file mode 100644 index 000000000000..ff22b7241067 --- /dev/null +++ b/accessible/tests/browser/events/browser_test_textcaret.js @@ -0,0 +1,43 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/** + * Caret move events checker. + */ +function caretMoveChecker(target, caretOffset) { + return function(event) { + let cmEvent = event.QueryInterface(nsIAccessibleCaretMoveEvent); + return cmEvent.accessible == getAccessible(target) && cmEvent.caretOffset == caretOffset; + }; +} + +async function checkURLBarCaretEvents() { + let url = "about:mozilla"; + let newWin = await BrowserTestUtils.openNewBrowserWindow({ url }); + + let urlbarInputEl = newWin.document.getElementById("urlbar").inputField; + let urlbarInput = getAccessible(urlbarInputEl, [ nsIAccessibleText ]); + + let onCaretMove = waitForEvents([ + [ EVENT_TEXT_CARET_MOVED, caretMoveChecker(urlbarInput, url.length) ], + [ EVENT_FOCUS, urlbarInput ] + ]); + + urlbarInput.caretOffset = -1; + await onCaretMove; + ok(true, "Caret move in URL bar #1"); + + onCaretMove = waitForEvent( + EVENT_TEXT_CARET_MOVED, caretMoveChecker(urlbarInput, 0) + ); + + urlbarInput.caretOffset = 0; + await onCaretMove; + ok(true, "Caret move in URL bar #2"); + + await BrowserTestUtils.closeWindow(newWin); +} + +add_task(checkURLBarCaretEvents); diff --git a/accessible/tests/mochitest/textcaret/a11y.ini b/accessible/tests/mochitest/textcaret/a11y.ini index 22d09751db3a..6e2e4ef8d770 100644 --- a/accessible/tests/mochitest/textcaret/a11y.ini +++ b/accessible/tests/mochitest/textcaret/a11y.ini @@ -2,5 +2,4 @@ support-files = !/accessible/tests/mochitest/*.js -[test_browserui.xul] [test_general.html] diff --git a/accessible/tests/mochitest/textcaret/test_browserui.xul b/accessible/tests/mochitest/textcaret/test_browserui.xul deleted file mode 100644 index 2462100ee014..000000000000 --- a/accessible/tests/mochitest/textcaret/test_browserui.xul +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Bug 723833 - -

- -
-    
- -
-
diff --git a/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm b/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm index c89d32ae5754..75795e9f7ba0 100644 --- a/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm +++ b/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm @@ -700,6 +700,10 @@ var BrowserTestUtils = { features += `,${remoteState}`; } + if (options.url) { + argString.data = options.url; + } + let win = Services.ww.openWindow( opener, Services.prefs.getCharPref("browser.chromeURL"), "_blank", features, argString);