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  }