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