@@ -28,10 +28,7 @@ function prepareExtensionRunnerParams({ params } = {}) {
2828 } ;
2929 const runnerParams = {
3030 extensions : [
31- {
32- sourceDir : '/fake/sourceDir' ,
33- manifestData : deepcopy ( basicManifest ) ,
34- } ,
31+ { sourceDir : '/fake/sourceDir' , manifestData : deepcopy ( basicManifest ) } ,
3532 ] ,
3633 keepProfileChanges : false ,
3734 startUrl : undefined ,
@@ -47,7 +44,7 @@ function prepareExtensionRunnerParams({ params } = {}) {
4744
4845describe ( 'util/extension-runners/chromium' , async ( ) => {
4946 it ( 'uses the expected chrome flags' , ( ) => {
50- // Flags from chrome-launcher v0.14 .0
47+ // Flags from chrome-launcher v1.1 .0
5148 const expectedFlags = [
5249 '--disable-features=Translate,OptimizationHints,MediaRouter,DialMediaRouteProvider,CalculateNativeWinOcclusion,InterestFeedContentSuggestions,CertificateTransparencyComponentUpdater,AutofillServerCommunication,PrivacySandboxSettings4' ,
5350 '--disable-component-extensions-with-background-pages' ,
@@ -372,9 +369,7 @@ describe('util/extension-runners/chromium', async () => {
372369 } ) ;
373370
374371 it ( 'does use a random user-data-dir' , async ( ) => {
375- const { params } = prepareExtensionRunnerParams ( {
376- params : { } ,
377- } ) ;
372+ const { params } = prepareExtensionRunnerParams ( { params : { } } ) ;
378373
379374 const spy = sinon . spy ( TempDir . prototype , 'path' ) ;
380375
@@ -394,9 +389,7 @@ describe('util/extension-runners/chromium', async () => {
394389 it ( 'does pass a user-data-dir flag to chrome' , async ( ) =>
395390 withTempDir ( async ( tmpDir ) => {
396391 const { params } = prepareExtensionRunnerParams ( {
397- params : {
398- chromiumProfile : tmpDir . path ( ) ,
399- } ,
392+ params : { chromiumProfile : tmpDir . path ( ) } ,
400393 } ) ;
401394
402395 const spy = sinon . spy ( TempDir . prototype , 'path' ) ;
@@ -618,6 +611,44 @@ describe('util/extension-runners/chromium', async () => {
618611 } ) ,
619612 ) ;
620613
614+ it ( 'does pass default prefs to chrome' , async ( ) => {
615+ const { params } = prepareExtensionRunnerParams ( ) ;
616+
617+ const runnerInstance = new ChromiumExtensionRunner ( params ) ;
618+ await runnerInstance . run ( ) ;
619+
620+ sinon . assert . calledOnce ( params . chromiumLaunch ) ;
621+ sinon . assert . calledWithMatch ( params . chromiumLaunch , {
622+ prefs : { extensions : { ui : { developer_mode : true } } } ,
623+ } ) ;
624+
625+ await runnerInstance . exit ( ) ;
626+ } ) ;
627+
628+ it ( 'does pass custom prefs to chrome' , async ( ) => {
629+ const { params } = prepareExtensionRunnerParams ( {
630+ params : {
631+ customChromiumPrefs : {
632+ 'download.default_directory' : '/some/directory' ,
633+ 'extensions.ui.developer_mode' : false ,
634+ } ,
635+ } ,
636+ } ) ;
637+
638+ const runnerInstance = new ChromiumExtensionRunner ( params ) ;
639+ await runnerInstance . run ( ) ;
640+
641+ sinon . assert . calledOnce ( params . chromiumLaunch ) ;
642+ sinon . assert . calledWithMatch ( params . chromiumLaunch , {
643+ prefs : {
644+ download : { default_directory : '/some/directory' } ,
645+ extensions : { ui : { developer_mode : false } } ,
646+ } ,
647+ } ) ;
648+
649+ await runnerInstance . exit ( ) ;
650+ } ) ;
651+
621652 describe ( 'reloadAllExtensions' , ( ) => {
622653 let runnerInstance ;
623654 let wsClient ;
0 commit comments