Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* 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/. */
"use strict";
ChromeUtils.defineESModuleGetters(this, {
ActionsProviderQuickActions:
"moz-src:///browser/components/urlbar/ActionsProviderQuickActions.sys.mjs",
UrlbarProviderActionsSearchMode:
"moz-src:///browser/components/urlbar/UrlbarProviderActionsSearchMode.sys.mjs",
});
add_task(async function test_inputLength_not_nan_in_search_mode() {
let context = createContext("", {
searchMode: { source: UrlbarUtils.RESULT_SOURCE.ACTIONS },
});
let provider = new UrlbarProviderActionsSearchMode();
let results = [];
await provider.startQuery(context, (_provider, result) => {
results.push(result);
});
Assert.greater(results.length, 0, "Got results from search mode"); // should return all quick actions
for (let result of results) {
Assert.ok(
!isNaN(result.payload.inputLength),
`inputLength should not be NaN, got: ${result.payload.inputLength}`
);
Assert.equal(
result.payload.inputLength,
0,
"inputLength should be 0 for empty search string in search mode"
);
}
});
add_task(async function test_inputLength_with_search_string_in_search_mode() {
let context = createContext("pri", {
searchMode: { source: UrlbarUtils.RESULT_SOURCE.ACTIONS },
});
let provider = new UrlbarProviderActionsSearchMode();
let results = [];
await provider.startQuery(context, (_provider, result) => {
results.push(result);
});
Assert.greater(results.length, 0, "Got results from search mode"); // Print page, Open private window
for (let result of results) {
Assert.equal(
result.payload.inputLength,
3, // length of "pri"
"inputLength should match the length of the search string"
);
}
});