1package reporting 2 3import "fmt" 4 5type dot struct{ out *Printer } 6 7func (self *dot) BeginStory(story *StoryReport) {} 8 9func (self *dot) Enter(scope *ScopeReport) {} 10 11func (self *dot) Report(report *AssertionResult) { 12 if report.Error != nil { 13 fmt.Print(redColor) 14 self.out.Insert(dotError) 15 } else if report.Failure != "" { 16 fmt.Print(yellowColor) 17 self.out.Insert(dotFailure) 18 } else if report.Skipped { 19 fmt.Print(yellowColor) 20 self.out.Insert(dotSkip) 21 } else { 22 fmt.Print(greenColor) 23 self.out.Insert(dotSuccess) 24 } 25 fmt.Print(resetColor) 26} 27 28func (self *dot) Exit() {} 29 30func (self *dot) EndStory() {} 31 32func (self *dot) Write(content []byte) (written int, err error) { 33 return len(content), nil // no-op 34} 35 36func NewDotReporter(out *Printer) *dot { 37 self := new(dot) 38 self.out = out 39 return self 40} 41