Do not output error messages for nontty

This commit is contained in:
Mislav Marohnić 2021-07-16 15:10:36 +02:00
parent 86f2df1f49
commit d68df4a9d8
2 changed files with 27 additions and 4 deletions

View file

@ -121,11 +121,14 @@ func NewCmdExtensions(f *cmdutil.Factory) *cobra.Command {
Short: "Remove an installed extension",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
if err := m.Remove(args[0]); err != nil {
extName := args[0]
if err := m.Remove(extName); err != nil {
return err
}
cs := io.ColorScheme()
fmt.Fprintf(io.Out, "%s Removed extension %s\n", cs.SuccessIcon(), args[0])
if io.IsStdoutTTY() {
cs := io.ColorScheme()
fmt.Fprintf(io.Out, "%s Removed extension %s\n", cs.SuccessIcon(), extName)
}
return nil
},
},

View file

@ -24,6 +24,7 @@ func TestNewCmdExtensions(t *testing.T) {
name string
args []string
managerStubs func(em *extensions.ExtensionManagerMock) func(*testing.T)
isTTY bool
wantErr bool
wantStdout string
wantStderr string
@ -90,7 +91,7 @@ func TestNewCmdExtensions(t *testing.T) {
},
},
{
name: "remove extension",
name: "remove extension tty",
args: []string{"remove", "hello"},
managerStubs: func(em *extensions.ExtensionManagerMock) func(*testing.T) {
em.RemoveFunc = func(name string) error {
@ -102,13 +103,32 @@ func TestNewCmdExtensions(t *testing.T) {
assert.Equal(t, "hello", calls[0].Name)
}
},
isTTY: true,
wantStdout: "✓ Removed extension hello\n",
},
{
name: "remove extension nontty",
args: []string{"remove", "hello"},
managerStubs: func(em *extensions.ExtensionManagerMock) func(*testing.T) {
em.RemoveFunc = func(name string) error {
return nil
}
return func(t *testing.T) {
calls := em.RemoveCalls()
assert.Equal(t, 1, len(calls))
assert.Equal(t, "hello", calls[0].Name)
}
},
isTTY: false,
wantStdout: "",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
ios, _, stdout, stderr := iostreams.Test()
ios.SetStdoutTTY(tt.isTTY)
ios.SetStderrTTY(tt.isTTY)
var assertFunc func(*testing.T)
em := &extensions.ExtensionManagerMock{}