From 044e3ad0e1dfbb30811b550bea1478f0cb10c6e0 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 20 Dec 2020 16:25:23 +0100 Subject: Connect `Stdout` and `Stderr` to browser command Use the global `Stdout` and `Stderr` variables when running the command specified by `BROWSER`. --- browserenv_unix_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'browserenv_unix_test.go') 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) + } +} -- cgit v1.2.3