diff options
| -rw-r--r-- | browserenv.go | 6 | ||||
| -rw-r--r-- | browserenv_unix_test.go | 39 | 
2 files changed, 44 insertions, 1 deletions
| diff --git a/browserenv.go b/browserenv.go index e83c3d1..f5a51ca 100644 --- a/browserenv.go +++ b/browserenv.go @@ -81,7 +81,11 @@ func browserCommand(command, url string) *exec.Cmd {  	args = append(args, command) -	return exec.Command(shell, args...) +	cmd := exec.Command(shell, args...) +	cmd.Stdout = Stdout +	cmd.Stderr = Stderr + +	return cmd  }  func fmtBrowserCommand(command, url string) string { diff --git a/browserenv_unix_test.go b/browserenv_unix_test.go index 0d61a52..f79d31d 100644 --- a/browserenv_unix_test.go +++ b/browserenv_unix_test.go @@ -5,6 +5,7 @@ package browserenv  import (  	"os"  	"reflect" +	"strings"  	"testing"  ) @@ -57,3 +58,41 @@ func TestBrowserCommand(t *testing.T) {  		})  	}  } + +func TestOpenURLStdout(t *testing.T) { +	var stdout strings.Builder +	Stdout = &stdout + +	err := os.Setenv("BROWSER", "printf") +	if err != nil { +		t.Fatal(err) +	} + +	url := "http://localhost:8000" + +	OpenURL(url) + +	got := stdout.String() +	if got != url { +		t.Errorf("got stdout value %q want %q", got, url) +	} +} + +func TestOpenURLStderr(t *testing.T) { +	var stderr strings.Builder +	Stderr = &stderr + +	err := os.Setenv("BROWSER", "printf >&2") +	if err != nil { +		t.Fatal(err) +	} + +	url := "http://localhost:8000" + +	OpenURL(url) + +	got := stderr.String() +	if got != url { +		t.Errorf("got stdout value %q want %q", got, url) +	} +} | 
