package ask import ( "bytes" "testing" ) func TestAsk(t *testing.T) { testCases := []struct { input, pass string err error }{ {"test", "test", nil}, {"", "", ErrNoPassword}, } for _, tc := range testCases { t.Run(tc.input, func(t *testing.T) { buf := bytes.NewBufferString(tc.input + "\r") pass, err := readPassword(buf, "") if err != tc.err { t.Fatalf("got %v, want %v", err, tc.err) } if pass != tc.pass { t.Errorf("got %v, want %v", pass, tc.pass) } }) } }