github.com/supabase/cli@v1.168.1/internal/testing/fstest/stdin.go (about) 1 package fstest 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func MockStdin(t *testing.T, input string) func() { 11 // Setup stdin 12 r, w, err := os.Pipe() 13 require.NoError(t, err) 14 _, err = w.WriteString(input) 15 require.NoError(t, err) 16 require.NoError(t, w.Close()) 17 // Replace stdin 18 oldStdin := os.Stdin 19 teardown := func() { 20 os.Stdin = oldStdin 21 } 22 os.Stdin = r 23 return teardown 24 }