Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"use strict";
add_task(async function test_maxResults() {
const MATCHES_LENGTH = 20;
let matches = [];
for (let i = 0; i < MATCHES_LENGTH; i++) {
matches.push(
new UrlbarResult(
UrlbarUtils.RESULT_TYPE.TAB_SWITCH,
UrlbarUtils.RESULT_SOURCE.TABS,
{ url: `http://mozilla.org/foo/${i}` }
)
);
}
let provider = registerBasicTestProvider(matches);
let context = createContext(undefined, { providers: [provider.name] });
let controller = UrlbarTestUtils.newMockController();
async function test_count(count) {
let promise = promiseControllerNotification(controller, "onQueryFinished");
context.maxResults = count;
await controller.startQuery(context);
await promise;
Assert.equal(
context.results.length,
Math.min(MATCHES_LENGTH, count),
"Check count"
);
Assert.deepEqual(context.results, matches.slice(0, count), "Check results");
}
await test_count(10);
await test_count(1);
await test_count(30);
});