diff options
| -rw-r--r-- | browserenv.go | 13 | ||||
| -rw-r--r-- | browserenv_unix_test.go | 28 | 
2 files changed, 41 insertions, 0 deletions
diff --git a/browserenv.go b/browserenv.go index 8401a32..ff31ead 100644 --- a/browserenv.go +++ b/browserenv.go @@ -42,6 +42,8 @@ func OpenFile(path string) error {  		return runBrowserCommand(envCommand, url)  	} +	setBrowserStdDescriptors() +  	return browser.OpenFile(path)  } @@ -63,6 +65,8 @@ func OpenReader(r io.Reader) error {  		return OpenFile(tempFile.Name())  	} +	setBrowserStdDescriptors() +  	return browser.OpenReader(r)  } @@ -73,6 +77,8 @@ func OpenURL(url string) error {  		return runBrowserCommand(envCommand, url)  	} +	setBrowserStdDescriptors() +  	return browser.OpenURL(url)  } @@ -150,3 +156,10 @@ func fmtWithURL(command, url string) string {  func escapeURL(url string) string {  	return strings.ReplaceAll(url, "'", "%27")  } + +// setBrowserStdDescriptors sets browser.Stderr and browser.Stdout to Stderr +// and Stdout respectively. +func setBrowserStdDescriptors() { +	browser.Stderr = Stderr +	browser.Stdout = Stdout +} diff --git a/browserenv_unix_test.go b/browserenv_unix_test.go index 069c322..d328290 100644 --- a/browserenv_unix_test.go +++ b/browserenv_unix_test.go @@ -131,3 +131,31 @@ func TestOpenURLMultipleBrowserCommands(t *testing.T) {  	unsetEnvBrowser(t)  } + +func TestOpenFilePkgBrowserUsesStderr(t *testing.T) { +	var stderr strings.Builder +	Stderr = &stderr + +	OpenFile("file:///tmp/does-not-exist") + +	got := stderr.String() +	if got == "" { +		t.Errorf("got empty stderr want an error message") +	} + +	unsetEnvBrowser(t) +} + +func TestOpenURLPkgBrowserUsesStderr(t *testing.T) { +	var stderr strings.Builder +	Stderr = &stderr + +	OpenURL("file:///tmp/does-not-exist") + +	got := stderr.String() +	if got == "" { +		t.Errorf("got empty stderr want an error message") +	} + +	unsetEnvBrowser(t) +}  | 
