fune/browser/base/content/test/webextensions/browser_permissions_addons_search.js
Andrew Swan 160990e2cd Bug 1340586 Part 3 Split up browser_extension_permissions.js r=mossop
MozReview-Commit-ID: A7NLR6f1VVO

--HG--
rename : browser/base/content/test/webextensions/browser_extension_permissions.js => browser/base/content/test/webextensions/browser_permissions_addons_search.js
rename : browser/base/content/test/webextensions/browser_extension_permissions.js => browser/base/content/test/webextensions/browser_permissions_installTrigger.js
rename : browser/base/content/test/webextensions/browser_extension_permissions.js => browser/base/content/test/webextensions/browser_permissions_local_file.js
rename : browser/base/content/test/webextensions/browser_extension_permissions.js => browser/base/content/test/webextensions/browser_permissions_mozAddonManager.js
extra : rebase_source : 9ace0c68ff4317a4753ac4c3c50a060fbbd8f6d9
2017-02-23 16:30:33 -08:00

42 lines
1.4 KiB
JavaScript

"use strict";
async function installSearch(filename) {
await SpecialPowers.pushPrefEnv({set: [
["extensions.getAddons.maxResults", 10],
["extensions.getAddons.search.url", `${BASE}/browser_webext_search.xml`],
]});
let win = await BrowserOpenAddonsMgr("addons://list/extension");
let searchResultsPromise = new Promise(resolve => {
win.document.addEventListener("ViewChanged", resolve, {once: true});
});
let search = win.document.getElementById("header-search");
search.focus();
search.value = "search text";
EventUtils.synthesizeKey("VK_RETURN", {}, win);
await searchResultsPromise;
ok(win.gViewController.currentViewId.startsWith("addons://search"),
"about:addons is displaying search results");
let list = win.document.getElementById("search-list");
let item = null;
for (let child of list.childNodes) {
if (child.nodeName == "richlistitem" &&
child.mAddon.install.sourceURI.path.endsWith(filename)) {
item = child;
break;
}
}
ok(item, `Found ${filename} in search results`);
// abracadabara XBL
item.clientTop;
let install = win.document.getAnonymousElementByAttribute(item, "anonid", "install-status");
let button = win.document.getAnonymousElementByAttribute(install, "anonid", "install-remote-btn");
EventUtils.synthesizeMouseAtCenter(button, {}, win);
}
add_task(() => testInstallMethod(installSearch));