forked from cadey/xesite
160 lines
4.1 KiB
Go
160 lines
4.1 KiB
Go
package check_test
|
|
|
|
import (
|
|
"fmt"
|
|
"path/filepath"
|
|
"runtime"
|
|
|
|
. "gopkg.in/check.v1"
|
|
)
|
|
|
|
var _ = Suite(&reporterS{})
|
|
|
|
type reporterS struct {
|
|
testFile string
|
|
}
|
|
|
|
func (s *reporterS) SetUpSuite(c *C) {
|
|
_, fileName, _, ok := runtime.Caller(0)
|
|
c.Assert(ok, Equals, true)
|
|
s.testFile = filepath.Base(fileName)
|
|
}
|
|
|
|
func (s *reporterS) TestWrite(c *C) {
|
|
testString := "test string"
|
|
output := String{}
|
|
|
|
dummyStream := true
|
|
dummyVerbose := true
|
|
o := NewOutputWriter(&output, dummyStream, dummyVerbose)
|
|
|
|
o.Write([]byte(testString))
|
|
c.Assert(output.value, Equals, testString)
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallStartedWithStreamFlag(c *C) {
|
|
testLabel := "test started label"
|
|
stream := true
|
|
output := String{}
|
|
|
|
dummyVerbose := true
|
|
o := NewOutputWriter(&output, stream, dummyVerbose)
|
|
|
|
o.WriteCallStarted(testLabel, c)
|
|
expected := fmt.Sprintf("%s: %s:\\d+: %s\n", testLabel, s.testFile, c.TestName())
|
|
c.Assert(output.value, Matches, expected)
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallStartedWithoutStreamFlag(c *C) {
|
|
stream := false
|
|
output := String{}
|
|
|
|
dummyLabel := "dummy"
|
|
dummyVerbose := true
|
|
o := NewOutputWriter(&output, stream, dummyVerbose)
|
|
|
|
o.WriteCallStarted(dummyLabel, c)
|
|
c.Assert(output.value, Equals, "")
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallProblemWithStreamFlag(c *C) {
|
|
testLabel := "test problem label"
|
|
stream := true
|
|
output := String{}
|
|
|
|
dummyVerbose := true
|
|
o := NewOutputWriter(&output, stream, dummyVerbose)
|
|
|
|
o.WriteCallProblem(testLabel, c)
|
|
expected := fmt.Sprintf("%s: %s:\\d+: %s\n\n", testLabel, s.testFile, c.TestName())
|
|
c.Assert(output.value, Matches, expected)
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallProblemWithoutStreamFlag(c *C) {
|
|
testLabel := "test problem label"
|
|
stream := false
|
|
output := String{}
|
|
|
|
dummyVerbose := true
|
|
o := NewOutputWriter(&output, stream, dummyVerbose)
|
|
|
|
o.WriteCallProblem(testLabel, c)
|
|
expected := fmt.Sprintf(""+
|
|
"\n"+
|
|
"----------------------------------------------------------------------\n"+
|
|
"%s: %s:\\d+: %s\n\n", testLabel, s.testFile, c.TestName())
|
|
c.Assert(output.value, Matches, expected)
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallProblemWithoutStreamFlagWithLog(c *C) {
|
|
testLabel := "test problem label"
|
|
testLog := "test log"
|
|
stream := false
|
|
output := String{}
|
|
|
|
dummyVerbose := true
|
|
o := NewOutputWriter(&output, stream, dummyVerbose)
|
|
|
|
c.Log(testLog)
|
|
o.WriteCallProblem(testLabel, c)
|
|
expected := fmt.Sprintf(""+
|
|
"\n"+
|
|
"----------------------------------------------------------------------\n"+
|
|
"%s: %s:\\d+: %s\n\n%s\n", testLabel, s.testFile, c.TestName(), testLog)
|
|
c.Assert(output.value, Matches, expected)
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallSuccessWithStreamFlag(c *C) {
|
|
testLabel := "test success label"
|
|
stream := true
|
|
output := String{}
|
|
|
|
dummyVerbose := true
|
|
o := NewOutputWriter(&output, stream, dummyVerbose)
|
|
|
|
o.WriteCallSuccess(testLabel, c)
|
|
expected := fmt.Sprintf("%s: %s:\\d+: %s\t\\d\\.\\d+s\n\n", testLabel, s.testFile, c.TestName())
|
|
c.Assert(output.value, Matches, expected)
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallSuccessWithStreamFlagAndReason(c *C) {
|
|
testLabel := "test success label"
|
|
testReason := "test skip reason"
|
|
stream := true
|
|
output := String{}
|
|
|
|
dummyVerbose := true
|
|
o := NewOutputWriter(&output, stream, dummyVerbose)
|
|
c.FakeSkip(testReason)
|
|
|
|
o.WriteCallSuccess(testLabel, c)
|
|
expected := fmt.Sprintf("%s: %s:\\d+: %s \\(%s\\)\t\\d\\.\\d+s\n\n",
|
|
testLabel, s.testFile, c.TestName(), testReason)
|
|
c.Assert(output.value, Matches, expected)
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallSuccessWithoutStreamFlagWithVerboseFlag(c *C) {
|
|
testLabel := "test success label"
|
|
stream := false
|
|
verbose := true
|
|
output := String{}
|
|
|
|
o := NewOutputWriter(&output, stream, verbose)
|
|
|
|
o.WriteCallSuccess(testLabel, c)
|
|
expected := fmt.Sprintf("%s: %s:\\d+: %s\t\\d\\.\\d+s\n", testLabel, s.testFile, c.TestName())
|
|
c.Assert(output.value, Matches, expected)
|
|
}
|
|
|
|
func (s *reporterS) TestWriteCallSuccessWithoutStreamFlagWithoutVerboseFlag(c *C) {
|
|
testLabel := "test success label"
|
|
stream := false
|
|
verbose := false
|
|
output := String{}
|
|
|
|
o := NewOutputWriter(&output, stream, verbose)
|
|
|
|
o.WriteCallSuccess(testLabel, c)
|
|
c.Assert(output.value, Equals, "")
|
|
}
|