tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_providersManager_maxResults.js (1148B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 add_task(async function test_maxResults() {
      7  const MATCHES_LENGTH = 20;
      8  let matches = [];
      9  for (let i = 0; i < MATCHES_LENGTH; i++) {
     10    matches.push(
     11      new UrlbarResult({
     12        type: UrlbarUtils.RESULT_TYPE.TAB_SWITCH,
     13        source: UrlbarUtils.RESULT_SOURCE.TABS,
     14        payload: { url: `http://mozilla.org/foo/${i}` },
     15      })
     16    );
     17  }
     18  let provider = registerBasicTestProvider(matches);
     19  let context = createContext(undefined, { providers: [provider.name] });
     20  let controller = UrlbarTestUtils.newMockController();
     21 
     22  async function test_count(count) {
     23    let promise = promiseControllerNotification(controller, "onQueryFinished");
     24    context.maxResults = count;
     25    await controller.startQuery(context);
     26    await promise;
     27    Assert.equal(
     28      context.results.length,
     29      Math.min(MATCHES_LENGTH, count),
     30      "Check count"
     31    );
     32    Assert.deepEqual(context.results, matches.slice(0, count), "Check results");
     33  }
     34  await test_count(10);
     35  await test_count(1);
     36  await test_count(30);
     37 });