github.com/sashka/siva@v1.6.0/cmd/siva/list_test.go (about)

     1  package main
     2  
     3  import (
     4  	"bytes"
     5  	"os"
     6  
     7  	. "gopkg.in/check.v1"
     8  )
     9  
    10  type ListSuite struct{}
    11  
    12  var _ = Suite(&ListSuite{})
    13  
    14  func (s *ListSuite) TestBasic(c *C) {
    15  	cmd := &CmdList{}
    16  	cmd.Args.File = "../../fixtures/perms.siva"
    17  
    18  	output := captureOutput(func() {
    19  		err := cmd.Execute(nil)
    20  		c.Assert(err, IsNil)
    21  	})
    22  
    23  	c.Assert(output, HasLen, 124)
    24  }
    25  
    26  func captureOutput(f func()) string {
    27  	var buf bytes.Buffer
    28  	defaultOutput = &buf
    29  	f()
    30  	defaultOutput = os.Stdout
    31  
    32  	return buf.String()
    33  }