| 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, "") |
| } |