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 });