github.com/WindomZ/go-commander@v1.2.2/exec_test.go (about) 1 package commander 2 3 import ( 4 "github.com/WindomZ/testify/assert" 5 "strings" 6 "testing" 7 ) 8 9 func Test_Exec_ExecPipeCommand(t *testing.T) { 10 stdout, stderr, err := Exec.ExecPipeCommand("") 11 assert.Error(t, err) 12 assert.Empty(t, stderr) 13 assert.Empty(t, stdout) 14 15 stdout, stderr, err = Exec.ExecPipeCommand("xxx", "xxx") 16 assert.Error(t, err) 17 assert.Empty(t, stderr) 18 assert.Empty(t, stdout) 19 20 stdout, stderr, err = Exec.ExecPipeCommand("ls") 21 assert.NoError(t, err) 22 assert.Empty(t, stderr) 23 assert.NotEmpty(t, stdout) 24 assert.True(t, strings.Contains(stdout, ".go")) 25 } 26 27 func Test_Exec_ExecStdCommand(t *testing.T) { 28 stdout, err := Exec.ExecStdCommand("") 29 assert.Error(t, err) 30 assert.Empty(t, stdout) 31 32 stdout, err = Exec.ExecStdCommand("xxx", "xxx") 33 assert.Error(t, err) 34 assert.Empty(t, stdout) 35 36 stdout, err = Exec.ExecStdCommand("ls", "-d") 37 assert.NoError(t, err) 38 assert.NotEmpty(t, stdout) 39 assert.True(t, strings.Contains(stdout, ".")) 40 } 41 42 func Test_Exec_ExecPipeStatementCommand(t *testing.T) { 43 stdout, stderr, err := Exec.ExecPipeStatementCommand("ls -d") 44 assert.NoError(t, err) 45 assert.Empty(t, stderr) 46 assert.NotEmpty(t, stdout) 47 assert.True(t, strings.Contains(stdout, ".")) 48 } 49 50 func Test_Exec_ExecStdStatementCommand(t *testing.T) { 51 stdout, err := Exec.ExecStdStatementCommand("ls -d") 52 assert.NoError(t, err) 53 assert.NotEmpty(t, stdout) 54 assert.True(t, strings.Contains(stdout, ".")) 55 } 56 57 func Test_Exec_SplitCommandStatement(t *testing.T) { 58 strs := Exec.SplitCommandStatement(`rm -rf "$HOME/user/Download"`) 59 assert.Equal(t, strs, []string{ 60 "rm", 61 "-rf", 62 "\"$HOME/user/Download\"", 63 }) 64 }