@@ -378,6 +378,80 @@ func Test_ioStreams_prompt(t *testing.T) {
378378 }
379379}
380380
381+ func Test_browserLauncher (t * testing.T ) {
382+ tests := []struct {
383+ name string
384+ env map [string ]string
385+ config config.Config
386+ wantBrowser string
387+ }{
388+ {
389+ name : "GH_BROWSER set" ,
390+ env : map [string ]string {
391+ "GH_BROWSER" : "GH_BROWSER" ,
392+ },
393+ wantBrowser : "GH_BROWSER" ,
394+ },
395+ {
396+ name : "config browser set" ,
397+ config : config .NewFromString ("browser: CONFIG_BROWSER" ),
398+ wantBrowser : "CONFIG_BROWSER" ,
399+ },
400+ {
401+ name : "BROWSER set" ,
402+ env : map [string ]string {
403+ "BROWSER" : "BROWSER" ,
404+ },
405+ wantBrowser : "BROWSER" ,
406+ },
407+ {
408+ name : "GH_BROWSER and config browser set" ,
409+ env : map [string ]string {
410+ "GH_BROWSER" : "GH_BROWSER" ,
411+ },
412+ config : config .NewFromString ("browser: CONFIG_BROWSER" ),
413+ wantBrowser : "GH_BROWSER" ,
414+ },
415+ {
416+ name : "config browser and BROWSER set" ,
417+ env : map [string ]string {
418+ "BROWSER" : "BROWSER" ,
419+ },
420+ config : config .NewFromString ("browser: CONFIG_BROWSER" ),
421+ wantBrowser : "CONFIG_BROWSER" ,
422+ },
423+ {
424+ name : "GH_BROWSER and BROWSER set" ,
425+ env : map [string ]string {
426+ "BROWSER" : "BROWSER" ,
427+ "GH_BROWSER" : "GH_BROWSER" ,
428+ },
429+ wantBrowser : "GH_BROWSER" ,
430+ },
431+ }
432+ for _ , tt := range tests {
433+ t .Run (tt .name , func (t * testing.T ) {
434+ if tt .env != nil {
435+ for k , v := range tt .env {
436+ old := os .Getenv (k )
437+ os .Setenv (k , v )
438+ defer os .Setenv (k , old )
439+ }
440+ }
441+ f := New ("1" )
442+ f .Config = func () (config.Config , error ) {
443+ if tt .config == nil {
444+ return config .NewBlankConfig (), nil
445+ } else {
446+ return tt .config , nil
447+ }
448+ }
449+ browser := browserLauncher (f )
450+ assert .Equal (t , tt .wantBrowser , browser )
451+ })
452+ }
453+ }
454+
381455func defaultConfig () config.Config {
382456 return config .InheritEnv (config .NewFromString (heredoc .Doc (`
383457 hosts:
0 commit comments