summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/browser/browser_result_onSelection.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/urlbar/tests/browser/browser_result_onSelection.js')
-rw-r--r--browser/components/urlbar/tests/browser/browser_result_onSelection.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/browser/components/urlbar/tests/browser/browser_result_onSelection.js b/browser/components/urlbar/tests/browser/browser_result_onSelection.js
new file mode 100644
index 0000000000..2a5f8c3760
--- /dev/null
+++ b/browser/components/urlbar/tests/browser/browser_result_onSelection.js
@@ -0,0 +1,73 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+add_task(async function test() {
+ let results = [
+ new UrlbarResult(
+ UrlbarUtils.RESULT_TYPE.URL,
+ UrlbarUtils.RESULT_SOURCE.HISTORY,
+ {
+ url: "http://mozilla.org/1",
+ helpUrl: "http://example.com/",
+ isBlockable: true,
+ blockL10n: { id: "urlbar-result-menu-remove-from-history" },
+ }
+ ),
+ new UrlbarResult(
+ UrlbarUtils.RESULT_TYPE.URL,
+ UrlbarUtils.RESULT_SOURCE.HISTORY,
+ {
+ url: "http://mozilla.org/2",
+ helpUrl: "http://example.com/",
+ isBlockable: true,
+ blockL10n: { id: "urlbar-result-menu-remove-from-history" },
+ }
+ ),
+ new UrlbarResult(
+ UrlbarUtils.RESULT_TYPE.TIP,
+ UrlbarUtils.RESULT_SOURCE.OTHER_LOCAL,
+ {
+ helpUrl: "http://example.com/",
+ type: "test",
+ titleL10n: { id: "urlbar-search-tips-confirm" },
+ buttons: [
+ {
+ url: "http://example.com/",
+ l10n: { id: "urlbar-search-tips-confirm" },
+ },
+ ],
+ }
+ ),
+ ];
+
+ results[0].heuristic = true;
+
+ let selectionCount = 0;
+ let provider = new UrlbarTestUtils.TestProvider({
+ results,
+ priority: 1,
+ onSelection: (result, element) => {
+ selectionCount++;
+ },
+ });
+ UrlbarProvidersManager.registerProvider(provider);
+
+ await UrlbarTestUtils.promiseAutocompleteResultPopup({
+ window,
+ value: "test",
+ });
+
+ EventUtils.synthesizeKey("KEY_Tab", {
+ repeat: 5,
+ });
+ EventUtils.synthesizeKey("KEY_ArrowDown");
+ ok(
+ UrlbarTestUtils.getOneOffSearchButtons(window).selectedButton,
+ "a one off button is selected"
+ );
+
+ Assert.equal(selectionCount, 6, "Number of elements selected in the view.");
+ UrlbarProvidersManager.unregisterProvider(provider);
+});