diff options
Diffstat (limited to 'browser/components/search/test/browser_oneOffHeader.js')
-rw-r--r-- | browser/components/search/test/browser_oneOffHeader.js | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/browser/components/search/test/browser_oneOffHeader.js b/browser/components/search/test/browser_oneOffHeader.js deleted file mode 100644 index 3a209bf56..000000000 --- a/browser/components/search/test/browser_oneOffHeader.js +++ /dev/null @@ -1,142 +0,0 @@ -/* 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 http://mozilla.org/MPL/2.0/. */ -// Tests that keyboard navigation in the search panel works as designed. - -const isMac = ("nsILocalFileMac" in Ci); - -const searchbar = document.getElementById("searchbar"); -const textbox = searchbar._textbox; -const searchPopup = document.getElementById("PopupSearchAutoComplete"); -const searchIcon = document.getAnonymousElementByAttribute(searchbar, "anonid", - "searchbar-search-button"); - -const oneOffsContainer = - document.getAnonymousElementByAttribute(searchPopup, "anonid", - "search-one-off-buttons"); -const searchSettings = - document.getAnonymousElementByAttribute(oneOffsContainer, "anonid", - "search-settings"); -var header = - document.getAnonymousElementByAttribute(oneOffsContainer, "anonid", - "search-panel-one-offs-header"); -function getHeaderText() { - let headerChild = header.selectedPanel; - while (headerChild.hasChildNodes()) { - headerChild = headerChild.firstChild; - } - let headerStrings = []; - for (let label = headerChild; label; label = label.nextSibling) { - headerStrings.push(label.value); - } - return headerStrings.join(""); -} - -const msg = isMac ? 5 : 1; -const utils = window.QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIDOMWindowUtils); -const scale = utils.screenPixelsPerCSSPixel; -function* synthesizeNativeMouseMove(aElement) { - let rect = aElement.getBoundingClientRect(); - let win = aElement.ownerGlobal; - let x = win.mozInnerScreenX + (rect.left + rect.right) / 2; - let y = win.mozInnerScreenY + (rect.top + rect.bottom) / 2; - - // Wait for the mouseup event to occur before continuing. - return new Promise((resolve, reject) => { - function eventOccurred(e) - { - aElement.removeEventListener("mouseover", eventOccurred, true); - resolve(); - } - - aElement.addEventListener("mouseover", eventOccurred, true); - - utils.sendNativeMouseEvent(x * scale, y * scale, msg, 0, null); - }); -} - - -add_task(function* init() { - yield promiseNewEngine("testEngine.xml"); -}); - -add_task(function* test_notext() { - let promise = promiseEvent(searchPopup, "popupshown"); - info("Opening search panel"); - EventUtils.synthesizeMouseAtCenter(searchIcon, {}); - yield promise; - - is(header.getAttribute("selectedIndex"), 0, - "Header has the correct index selected with no search terms."); - - is(getHeaderText(), "Search with:", - "Search header string is correct when no search terms have been entered"); - - yield synthesizeNativeMouseMove(searchSettings); - is(header.getAttribute("selectedIndex"), 0, - "Header has the correct index when no search terms have been entered and the Change Search Settings button is selected."); - is(getHeaderText(), "Search with:", - "Header has the correct text when no search terms have been entered and the Change Search Settings button is selected."); - - let buttons = getOneOffs(); - yield synthesizeNativeMouseMove(buttons[0]); - is(header.getAttribute("selectedIndex"), 2, - "Header has the correct index selected when a search engine has been selected"); - is(getHeaderText(), "Search " + buttons[0].engine.name, - "Is the header text correct when a search engine is selected and no terms have been entered."); - - promise = promiseEvent(searchPopup, "popuphidden"); - info("Closing search panel"); - EventUtils.synthesizeKey("VK_ESCAPE", {}); - yield promise; -}); - -add_task(function* test_text() { - textbox.value = "foo"; - registerCleanupFunction(() => { - textbox.value = ""; - }); - - let promise = promiseEvent(searchPopup, "popupshown"); - info("Opening search panel"); - SimpleTest.executeSoon(() => { - EventUtils.synthesizeMouseAtCenter(searchIcon, {}); - }); - yield promise; - - is(header.getAttribute("selectedIndex"), 1, - "Header has the correct index selected with a search term."); - is(getHeaderText(), "Search for foo with:", - "Search header string is correct when a search term has been entered"); - - let buttons = getOneOffs(); - yield synthesizeNativeMouseMove(buttons[0]); - is(header.getAttribute("selectedIndex"), 2, - "Header has the correct index selected when a search engine has been selected"); - is(getHeaderText(), "Search " + buttons[0].engine.name, - "Is the header text correct when search terms are entered after a search engine has been selected."); - - yield synthesizeNativeMouseMove(searchSettings); - is(header.getAttribute("selectedIndex"), 1, - "Header has the correct index selected when search terms have been entered and the Change Search Settings button is selected."); - is(getHeaderText(), "Search for foo with:", - "Header has the correct text when search terms have been entered and the Change Search Settings button is selected."); - - // Click the "Foo Search" header at the top of the popup and make sure it - // loads the search results. - let searchbarEngine = - document.getAnonymousElementByAttribute(searchPopup, "anonid", - "searchbar-engine"); - - yield synthesizeNativeMouseMove(searchbarEngine); - SimpleTest.executeSoon(() => { - EventUtils.synthesizeMouseAtCenter(searchbarEngine, {}); - }); - - let url = Services.search.currentEngine.getSubmission(textbox.value).uri.spec; - yield promiseTabLoadEvent(gBrowser.selectedTab, url); - - // Move the cursor out of the panel area to avoid messing with other tests. - yield synthesizeNativeMouseMove(searchbar); -}); |