@@ -28,10 +28,7 @@ function prepareExtensionRunnerParams({ params } = {}) {
28
28
} ;
29
29
const runnerParams = {
30
30
extensions : [
31
- {
32
- sourceDir : '/fake/sourceDir' ,
33
- manifestData : deepcopy ( basicManifest ) ,
34
- } ,
31
+ { sourceDir : '/fake/sourceDir' , manifestData : deepcopy ( basicManifest ) } ,
35
32
] ,
36
33
keepProfileChanges : false ,
37
34
startUrl : undefined ,
@@ -47,7 +44,7 @@ function prepareExtensionRunnerParams({ params } = {}) {
47
44
48
45
describe ( 'util/extension-runners/chromium' , async ( ) => {
49
46
it ( 'uses the expected chrome flags' , ( ) => {
50
- // Flags from chrome-launcher v0.14 .0
47
+ // Flags from chrome-launcher v1.1 .0
51
48
const expectedFlags = [
52
49
'--disable-features=Translate,OptimizationHints,MediaRouter,DialMediaRouteProvider,CalculateNativeWinOcclusion,InterestFeedContentSuggestions,CertificateTransparencyComponentUpdater,AutofillServerCommunication,PrivacySandboxSettings4' ,
53
50
'--disable-component-extensions-with-background-pages' ,
@@ -372,9 +369,7 @@ describe('util/extension-runners/chromium', async () => {
372
369
} ) ;
373
370
374
371
it ( 'does use a random user-data-dir' , async ( ) => {
375
- const { params } = prepareExtensionRunnerParams ( {
376
- params : { } ,
377
- } ) ;
372
+ const { params } = prepareExtensionRunnerParams ( { params : { } } ) ;
378
373
379
374
const spy = sinon . spy ( TempDir . prototype , 'path' ) ;
380
375
@@ -394,9 +389,7 @@ describe('util/extension-runners/chromium', async () => {
394
389
it ( 'does pass a user-data-dir flag to chrome' , async ( ) =>
395
390
withTempDir ( async ( tmpDir ) => {
396
391
const { params } = prepareExtensionRunnerParams ( {
397
- params : {
398
- chromiumProfile : tmpDir . path ( ) ,
399
- } ,
392
+ params : { chromiumProfile : tmpDir . path ( ) } ,
400
393
} ) ;
401
394
402
395
const spy = sinon . spy ( TempDir . prototype , 'path' ) ;
@@ -618,6 +611,44 @@ describe('util/extension-runners/chromium', async () => {
618
611
} ) ,
619
612
) ;
620
613
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
+
621
652
describe ( 'reloadAllExtensions' , ( ) => {
622
653
let runnerInstance ;
623
654
let wsClient ;
0 commit comments